From a8cad01887db3612f829de5518d4a57ade45094a Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 11 Mar 2022 13:20:57 +0100 Subject: [PATCH] Editor: make sure to update marker on annotation change Ensures an update for the markers editor widget after any of the information displayed in the annotation has changed Change-Id: I845e05f5103ee1615cfc3d7760cdfc2bbf510f32 Reviewed-by: Christian Stenger --- src/plugins/clangcodemodel/clangdiagnosticmanager.cpp | 1 - src/plugins/clangtools/diagnosticmark.cpp | 1 - src/plugins/debugger/debuggerengine.cpp | 1 - src/plugins/texteditor/textmark.cpp | 9 +++++++++ src/plugins/texteditor/textmark.h | 3 +-- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp b/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp index 5ba64e95773..db7e279af81 100644 --- a/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp +++ b/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp @@ -392,7 +392,6 @@ void ClangDiagnosticManager::invalidateDiagnostics() for (ClangTextMark *textMark : m_clangTextMarks) { textMark->setColor(::Utils::Theme::Color::IconsDisabledColor); textMark->updateIcon(/*valid=*/ false); - textMark->updateMarker(); } } diff --git a/src/plugins/clangtools/diagnosticmark.cpp b/src/plugins/clangtools/diagnosticmark.cpp index 0e29a1c7313..632781c7127 100644 --- a/src/plugins/clangtools/diagnosticmark.cpp +++ b/src/plugins/clangtools/diagnosticmark.cpp @@ -89,7 +89,6 @@ void DiagnosticMark::disable() else setIcon(Utils::Icons::CODEMODEL_DISABLED_WARNING.icon()); setColor(Utils::Theme::Color::IconsDisabledColor); - updateMarker(); } bool DiagnosticMark::enabled() const diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 058c0a3f7ce..a8c251789be 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -185,7 +185,6 @@ void LocationMark::updateIcon() if (m_engine && EngineManager::currentEngine() == m_engine) icon = m_engine->isReverseDebugging() ? &Icons::REVERSE_LOCATION : &Icons::LOCATION; setIcon(icon->icon()); - updateMarker(); } bool LocationMark::isDraggable() const diff --git a/src/plugins/texteditor/textmark.cpp b/src/plugins/texteditor/textmark.cpp index 43aaf3e54b5..d2b101ec2dc 100644 --- a/src/plugins/texteditor/textmark.cpp +++ b/src/plugins/texteditor/textmark.cpp @@ -348,11 +348,13 @@ void TextMark::setIcon(const QIcon &icon) { m_icon = icon; m_iconProvider = std::function(); + updateMarker(); } void TextMark::setIconProvider(const std::function &iconProvider) { m_iconProvider = iconProvider; + updateMarker(); } const QIcon TextMark::icon() const @@ -368,6 +370,13 @@ Utils::optional TextMark::color() const void TextMark::setColor(const Theme::Color &color) { m_color = color; + updateMarker(); +} + +void TextMark::setLineAnnotation(const QString &lineAnnotation) +{ + m_lineAnnotation = lineAnnotation; + updateMarker(); } void TextMark::setToolTipProvider(const std::function &toolTipProvider) diff --git a/src/plugins/texteditor/textmark.h b/src/plugins/texteditor/textmark.h index fe999755e3c..0eb47b524ad 100644 --- a/src/plugins/texteditor/textmark.h +++ b/src/plugins/texteditor/textmark.h @@ -102,7 +102,6 @@ public: void setIcon(const QIcon &icon); void setIconProvider(const std::function &iconProvider); const QIcon icon() const; - // call this if the icon has changed. void updateMarker(); Priority priority() const { return m_priority;} void setPriority(Priority prioriy); @@ -122,7 +121,7 @@ public: void setBaseTextDocument(TextDocument *baseTextDocument) { m_baseTextDocument = baseTextDocument; } QString lineAnnotation() const { return m_lineAnnotation; } - void setLineAnnotation(const QString &lineAnnotation) { m_lineAnnotation = lineAnnotation; } + void setLineAnnotation(const QString &lineAnnotation); QString toolTip() const; void setToolTip(const QString &toolTip);