diff options
Diffstat (limited to 'src/plugins/clangcodemodel/clangtextmark.cpp')
-rw-r--r-- | src/plugins/clangcodemodel/clangtextmark.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/plugins/clangcodemodel/clangtextmark.cpp b/src/plugins/clangcodemodel/clangtextmark.cpp index 1e53bce06e..b8d69a722e 100644 --- a/src/plugins/clangcodemodel/clangtextmark.cpp +++ b/src/plugins/clangcodemodel/clangtextmark.cpp @@ -78,23 +78,29 @@ ClangTextMark::ClangTextMark(const QString &fileName, : QApplication::translate("Clang Code Model Marks", "Code Model Error")); setPriority(warning ? TextEditor::TextMark::NormalPriority : TextEditor::TextMark::HighPriority); - setIcon(diagnostic.severity()); + updateIcon(); setLineAnnotation(diagnostic.text().toString()); } -void ClangTextMark::setIcon(ClangBackEnd::DiagnosticSeverity severity) +void ClangTextMark::updateIcon(bool valid) { - static const QIcon errorIcon = Utils::Icon({ - {QLatin1String(":/clangcodemodel/images/error.png"), Utils::Theme::IconsErrorColor} - }, Utils::Icon::Tint).icon(); - static const QIcon warningIcon = Utils::Icon({ - {QLatin1String(":/clangcodemodel/images/warning.png"), Utils::Theme::IconsWarningColor} - }, Utils::Icon::Tint).icon(); - - if (isWarningOrNote(severity)) - TextMark::setIcon(warningIcon); + static const QIcon errorIcon = Utils::Icon( + {{":/clangcodemodel/images/error.png", Utils::Theme::IconsErrorColor}}, + Utils::Icon::Tint).icon(); + static const QIcon warningIcon = Utils::Icon( + {{":/clangcodemodel/images/warning.png", Utils::Theme::IconsWarningColor}}, + Utils::Icon::Tint).icon(); + static const QIcon invalidErrorIcon = Utils::Icon( + {{":/clangcodemodel/images/error.png", Utils::Theme::IconsDisabledColor}}, + Utils::Icon::Tint).icon(); + static const QIcon invalidWarningIcon = Utils::Icon( + {{":/clangcodemodel/images/warning.png", Utils::Theme::IconsDisabledColor}}, + Utils::Icon::Tint).icon(); + + if (isWarningOrNote(m_diagnostic.severity())) + setIcon(valid ? warningIcon : invalidWarningIcon); else - TextMark::setIcon(errorIcon); + setIcon(valid ? errorIcon : invalidErrorIcon); } bool ClangTextMark::addToolTipContent(QLayout *target) const |