Get rid of FancyLineEdit::validate

Use aggregation instead of inheritance for customization of validation.
Gets rid of a few additional classes.

Change-Id: Iaf8f12026c40a55bfde98b3786100f8ac431d750
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-04-28 14:49:56 +02:00
parent e8862cd21f
commit 3fc7222062
24 changed files with 148 additions and 373 deletions

View File

@@ -195,10 +195,12 @@ DetailsPage::DetailsPage(AddLibraryWizard *parent)
m_libraryDetailsWidget = new Ui::LibraryDetailsWidget();
m_libraryDetailsWidget->setupUi(this);
Utils::PathChooser * const libPathChooser = m_libraryDetailsWidget->libraryPathChooser;
const auto pathValidator = [libPathChooser](const QString &path, QString *errorMessage) {
return validateLibraryPath(path, libPathChooser, errorMessage);
const auto pathValidator = [libPathChooser](Utils::FancyLineEdit *edit, QString *errorMessage) {
return libPathChooser->defaultValidationFunction()(edit, errorMessage)
&& validateLibraryPath(libPathChooser->fileName().toString(), libPathChooser,
errorMessage);
};
libPathChooser->setAdditionalPathValidator(pathValidator);
libPathChooser->setValidationFunction(pathValidator);
setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));
}