Utils: made NewClassWidget more extensible

1) Customizable namespaces delimiter

2) Header file and Source file inputs can be invisible

Changes required to use NewClassWidget for python class wizard, but also
can be used for C++ interface or template class wizards.

Old (abandonned) change is here:

https://codereview.qt-project.org/#change,29869

Change-Id: I980706963e60c3bd8e5863cc5682b97e1336bdba
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Sergey Shambir
2013-03-19 00:25:42 +04:00
parent 7043a7e01b
commit 948d8d7ba7
3 changed files with 64 additions and 10 deletions

View File

@@ -151,9 +151,9 @@ QString ClassNameValidatingLineEdit::fixInputString(const QString &string)
void ClassNameValidatingLineEdit::updateRegExp() const
{
QString identifierPatter(QLatin1String("[a-zA-Z_][a-zA-Z0-9_]*"));
QString pattern(QLatin1String("%1(%2%1)*"));
d->m_nameRegexp.setPattern(pattern.arg(identifierPatter).arg(d->m_namespaceDelimiter));
const QString pattern(QLatin1String("%1(%2%1)*"));
d->m_nameRegexp.setPattern(pattern.arg(QLatin1String("[a-zA-Z_][a-zA-Z0-9_]*"))
.arg(QRegExp::escape(d->m_namespaceDelimiter)));
}
QString ClassNameValidatingLineEdit::createClassName(const QString &name)