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

@@ -71,6 +71,10 @@ FileNameValidatingLineEdit::FileNameValidatingLineEdit(QWidget *parent) :
m_allowDirectories(false),
m_forceFirstCapitalLetter(false)
{
setValidationFunction([this](FancyLineEdit *edit, QString *errorMessage) {
return validateFileNameExtension(edit->text(), requiredExtensions(), errorMessage)
&& validateFileName(edit->text(), allowDirectories(), errorMessage);
});
}
bool FileNameValidatingLineEdit::allowDirectories() const
@@ -148,12 +152,6 @@ bool FileNameValidatingLineEdit::validateFileName(const QString &name,
return true;
}
bool FileNameValidatingLineEdit::validate(const QString &value, QString *errorMessage) const
{
return validateFileNameExtension(value, requiredExtensions(), errorMessage)
&& validateFileName(value, allowDirectories(), errorMessage);
}
QString FileNameValidatingLineEdit::fixInputString(const QString &string)
{
if (!forceFirstCapitalLetter())