aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2024-02-12 17:06:34 +0200
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2024-02-12 15:52:34 +0000
commite66b19d4c4ac591bddfaee26b7ad283690cb9149 (patch)
tree4cb70c6564e248f88973fd7c151cb82a76bb87f6
parent93993c322e7f8b832e63cb131813d567a5352fdd (diff)
EffectComposer: Add confirmation dialog to clear all effect nodes
Fixes: QDS-11445 Change-Id: Iedd41e2799148c6d8f4eb3bca77dd5f1b7b053e6 Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
-rw-r--r--share/qtcreator/qmldesigner/effectComposerQmlSources/ConfirmClearAllDialog.qml47
-rw-r--r--share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml12
2 files changed, 58 insertions, 1 deletions
diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/ConfirmClearAllDialog.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/ConfirmClearAllDialog.qml
new file mode 100644
index 0000000000..146f7edef1
--- /dev/null
+++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/ConfirmClearAllDialog.qml
@@ -0,0 +1,47 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+import QtQuick
+import QtQuick.Controls
+import HelperWidgets as HelperWidgets
+import StudioControls as StudioControls
+import StudioTheme as StudioTheme
+import EffectComposerBackend
+
+StudioControls.Dialog {
+ id: root
+
+ title: qsTr("Confirm clear list")
+
+ closePolicy: Popup.CloseOnEscape
+ modal: true
+ implicitWidth: 270
+ implicitHeight: 150
+
+ contentItem: Item {
+ Text {
+ text: qsTr("You are about to clear the list of effect nodes.\n\nThis can not be undone.")
+ color: StudioTheme.Values.themeTextColor
+ }
+
+ Row {
+ anchors.right: parent.right
+ anchors.bottom: parent.bottom
+ spacing: 2
+
+ HelperWidgets.Button {
+ text: qsTr("Clear")
+ onClicked: {
+ EffectComposerBackend.effectComposerModel.clear()
+ root.accept()
+ }
+ }
+
+ HelperWidgets.Button {
+ anchors.bottom: parent.bottom
+ text: qsTr("Cancel")
+ onClicked: root.reject()
+ }
+ }
+ }
+}
diff --git a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml
index 95ab2c49bd..7b4d8d04cf 100644
--- a/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml
+++ b/share/qtcreator/qmldesigner/effectComposerQmlSources/EffectComposer.qml
@@ -65,6 +65,11 @@ ColumnLayout {
}
}
+ ConfirmClearAllDialog {
+ id: confirmClearAllDialog
+ anchors.centerIn: parent
+ }
+
EffectComposerTopBar {
Layout.fillWidth: true
@@ -157,7 +162,12 @@ ColumnLayout {
tooltip: qsTr("Remove all effect nodes.")
enabled: !root.backendModel.isEmpty
- onClicked: root.backendModel.clear()
+ onClicked: {
+ if (root.backendModel.hasUnsavedChanges)
+ confirmClearAllDialog.open()
+ else
+ root.backendModel.clear()
+ }
}
HelperWidgets.AbstractButton {