summaryrefslogtreecommitdiff
path: root/src/plugins/clangcodemodel/clangtextmark.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-07-03 13:29:30 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-07-05 08:47:34 +0000
commit27479853584892585548b29eacea731252c274a8 (patch)
treea3e6f6793d52cf9b493b6ee81abaefe6d49222e2 /src/plugins/clangcodemodel/clangtextmark.cpp
parent1a16caf221da6586f429a164656d89509398c625 (diff)
downloadqt-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.cpp30
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