diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index 99fc95b5a..4f4147094 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -712,11 +712,9 @@ void DialogTool::NamePointChanged() if (edit) { QString name = edit->text(); - name.replace(" ", ""); - QRegExpValidator v(QRegExp(nameRegExp), this); - int pos = 0; + QRegularExpression rx(nameRegExp); if (name.isEmpty() || (pointName != name && data->IsUnique(name) == false) || - v.validate(name, pos) == QValidator::Invalid) + rx.match(name).hasMatch() == false) { flagName = false; ChangeColor(labelEditNamePoint, Qt::red); diff --git a/src/app/options.cpp b/src/app/options.cpp index d4703df93..16f666a5b 100644 --- a/src/app/options.cpp +++ b/src/app/options.cpp @@ -31,7 +31,7 @@ #include //Same regexp in pattern.xsd shema file. Don't forget synchronize. -const QString nameRegExp = QStringLiteral("^([^0-9-*/^+=\\s\\(\\)%:;!.,`'\"]){1,1}([^-*/^+=\\s\\(\\)%:;!.,`'\"]){0,}$"); +const QString nameRegExp = QStringLiteral("^([^0-9*/^+\\-=\\s()?%:;!.,`'\"]){1,1}([^*/^+\\-=\\s()?%:;!.,`'\"]){0,}$"); // From documantation: If you use QStringLiteral you should avoid declaring the same literal in multiple places: This // furthermore blows up the binary sizes. diff --git a/src/app/widgets/textdelegate.cpp b/src/app/widgets/textdelegate.cpp index 860175bb6..e9589e0d9 100644 --- a/src/app/widgets/textdelegate.cpp +++ b/src/app/widgets/textdelegate.cpp @@ -60,7 +60,7 @@ QWidget *TextDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem QLineEdit *editor = new QLineEdit(parent); editor->setLocale(parent->locale()); //Same regex pattern in xsd file - editor->setValidator( new QRegExpValidator(QRegExp(regex)) ); + editor->setValidator( new QRegularExpressionValidator(QRegularExpression(regex)) ); connect(editor, &QLineEdit::editingFinished, this, &TextDelegate::commitAndCloseEditor); return editor; } diff --git a/src/app/widgets/vtooloptionspropertybrowser.cpp b/src/app/widgets/vtooloptionspropertybrowser.cpp index 77e069795..89817d1bc 100644 --- a/src/app/widgets/vtooloptionspropertybrowser.cpp +++ b/src/app/widgets/vtooloptionspropertybrowser.cpp @@ -431,8 +431,8 @@ void VToolOptionsPropertyBrowser::SetPointName(const QString &name) return; } - QRegExp rx(nameRegExp); - if (name.isEmpty() || VContainer::IsUnique(name) == false || rx.exactMatch(name) == false) + QRegularExpression rx(nameRegExp); + if (name.isEmpty() || VContainer::IsUnique(name) == false || rx.match(name).hasMatch() == false) { idToProperty[VAbstractTool::AttrName]->setValue(i->name()); } diff --git a/src/libs/ifc/schema/pattern/v0.1.3.xsd b/src/libs/ifc/schema/pattern/v0.1.3.xsd index 093973f62..94319dc32 100644 --- a/src/libs/ifc/schema/pattern/v0.1.3.xsd +++ b/src/libs/ifc/schema/pattern/v0.1.3.xsd @@ -274,7 +274,7 @@ - +