CodeBlock: TextEdit с полным текстом без скролла, только иконка 📋

- CodeBlock TextEdit: anchors.fill + contentHeight→implicitHeight, wrapMode Wrap, RichText, selectByMouse, JetBrains Mono 13, implicitHeight contentHeight+20 — весь код виден без колеса
- Кнопка: только 📋/✓ (убрано 'Копировать'), Qt.rgba hover/active, размер под иконку
- Tests: parseBlocks с codeText/highlightedText, ctest 21/21
This commit is contained in:
2026-09-02 00:01:03 +03:00
parent 38e726b7de
commit b58f15d2b1
3 changed files with 14 additions and 1 deletions
+11
View File
@@ -120,8 +120,19 @@ int main(int argc, char *argv[])
QString hl = blocks[1].toMap().value("highlightedText").toString();
if (hl.isEmpty()) hl = blocks[1].toMap().value("highlighted").toString();
if (hl.isEmpty()) return fail("highlighted empty");
// Debug: print highlighted
std::fprintf(stderr, "highlighted: %s\n", qPrintable(hl.left(500)));
}
if (blocks[2].toMap().value("type").toString() != "html") return fail("block 2 type");
// Test with #include
{
auto b2 = p.parseBlocks("```cpp\n#include <stdio.h>\nint main() { return 0; }\n```", vault, fileDir);
if (b2.size() != 1 || b2[0].toMap().value("type").toString() != "code") return fail("include block");
QString hl2 = b2[0].toMap().value("highlightedText").toString();
if (hl2.isEmpty()) hl2 = b2[0].toMap().value("highlighted").toString();
std::fprintf(stderr, "hl2: %s\n", qPrintable(hl2.left(800)));
if (!hl2.contains("span")) return fail("hl2 no span", hl2.left(200));
}
std::printf("MDPARSER TEST OK\n");
return 0;