forked from qt-creator/qt-creator
EffectComposer: Check if effect name is duplicate before saving
Task-number: QDS-12280 Change-Id: I42532ef8330ae518073a559edf7a41de834d98c9 Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
@@ -50,11 +50,13 @@ StudioControls.Dialog {
|
|||||||
if (/[^A-Za-z0-9_]+/.test(text))
|
if (/[^A-Za-z0-9_]+/.test(text))
|
||||||
errMsg = qsTr("Name contains invalid characters.")
|
errMsg = qsTr("Name contains invalid characters.")
|
||||||
else if (!/^[A-Z]/.test(text))
|
else if (!/^[A-Z]/.test(text))
|
||||||
errMsg = qsTr("Name must start with a capital letter")
|
errMsg = qsTr("Name must start with a capital letter.")
|
||||||
else if (text.length < 3)
|
else if (text.length < 3)
|
||||||
errMsg = qsTr("Name must have at least 3 characters")
|
errMsg = qsTr("Name must have at least 3 characters.")
|
||||||
else if (/\s/.test(text))
|
else if (/\s/.test(text))
|
||||||
errMsg = qsTr("Name cannot contain white space")
|
errMsg = qsTr("Name cannot contain white space.")
|
||||||
|
else if (EffectComposerBackend.effectComposerModel.nameExists(text))
|
||||||
|
errMsg = qsTr("Name is already taken.")
|
||||||
|
|
||||||
emptyText.text = errMsg
|
emptyText.text = errMsg
|
||||||
btnSave.enabled = errMsg.length === 0
|
btnSave.enabled = errMsg.length === 0
|
||||||
|
|||||||
@@ -224,6 +224,14 @@ QString EffectComposerModel::getUniqueEffectName() const
|
|||||||
return QString("Effect%1").arg(num, 2, 10, QChar('0'));
|
return QString("Effect%1").arg(num, 2, 10, QChar('0'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool EffectComposerModel::nameExists(const QString &name) const
|
||||||
|
{
|
||||||
|
const QString effectsDir = QmlDesigner::ModelNodeOperations::getEffectsDefaultDirectory();
|
||||||
|
const QString path = effectsDir + QDir::separator() + "%1" + ".qep";
|
||||||
|
|
||||||
|
return QFile::exists(path.arg(name));
|
||||||
|
}
|
||||||
|
|
||||||
QString EffectComposerModel::fragmentShader() const
|
QString EffectComposerModel::fragmentShader() const
|
||||||
{
|
{
|
||||||
return m_fragmentShader;
|
return m_fragmentShader;
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ public:
|
|||||||
Q_INVOKABLE void clear(bool clearName = false);
|
Q_INVOKABLE void clear(bool clearName = false);
|
||||||
Q_INVOKABLE void assignToSelected();
|
Q_INVOKABLE void assignToSelected();
|
||||||
Q_INVOKABLE QString getUniqueEffectName() const;
|
Q_INVOKABLE QString getUniqueEffectName() const;
|
||||||
|
Q_INVOKABLE bool nameExists(const QString &name) const;
|
||||||
|
|
||||||
bool shadersUpToDate() const;
|
bool shadersUpToDate() const;
|
||||||
void setShadersUpToDate(bool newShadersUpToDate);
|
void setShadersUpToDate(bool newShadersUpToDate);
|
||||||
|
|||||||
Reference in New Issue
Block a user