From 1d04d50c78669b3ee0df9440c6db8545da9c896b Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Thu, 19 Oct 2023 19:21:31 +0300 Subject: [PATCH] EffectMaker: Add save dialog Change-Id: Ic538e6c8c9d3ac19bd8726b95d93a9b1f292a437 Reviewed-by: Miikka Heikkinen --- .../effectMakerQmlSources/EffectMaker.qml | 8 +- .../EffectMakerTopBar.qml | 6 +- .../effectMakerQmlSources/SaveDialog.qml | 88 +++++++++++++++++++ 3 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 share/qtcreator/qmldesigner/effectMakerQmlSources/SaveDialog.qml diff --git a/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMaker.qml b/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMaker.qml index 49731b37130..56fcdcf5a30 100644 --- a/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMaker.qml +++ b/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMaker.qml @@ -15,13 +15,19 @@ Item { property int moveFromIdx: 0 property int moveToIdx: 0 + SaveDialog { + id: saveDialog + anchors.centerIn: parent + onAccepted: print("TODO: export and save effect files") + } + Column { id: col anchors.fill: parent spacing: 1 EffectMakerTopBar { - + onSaveClicked: saveDialog.open() } EffectMakerPreview { diff --git a/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMakerTopBar.qml b/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMakerTopBar.qml index eb5463f3bdf..c8758ff2ebb 100644 --- a/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMakerTopBar.qml +++ b/share/qtcreator/qmldesigner/effectMakerQmlSources/EffectMakerTopBar.qml @@ -15,15 +15,15 @@ Rectangle { height: StudioTheme.Values.toolbarHeight color: StudioTheme.Values.themeToolbarBackground + signal saveClicked + HelperWidgets.Button { anchors.verticalCenter: parent.verticalCenter x: 5 text: qsTr("Save in Library") - onClicked: { - // TODO - } + onClicked: root.saveClicked() } HelperWidgets.AbstractButton { diff --git a/share/qtcreator/qmldesigner/effectMakerQmlSources/SaveDialog.qml b/share/qtcreator/qmldesigner/effectMakerQmlSources/SaveDialog.qml new file mode 100644 index 00000000000..309dd433395 --- /dev/null +++ b/share/qtcreator/qmldesigner/effectMakerQmlSources/SaveDialog.qml @@ -0,0 +1,88 @@ +// Copyright (C) 2023 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 AssetsLibraryBackend + +StudioControls.Dialog { + id: root + + title: qsTr("Save Effect") + + closePolicy: Popup.CloseOnEscape + modal: true + implicitWidth: 250 + + onOpened: { + nameText.text = "" + emptyText.opacity = 0 + nameText.forceActiveFocus() + } + + HelperWidgets.RegExpValidator { + id: validator + regExp: /^(\w[^*/>