EffectMaker: Add 'assign to selected' feature

Fixes: QDS-11444
Change-Id: I17b5397b88eeccaae585e84d7ce62f4f80474f87
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
Mahmoud Badri
2023-12-13 15:54:57 +02:00
parent ff03588f7e
commit 434d0faaa0
7 changed files with 36 additions and 3 deletions

View File

@@ -9,6 +9,8 @@
#include "qmldesignerconstants.h"
#include <modelnodeoperations.h>
#include <coreplugin/icore.h>
namespace EffectMaker {
@@ -44,6 +46,15 @@ QmlDesigner::WidgetInfo EffectMakerView::widgetInfo()
if (m_widget.isNull()) {
m_widget = new EffectMakerWidget{this};
connect(m_widget->effectMakerModel(), &EffectMakerModel::assignToSelectedTriggered, this,
[&] (const QString &effectPath) {
executeInTransaction("EffectMakerView::widgetInfo", [&] {
const QList<QmlDesigner::ModelNode> selectedNodes = selectedModelNodes();
for (const QmlDesigner::ModelNode &node : selectedNodes)
QmlDesigner::ModelNodeOperations::handleItemLibraryEffectDrop(effectPath, node);
});
});
auto context = new EffectMakerContext(m_widget.data());
Core::ICore::addContextObject(context);
}
@@ -78,4 +89,3 @@ void EffectMakerView::modelAboutToBeDetached(QmlDesigner::Model *model)
}
} // namespace EffectMaker