Get rid of FancyLineEdit::validate

Use aggregation instead of inheritance for customization of validation

Change-Id: I5a9703bad5bace78e8c3cc1e2c353a734001bd0a
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-04-28 14:50:47 +02:00
parent dca023a855
commit 1a122c2e25

View File

@@ -40,10 +40,11 @@ ClangStaticAnalyzerConfigWidget::ClangStaticAnalyzerConfigWidget(
chooser->setHistoryCompleter(QLatin1String("ClangStaticAnalyzer.ClangCommand.History"));
chooser->setPromptDialogTitle(tr("Clang Command"));
chooser->setPath(settings->clangExecutable());
const auto validator = [chooser](const QString &, QString *errorMessage) {
return isClangExecutableUsable(chooser->fileName().toString(), errorMessage);
const auto validator = [chooser](Utils::FancyLineEdit *edit, QString *errorMessage) {
return chooser->defaultValidationFunction()(edit, errorMessage)
&& isClangExecutableUsable(chooser->fileName().toString(), errorMessage);
};
chooser->setAdditionalPathValidator(validator);
chooser->setValidationFunction(validator);
connect(m_ui->clangExecutableChooser, &Utils::PathChooser::changed,
[settings](const QString &path) { settings->setClangExecutable(path); });