diff --git a/src/libs/vtools/dialogs/tools/dialogarc.cpp b/src/libs/vtools/dialogs/tools/dialogarc.cpp index 363c47d92..a3f263ee9 100644 --- a/src/libs/vtools/dialogs/tools/dialogarc.cpp +++ b/src/libs/vtools/dialogs/tools/dialogarc.cpp @@ -48,6 +48,7 @@ #include "../vmisc/vcommonsettings.h" #include "ui_dialogarc.h" #include "../vgeometry/varc.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -356,9 +357,11 @@ void DialogArc::closeEvent(QCloseEvent *event) //--------------------------------------------------------------------------------------------------------------------- void DialogArc::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VArc arc; arc.SetAliasSuffix(GetAliasSuffix()); - if (not GetAliasSuffix().isEmpty() && not data->IsUnique(arc.GetAlias())) + if (not GetAliasSuffix().isEmpty() && + (not rx.match(arc.GetAlias()).hasMatch() || not data->IsUnique(arc.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogarcwithlength.cpp b/src/libs/vtools/dialogs/tools/dialogarcwithlength.cpp index 2709d6304..53889f68b 100644 --- a/src/libs/vtools/dialogs/tools/dialogarcwithlength.cpp +++ b/src/libs/vtools/dialogs/tools/dialogarcwithlength.cpp @@ -48,6 +48,7 @@ #include "../../visualization/visualization.h" #include "ui_dialogarcwithlength.h" #include "../vgeometry/varc.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- DialogArcWithLength::DialogArcWithLength(const VContainer *data, quint32 toolId, QWidget *parent) @@ -393,9 +394,11 @@ void DialogArcWithLength::closeEvent(QCloseEvent *event) //--------------------------------------------------------------------------------------------------------------------- void DialogArcWithLength::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VArc arc; arc.SetAliasSuffix(GetAliasSuffix()); - if (not GetAliasSuffix().isEmpty() && not data->IsUnique(arc.GetAlias())) + if (not GetAliasSuffix().isEmpty() && + (not rx.match(arc.GetAlias()).hasMatch() || not data->IsUnique(arc.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogcubicbezier.cpp b/src/libs/vtools/dialogs/tools/dialogcubicbezier.cpp index a1ae6a29d..0abe851dc 100644 --- a/src/libs/vtools/dialogs/tools/dialogcubicbezier.cpp +++ b/src/libs/vtools/dialogs/tools/dialogcubicbezier.cpp @@ -42,6 +42,7 @@ #include "../vpatterndb/vcontainer.h" #include "dialogtool.h" #include "ui_dialogcubicbezier.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- DialogCubicBezier::DialogCubicBezier(const VContainer *data, quint32 toolId, QWidget *parent) @@ -265,9 +266,11 @@ void DialogCubicBezier::SaveData() //--------------------------------------------------------------------------------------------------------------------- void DialogCubicBezier::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VCubicBezier spline = spl; spline.SetAliasSuffix(ui->lineEditAlias->text()); - if (not ui->lineEditAlias->text().isEmpty() && not data->IsUnique(spline.GetAlias())) + if (not ui->lineEditAlias->text().isEmpty() && + (not rx.match(spline.GetAlias()).hasMatch() || not data->IsUnique(spline.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogcubicbezierpath.cpp b/src/libs/vtools/dialogs/tools/dialogcubicbezierpath.cpp index 92831ef3b..6b10de924 100644 --- a/src/libs/vtools/dialogs/tools/dialogcubicbezierpath.cpp +++ b/src/libs/vtools/dialogs/tools/dialogcubicbezierpath.cpp @@ -54,6 +54,7 @@ #include "../vwidgets/vabstractmainwindow.h" #include "dialogtool.h" #include "ui_dialogcubicbezierpath.h" +#include "../qmuparser/qmudef.h" class QWidget; @@ -254,9 +255,11 @@ void DialogCubicBezierPath::currentPointChanged(int index) //--------------------------------------------------------------------------------------------------------------------- void DialogCubicBezierPath::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VCubicBezierPath tempPath = path; tempPath.SetAliasSuffix(ui->lineEditAlias->text()); - if (not ui->lineEditAlias->text().isEmpty() && not data->IsUnique(tempPath.GetAlias())) + if (not ui->lineEditAlias->text().isEmpty() && + (not rx.match(tempPath.GetAlias()).hasMatch() || not data->IsUnique(tempPath.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogcutarc.cpp b/src/libs/vtools/dialogs/tools/dialogcutarc.cpp index 24a24e356..41aa68a61 100644 --- a/src/libs/vtools/dialogs/tools/dialogcutarc.cpp +++ b/src/libs/vtools/dialogs/tools/dialogcutarc.cpp @@ -47,6 +47,7 @@ #include "../vmisc/vcommonsettings.h" #include "ui_dialogcutarc.h" #include "../vgeometry/varc.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -207,9 +208,11 @@ void DialogCutArc::ArcChanged() //--------------------------------------------------------------------------------------------------------------------- void DialogCutArc::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VArc arc1; arc1.SetAliasSuffix(GetAliasSuffix1()); - if (not GetAliasSuffix1().isEmpty() && not data->IsUnique(arc1.GetAlias())) + if (not GetAliasSuffix1().isEmpty() && + (not rx.match(arc1.GetAlias()).hasMatch() || not data->IsUnique(arc1.GetAlias()))) { flagAlias1 = false; ChangeColor(ui->labelAlias1, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogcutspline.cpp b/src/libs/vtools/dialogs/tools/dialogcutspline.cpp index 8d1d860c0..854caaf70 100644 --- a/src/libs/vtools/dialogs/tools/dialogcutspline.cpp +++ b/src/libs/vtools/dialogs/tools/dialogcutspline.cpp @@ -47,6 +47,7 @@ #include "../vmisc/vcommonsettings.h" #include "ui_dialogcutspline.h" #include "../vgeometry/vspline.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -214,9 +215,11 @@ void DialogCutSpline::SplineChanged() //--------------------------------------------------------------------------------------------------------------------- void DialogCutSpline::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VSpline spl1; spl1.SetAliasSuffix(GetAliasSuffix1()); - if (not GetAliasSuffix1().isEmpty() && not data->IsUnique(spl1.GetAlias())) + if (not GetAliasSuffix1().isEmpty() && + (not rx.match(spl1.GetAlias()).hasMatch() || not data->IsUnique(spl1.GetAlias()))) { flagAlias1 = false; ChangeColor(ui->labelAlias1, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogcutsplinepath.cpp b/src/libs/vtools/dialogs/tools/dialogcutsplinepath.cpp index dac741413..412caa5c7 100644 --- a/src/libs/vtools/dialogs/tools/dialogcutsplinepath.cpp +++ b/src/libs/vtools/dialogs/tools/dialogcutsplinepath.cpp @@ -47,6 +47,7 @@ #include "../vmisc/vcommonsettings.h" #include "ui_dialogcutsplinepath.h" #include "../vgeometry/vsplinepath.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -214,9 +215,11 @@ void DialogCutSplinePath::SplinePathChanged() //--------------------------------------------------------------------------------------------------------------------- void DialogCutSplinePath::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VSplinePath path1; path1.SetAliasSuffix(GetAliasSuffix1()); - if (not GetAliasSuffix1().isEmpty() && not data->IsUnique(path1.GetAlias())) + if (not GetAliasSuffix1().isEmpty() && + (not rx.match(path1.GetAlias()).hasMatch() || not data->IsUnique(path1.GetAlias()))) { flagAlias1 = false; ChangeColor(ui->labelAlias1, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogellipticalarc.cpp b/src/libs/vtools/dialogs/tools/dialogellipticalarc.cpp index 1d5766d95..058913369 100644 --- a/src/libs/vtools/dialogs/tools/dialogellipticalarc.cpp +++ b/src/libs/vtools/dialogs/tools/dialogellipticalarc.cpp @@ -48,6 +48,7 @@ #include "../vmisc/vcommonsettings.h" #include "ui_dialogellipticalarc.h" #include "../vgeometry/vellipticalarc.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -598,9 +599,11 @@ void DialogEllipticalArc::closeEvent(QCloseEvent *event) //--------------------------------------------------------------------------------------------------------------------- void DialogEllipticalArc::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VEllipticalArc arc; arc.SetAliasSuffix(GetAliasSuffix()); - if (not GetAliasSuffix().isEmpty() && not data->IsUnique(arc.GetAlias())) + if (not GetAliasSuffix().isEmpty() && + (not rx.match(arc.GetAlias()).hasMatch() || not data->IsUnique(arc.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogspline.cpp b/src/libs/vtools/dialogs/tools/dialogspline.cpp index 94cde26a4..9c8404846 100644 --- a/src/libs/vtools/dialogs/tools/dialogspline.cpp +++ b/src/libs/vtools/dialogs/tools/dialogspline.cpp @@ -56,6 +56,7 @@ #include "../vwidgets/vmaingraphicsscene.h" #include "ui_dialogspline.h" #include "vtranslatevars.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -437,9 +438,11 @@ void DialogSpline::EvalLength2() //--------------------------------------------------------------------------------------------------------------------- void DialogSpline::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VSpline spline = spl; spline.SetAliasSuffix(ui->lineEditAlias->text()); - if (not ui->lineEditAlias->text().isEmpty() && not data->IsUnique(spline.GetAlias())) + if (not ui->lineEditAlias->text().isEmpty() && + (not rx.match(spline.GetAlias()).hasMatch() || not data->IsUnique(spline.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor); diff --git a/src/libs/vtools/dialogs/tools/dialogsplinepath.cpp b/src/libs/vtools/dialogs/tools/dialogsplinepath.cpp index d628aaca6..b8637dddc 100644 --- a/src/libs/vtools/dialogs/tools/dialogsplinepath.cpp +++ b/src/libs/vtools/dialogs/tools/dialogsplinepath.cpp @@ -63,6 +63,7 @@ #include "../vwidgets/vmaingraphicsscene.h" #include "ui_dialogsplinepath.h" #include "vtranslatevars.h" +#include "../qmuparser/qmudef.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -498,9 +499,11 @@ void DialogSplinePath::FXLength2() //--------------------------------------------------------------------------------------------------------------------- void DialogSplinePath::ValidateAlias() { + QRegularExpression rx(NameRegExp()); VSplinePath tempPath = path; tempPath.SetAliasSuffix(ui->lineEditAlias->text()); - if (not ui->lineEditAlias->text().isEmpty() && not data->IsUnique(tempPath.GetAlias())) + if (not ui->lineEditAlias->text().isEmpty() && + (not rx.match(tempPath.GetAlias()).hasMatch() || not data->IsUnique(tempPath.GetAlias()))) { flagAlias = false; ChangeColor(ui->labelAlias, errorColor);