diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-07-03 13:29:30 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-07-05 08:47:34 +0000 |
commit | 27479853584892585548b29eacea731252c274a8 (patch) | |
tree | a3e6f6793d52cf9b493b6ee81abaefe6d49222e2 /src/plugins/clangcodemodel/clangtextmark.cpp | |
parent | 1a16caf221da6586f429a164656d89509398c625 (diff) | |
download | qt-creator-27479853584892585548b29eacea731252c274a8.tar.gz |
Clang: Gray out diagnostics on document change
When reparses take a while, this is helpful.
Change-Id: Ie2003a3d65b30d944d20fa19dd4161412182851c
Reviewed-by: David Schulz <david.schulz@qt.io>
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 |