Merge pull request #1630 from FallenValkyrie/allow_sticker_pack_removal
Allow sticker pack removal
2 files changed, 50 insertions, 9 deletions
diff --git a/resources/qml/dialogs/ImagePackDeleteDialog.qml b/resources/qml/dialogs/ImagePackDeleteDialog.qml
new file mode 100644
index 00000000..91407a9e
--- /dev/null
+++ b/resources/qml/dialogs/ImagePackDeleteDialog.qml
@@ -0,0 +1,23 @@
+// SPDX-FileCopyrightText: Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+import Qt.labs.platform 1.1 as P
+import QtQuick
+import im.nheko
+
+P.MessageDialog {
+ id: deleteStickerPackRoot
+
+ property SingleImagePackModel imagePack
+
+ text: qsTr("Are you sure you wish to delete the sticker pack '%1'?").arg(imagePack.packname)
+ modality: Qt.ApplicationModal
+ flags: Qt.Tool | Qt.WindowStaysOnTopHint | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
+ buttons: P.MessageDialog.Yes | P.MessageDialog.No
+
+ onAccepted: {
+ console.info("deleting image pack " + imagePack.packname);
+ imagePack.remove()
+ }
+}
diff --git a/resources/qml/dialogs/ImagePackSettingsDialog.qml b/resources/qml/dialogs/ImagePackSettingsDialog.qml
index 9f807e65..69068405 100644
--- a/resources/qml/dialogs/ImagePackSettingsDialog.qml
+++ b/resources/qml/dialogs/ImagePackSettingsDialog.qml
@@ -32,7 +32,11 @@ ApplicationWindow {
ImagePackEditorDialog {
}
+ }
+ Component {
+ id: packDeleteDialog
+ ImagePackDeleteDialog {}
}
AdaptiveLayout {
@@ -189,16 +193,30 @@ ApplicationWindow {
}
- Button {
+ RowLayout {
Layout.alignment: Qt.AlignHCenter
- text: qsTr("Edit")
- enabled: currentPack.canEdit
- onClicked: {
- var dialog = packEditor.createObject(timelineRoot, {
- "imagePack": currentPack
- });
- dialog.show();
- timelineRoot.destroyOnClose(dialog);
+
+ Button {
+ text: qsTr("Edit")
+ enabled: currentPack.canEdit
+ onClicked: {
+ var dialog = packEditor.createObject(timelineRoot, {
+ "imagePack": currentPack
+ });
+ dialog.show();
+ timelineRoot.destroyOnClose(dialog);
+ }
+ }
+ Button {
+ text: qsTr("Remove")
+ enabled: currentPack.canEdit
+ onClicked: {
+ var dialog = packDeleteDialog.createObject(timelineRoot, {
+ "imagePack": currentPack
+ });
+ dialog.open();
+ timelineRoot.destroyOnClose(dialog);
+ }
}
}
|