diff options
author | Eike Ziller <eike.ziller@qt.io> | 2023-04-19 11:03:58 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2023-04-19 11:48:15 +0000 |
commit | a353e9fde19ae0862ed95aeb71654da57f24fcac (patch) | |
tree | be3981ab3b7360baec0a9c7df0cf84e7fb8b1b4b /src/plugins/coreplugin/mainwindow.cpp | |
parent | 8175f96e5045d881bab299690ce780eed63d7528 (diff) | |
download | qt-creator-a353e9fde19ae0862ed95aeb71654da57f24fcac.tar.gz |
Markdown: Reuse Markdown highlighter from change log viewer
Change-Id: Ief1b0c135a34bfd5e9b5220e9fbf93f281d8e95a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/coreplugin/mainwindow.cpp')
-rw-r--r-- | src/plugins/coreplugin/mainwindow.cpp | 64 |
1 files changed, 1 insertions, 63 deletions
diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 168fff9220..2d7ec70c8e 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -1384,67 +1384,6 @@ public: } }; -class MarkdownHighlighter : public QSyntaxHighlighter -{ - QBrush h2Brush; -public: - MarkdownHighlighter(QTextDocument *parent) - : QSyntaxHighlighter(parent) - , h2Brush(Qt::NoBrush) - { - parent->setIndentWidth(30); // default value is 40 - } - - void highlightBlock(const QString &text) - { - if (text.isEmpty()) - return; - - QTextBlockFormat fmt = currentBlock().blockFormat(); - QTextCursor cur(currentBlock()); - if (fmt.hasProperty(QTextFormat::HeadingLevel)) { - fmt.setTopMargin(10); - fmt.setBottomMargin(10); - - // Draw an underline for Heading 2, by creating a texture brush - // with the last pixel visible - if (fmt.property(QTextFormat::HeadingLevel) == 2) { - QTextCharFormat charFmt = currentBlock().charFormat(); - charFmt.setBaselineOffset(15); - setFormat(0, text.length(), charFmt); - - if (h2Brush.style() == Qt::NoBrush) { - const int height = QFontMetrics(charFmt.font()).height(); - QImage image(1, height, QImage::Format_ARGB32); - - image.fill(QColor(0, 0, 0, 0).rgba()); - image.setPixel(0, - height - 1, - Utils::creatorTheme()->color(Theme::TextColorDisabled).rgba()); - - h2Brush = QBrush(image); - } - fmt.setBackground(h2Brush); - } - cur.setBlockFormat(fmt); - } else if (fmt.hasProperty(QTextFormat::BlockCodeLanguage) && fmt.indent() == 0) { - // set identation for code blocks - fmt.setIndent(1); - cur.setBlockFormat(fmt); - } - - // Show the bulet points as filled circles - QTextList *list = cur.currentList(); - if (list) { - QTextListFormat listFmt = list->format(); - if (listFmt.indent() == 1 && listFmt.style() == QTextListFormat::ListCircle) { - listFmt.setStyle(QTextListFormat::ListDisc); - list->setFormat(listFmt); - } - } - } -}; - void MainWindow::changeLog() { static QPointer<LogDialog> dialog; @@ -1484,8 +1423,7 @@ void MainWindow::changeLog() aggregate->add(textEdit); aggregate->add(new Core::BaseTextFind(textEdit)); - auto highlighter = new MarkdownHighlighter(textEdit->document()); - (void)highlighter; + new MarkdownHighlighter(textEdit->document()); auto textEditWidget = new QFrame; textEditWidget->setFrameStyle(QFrame::NoFrame); |