CppTools: Provide hint to copy clang diagnostic config

If a built-in/read-only configuration is selected, show a hint that it
needs to be copied to make customizations.

Change-Id: I62fc51b7548ec7cd6a156a0be84d9dcb41849ee7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Nikolai Kosjar
2018-02-12 11:34:38 +01:00
committed by Ivan Donchevskii
parent e7a71672be
commit 936d639403
2 changed files with 17 additions and 12 deletions

View File

@@ -257,6 +257,12 @@ void ClangDiagnosticConfigsWidget::syncOtherWidgetsToComboBox()
setDiagnosticOptions(options);
m_clangBaseChecks->diagnosticOptionsTextEdit->setReadOnly(config.isReadOnly());
if (config.isReadOnly()) {
m_ui->infoIcon->setPixmap(Utils::Icons::INFO.pixmap());
m_ui->infoLabel->setText(tr("Copy this configuration to customize it."));
m_ui->infoLabel->setStyleSheet(QString());
}
syncClangTidyWidgets(config);
syncClazyWidgets(config);
}
@@ -326,14 +332,13 @@ void ClangDiagnosticConfigsWidget::setDiagnosticOptions(const QString &options)
{
if (options != m_clangBaseChecks->diagnosticOptionsTextEdit->document()->toPlainText()) {
disconnectDiagnosticOptionsChanged();
m_clangBaseChecks->diagnosticOptionsTextEdit->document()->setPlainText(options);
const QString errorMessage
= validateDiagnosticOptions(normalizeDiagnosticInputOptions(options));
updateValidityWidgets(errorMessage);
connectDiagnosticOptionsChanged();
}
const QString errorMessage
= validateDiagnosticOptions(normalizeDiagnosticInputOptions(options));
updateValidityWidgets(errorMessage);
}
void ClangDiagnosticConfigsWidget::updateValidityWidgets(const QString &errorMessage)
@@ -350,9 +355,9 @@ void ClangDiagnosticConfigsWidget::updateValidityWidgets(const QString &errorMes
styleSheet = "color: red;";
}
m_ui->validationResultIcon->setPixmap(icon->pixmap());
m_ui->validationResultLabel->setText(validationResult);
m_ui->validationResultLabel->setStyleSheet(styleSheet);
m_ui->infoIcon->setPixmap(icon->pixmap());
m_ui->infoLabel->setText(validationResult);
m_ui->infoLabel->setStyleSheet(styleSheet);
}
void ClangDiagnosticConfigsWidget::connectClangTidyItemChanged()

View File

@@ -47,16 +47,16 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="validationResultIcon">
<widget class="QLabel" name="infoIcon">
<property name="text">
<string>ValidationIcon</string>
<string>InfoIcon</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="validationResultLabel">
<widget class="QLabel" name="infoLabel">
<property name="text">
<string>ValidationText</string>
<string>InfoText</string>
</property>
</widget>
</item>