summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin/mainwindow.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-04-19 11:03:58 +0200
committerEike Ziller <eike.ziller@qt.io>2023-04-19 11:48:15 +0000
commita353e9fde19ae0862ed95aeb71654da57f24fcac (patch)
treebe3981ab3b7360baec0a9c7df0cf84e7fb8b1b4b /src/plugins/coreplugin/mainwindow.cpp
parent8175f96e5045d881bab299690ce780eed63d7528 (diff)
downloadqt-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.cpp64
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);