EffectMaker: Don't clear effect name when clearing the nodes list

Change-Id: Ic805d72b2600db88dab9887552faa8aef19423d7
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
Mahmoud Badri
2024-01-17 19:36:03 +02:00
parent fe6d2aef37
commit 6bdaac3b20
3 changed files with 9 additions and 6 deletions

View File

@@ -65,12 +65,12 @@ Item {
EffectMakerTopBar {
onAddClicked: {
root.onSaveChangesCallback = () => { EffectMakerBackend.effectMakerModel.clear() }
root.onSaveChangesCallback = () => { EffectMakerBackend.effectMakerModel.clear(true) }
if (EffectMakerBackend.effectMakerModel.hasUnsavedChanges)
saveChangesDialog.open()
else
EffectMakerBackend.effectMakerModel.clear()
EffectMakerBackend.effectMakerModel.clear(true)
}
onSaveClicked: {

View File

@@ -192,14 +192,17 @@ void EffectMakerModel::removeNode(int idx)
emit nodesChanged();
}
void EffectMakerModel::clear()
void EffectMakerModel::clear(bool clearName)
{
beginResetModel();
qDeleteAll(m_nodes);
m_nodes.clear();
endResetModel();
if (clearName)
setCurrentComposition("");
setHasUnsavedChanges(!m_currentComposition.isEmpty());
setCurrentComposition("");
setIsEmpty(true);
emit nodesChanged();
@@ -683,7 +686,7 @@ void EffectMakerModel::saveComposition(const QString &name)
void EffectMakerModel::openComposition(const QString &path)
{
clear();
clear(true);
const QString effectName = QFileInfo(path).baseName();
setCurrentComposition(effectName);

View File

@@ -66,7 +66,7 @@ public:
Q_INVOKABLE void moveNode(int fromIdx, int toIdx);
Q_INVOKABLE void removeNode(int idx);
Q_INVOKABLE void clear();
Q_INVOKABLE void clear(bool clearName = false);
Q_INVOKABLE void assignToSelected();
Q_INVOKABLE QString getUniqueEffectName() const;