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:
Shrief Gabr
2024-04-02 13:13:53 +03:00
parent a60ae6a32c
commit 1376139ec6
3 changed files with 14 additions and 3 deletions

View File

@@ -224,6 +224,14 @@ QString EffectComposerModel::getUniqueEffectName() const
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
{
return m_fragmentShader;

View File

@@ -71,6 +71,7 @@ public:
Q_INVOKABLE void clear(bool clearName = false);
Q_INVOKABLE void assignToSelected();
Q_INVOKABLE QString getUniqueEffectName() const;
Q_INVOKABLE bool nameExists(const QString &name) const;
bool shadersUpToDate() const;
void setShadersUpToDate(bool newShadersUpToDate);