From d8561ccb2d2b9e4565b4978498d0b439adeda94a Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Thu, 14 Dec 2023 16:04:07 +0100 Subject: [PATCH] SyntaxHighlighter: Fix tst_highlighter Change-Id: I96c6c7b9843384d14bfa37b6bfdd494c881949af Reviewed-by: David Schulz --- src/plugins/texteditor/syntaxhighlighterrunner.cpp | 11 +++++++---- src/plugins/texteditor/syntaxhighlighterrunner.h | 7 ++++++- tests/auto/texteditor/highlighter/tst_highlighter.cpp | 6 ++---- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/plugins/texteditor/syntaxhighlighterrunner.cpp b/src/plugins/texteditor/syntaxhighlighterrunner.cpp index 4001096b368..3367cbdbf1a 100644 --- a/src/plugins/texteditor/syntaxhighlighterrunner.cpp +++ b/src/plugins/texteditor/syntaxhighlighterrunner.cpp @@ -28,9 +28,10 @@ public: } SyntaxHighlighterRunnerPrivate(BaseSyntaxHighlighterRunner::SyntaxHighLighterCreator creator, - QTextDocument *document) + QTextDocument *document, FontSettings fontSettings) : m_creator(creator) , m_document(document) + , m_fontSettings(fontSettings) { m_highlighter.reset(m_creator()); createHighlighter(); @@ -109,14 +110,16 @@ private: BaseSyntaxHighlighterRunner::SyntaxHighLighterCreator m_creator; std::unique_ptr m_highlighter; QTextDocument *m_document = nullptr; - const FontSettings m_fontSettings = TextEditorSettings::fontSettings(); + FontSettings m_fontSettings; }; // ----------------------------- BaseSyntaxHighlighterRunner -------------------------------------- BaseSyntaxHighlighterRunner::BaseSyntaxHighlighterRunner( - BaseSyntaxHighlighterRunner::SyntaxHighLighterCreator creator, QTextDocument *document) - : d(new SyntaxHighlighterRunnerPrivate(creator, document)) + BaseSyntaxHighlighterRunner::SyntaxHighLighterCreator creator, + QTextDocument *document, + const TextEditor::FontSettings &fontSettings) + : d(new SyntaxHighlighterRunnerPrivate(creator, document, fontSettings)) { m_document = document; } diff --git a/src/plugins/texteditor/syntaxhighlighterrunner.h b/src/plugins/texteditor/syntaxhighlighterrunner.h index de2d8b5e423..d4fead53e6a 100644 --- a/src/plugins/texteditor/syntaxhighlighterrunner.h +++ b/src/plugins/texteditor/syntaxhighlighterrunner.h @@ -3,7 +3,9 @@ #pragma once +#include #include +#include #include @@ -28,7 +30,10 @@ public: QString text; }; - BaseSyntaxHighlighterRunner(SyntaxHighLighterCreator creator, QTextDocument *document); + BaseSyntaxHighlighterRunner(SyntaxHighLighterCreator creator, + QTextDocument *document, + const TextEditor::FontSettings &fontSettings + = TextEditorSettings::fontSettings()); virtual ~BaseSyntaxHighlighterRunner(); void setExtraFormats(const QMap> &formats); diff --git a/tests/auto/texteditor/highlighter/tst_highlighter.cpp b/tests/auto/texteditor/highlighter/tst_highlighter.cpp index f9060afae5b..a7ed427f5da 100644 --- a/tests/auto/texteditor/highlighter/tst_highlighter.cpp +++ b/tests/auto/texteditor/highlighter/tst_highlighter.cpp @@ -56,13 +56,11 @@ Second with spaces Last)"; - doc = new QTextDocument(); doc->setPlainText(text); - highlighterRunner - = new BaseSyntaxHighlighterRunner([this] { return new SyntaxHighlighter(doc, fontsettings); }, - doc); + highlighterRunner = new BaseSyntaxHighlighterRunner( + [this] { return new SyntaxHighlighter(doc, fontsettings); }, doc, fontsettings); } static const HighlightingResults &highlightingResults()