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 <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2022-03-11 13:20:57 +01:00
parent 851171f772
commit a8cad01887
5 changed files with 10 additions and 5 deletions

View File

@@ -392,7 +392,6 @@ void ClangDiagnosticManager::invalidateDiagnostics()
for (ClangTextMark *textMark : m_clangTextMarks) { for (ClangTextMark *textMark : m_clangTextMarks) {
textMark->setColor(::Utils::Theme::Color::IconsDisabledColor); textMark->setColor(::Utils::Theme::Color::IconsDisabledColor);
textMark->updateIcon(/*valid=*/ false); textMark->updateIcon(/*valid=*/ false);
textMark->updateMarker();
} }
} }

View File

@@ -89,7 +89,6 @@ void DiagnosticMark::disable()
else else
setIcon(Utils::Icons::CODEMODEL_DISABLED_WARNING.icon()); setIcon(Utils::Icons::CODEMODEL_DISABLED_WARNING.icon());
setColor(Utils::Theme::Color::IconsDisabledColor); setColor(Utils::Theme::Color::IconsDisabledColor);
updateMarker();
} }
bool DiagnosticMark::enabled() const bool DiagnosticMark::enabled() const

View File

@@ -185,7 +185,6 @@ void LocationMark::updateIcon()
if (m_engine && EngineManager::currentEngine() == m_engine) if (m_engine && EngineManager::currentEngine() == m_engine)
icon = m_engine->isReverseDebugging() ? &Icons::REVERSE_LOCATION : &Icons::LOCATION; icon = m_engine->isReverseDebugging() ? &Icons::REVERSE_LOCATION : &Icons::LOCATION;
setIcon(icon->icon()); setIcon(icon->icon());
updateMarker();
} }
bool LocationMark::isDraggable() const bool LocationMark::isDraggable() const

View File

@@ -348,11 +348,13 @@ void TextMark::setIcon(const QIcon &icon)
{ {
m_icon = icon; m_icon = icon;
m_iconProvider = std::function<QIcon()>(); m_iconProvider = std::function<QIcon()>();
updateMarker();
} }
void TextMark::setIconProvider(const std::function<QIcon ()> &iconProvider) void TextMark::setIconProvider(const std::function<QIcon ()> &iconProvider)
{ {
m_iconProvider = iconProvider; m_iconProvider = iconProvider;
updateMarker();
} }
const QIcon TextMark::icon() const const QIcon TextMark::icon() const
@@ -368,6 +370,13 @@ Utils::optional<Theme::Color> TextMark::color() const
void TextMark::setColor(const Theme::Color &color) void TextMark::setColor(const Theme::Color &color)
{ {
m_color = color; m_color = color;
updateMarker();
}
void TextMark::setLineAnnotation(const QString &lineAnnotation)
{
m_lineAnnotation = lineAnnotation;
updateMarker();
} }
void TextMark::setToolTipProvider(const std::function<QString()> &toolTipProvider) void TextMark::setToolTipProvider(const std::function<QString()> &toolTipProvider)

View File

@@ -102,7 +102,6 @@ public:
void setIcon(const QIcon &icon); void setIcon(const QIcon &icon);
void setIconProvider(const std::function<QIcon()> &iconProvider); void setIconProvider(const std::function<QIcon()> &iconProvider);
const QIcon icon() const; const QIcon icon() const;
// call this if the icon has changed.
void updateMarker(); void updateMarker();
Priority priority() const { return m_priority;} Priority priority() const { return m_priority;}
void setPriority(Priority prioriy); void setPriority(Priority prioriy);
@@ -122,7 +121,7 @@ public:
void setBaseTextDocument(TextDocument *baseTextDocument) { m_baseTextDocument = baseTextDocument; } void setBaseTextDocument(TextDocument *baseTextDocument) { m_baseTextDocument = baseTextDocument; }
QString lineAnnotation() const { return m_lineAnnotation; } QString lineAnnotation() const { return m_lineAnnotation; }
void setLineAnnotation(const QString &lineAnnotation) { m_lineAnnotation = lineAnnotation; } void setLineAnnotation(const QString &lineAnnotation);
QString toolTip() const; QString toolTip() const;
void setToolTip(const QString &toolTip); void setToolTip(const QString &toolTip);