aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/classnamevalidatinglineedit.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-04-28 14:49:56 +0200
committerEike Ziller <eike.ziller@theqtcompany.com>2015-05-06 15:47:27 +0000
commit3fc72220626da58b1174da4b6a61e45da9871158 (patch)
tree2272d81cda375f6cd22ed81300a4259dc7b1cd76 /src/libs/utils/classnamevalidatinglineedit.cpp
parente8862cd21f94259f22b87b5d5eb8a0a60cd511f8 (diff)
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>
Diffstat (limited to 'src/libs/utils/classnamevalidatinglineedit.cpp')
-rw-r--r--src/libs/utils/classnamevalidatinglineedit.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/utils/classnamevalidatinglineedit.cpp b/src/libs/utils/classnamevalidatinglineedit.cpp
index ef3869300e..9a85fd0022 100644
--- a/src/libs/utils/classnamevalidatinglineedit.cpp
+++ b/src/libs/utils/classnamevalidatinglineedit.cpp
@@ -69,6 +69,9 @@ ClassNameValidatingLineEdit::ClassNameValidatingLineEdit(QWidget *parent) :
FancyLineEdit(parent),
d(new ClassNameValidatingLineEditPrivate)
{
+ setValidationFunction([this](FancyLineEdit *edit, QString *errorMessage) {
+ return validateClassName(edit, errorMessage);
+ });
updateRegExp();
}
@@ -104,10 +107,11 @@ void ClassNameValidatingLineEdit::setNamespaceDelimiter(const QString &delimiter
d->m_namespaceDelimiter = delimiter;
}
-bool ClassNameValidatingLineEdit::validate(const QString &value, QString *errorMessage) const
+bool ClassNameValidatingLineEdit::validateClassName(FancyLineEdit *edit, QString *errorMessage) const
{
QTC_ASSERT(d->m_nameRegexp.isValid(), return false);
+ const QString value = edit->text();
if (!d->m_namespacesEnabled && value.contains(d->m_namespaceDelimiter)) {
if (errorMessage)
*errorMessage = tr("The class name must not contain namespace delimiters.");