EffectComposer: Clear deleted effect if it is currently open

Fixes: QDS-11787
Change-Id: Iecd177a153e88a49476dbea0241c31726d05a6a8
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Miikka Heikkinen
2024-02-08 17:03:41 +02:00
parent c673e6aa20
commit 99f5b8a0af
2 changed files with 9 additions and 1 deletions

View File

@@ -69,9 +69,15 @@ void EffectComposerView::customNotification([[maybe_unused]] const AbstractView
[[maybe_unused]] const QList<QmlDesigner::ModelNode> &nodeList,
const QList<QVariant> &data)
{
if (identifier == "open_effectcomposer_composition" && data.count() > 0) {
if (data.size() < 1)
return;
if (identifier == "open_effectcomposer_composition") {
const QString compositionPath = data[0].toString();
m_widget->openComposition(compositionPath);
} else if (identifier == "effectcomposer_effects_deleted") {
if (data[0].toStringList().contains(m_widget->effectComposerModel()->currentComposition()))
m_widget->effectComposerModel()->clear(true);
}
}

View File

@@ -334,6 +334,8 @@ void AssetsLibraryWidget::handleDeleteEffects(const QStringList &effectNames)
// contain only unworkable states.
if (clearStacks)
document->clearUndoRedoStacks();
m_assetsView->emitCustomNotification("effectcomposer_effects_deleted", {}, {effectNames});
}
void AssetsLibraryWidget::invalidateThumbnail(const QString &id)