1
0

qml: include dialogs in back button navigation

This commit is contained in:
Sander van Grieken
2022-07-26 16:20:17 +02:00
parent 725c70bc4a
commit 3b9c009e43
13 changed files with 42 additions and 11 deletions

View File

@@ -157,6 +157,6 @@ Pane {
Component {
id: swapDialog
Swap {}
SwapDialog {}
}
}

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: dialog
width: parent.width
height: parent.height

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: dialog
required property QtObject finalizer

View File

@@ -5,7 +5,7 @@ import QtQuick.Controls.Material 2.0
import "controls"
Dialog {
ElDialog {
id: dialog
property string text

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: dialog
property Invoice invoice

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: dialog
required property string invoice_key

View File

@@ -3,7 +3,9 @@ import QtQuick.Layouts 1.0
import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.0
Dialog {
import "controls"
ElDialog {
id: dialog
title: qsTr("Message")

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: passworddialog
title: qsTr("Enter Password")

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: root
title: qsTr('PIN')
@@ -31,6 +31,8 @@ Dialog {
property bool canCancel: true
allowClose: canCancel
property string mode // [check, enter, change]
property string pincode // old one passed in when change, new one passed out

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: dialog
title: qsTr('Payment Request')

View File

@@ -7,7 +7,7 @@ import org.electrum 1.0
import "controls"
Dialog {
ElDialog {
id: root
width: parent.width

View File

@@ -0,0 +1,17 @@
import QtQuick 2.6
import QtQuick.Layouts 1.0
import QtQuick.Controls 2.3
Dialog {
id: abstractdialog
property bool allowClose: true
onOpenedChanged: {
if (opened) {
app.activeDialog = abstractdialog
} else {
app.activeDialog = null
}
}
}

View File

@@ -27,6 +27,8 @@ ApplicationWindow
property alias stack: mainStackView
property Dialog activeDialog: null
header: ToolBar {
id: toolbar
@@ -205,6 +207,14 @@ ApplicationWindow
}
onClosing: {
if (activeDialog) {
console.log('dialog on top')
if (activeDialog.allowClose) {
activeDialog.close()
}
close.accepted = false
return
}
if (stack.depth > 1) {
close.accepted = false
stack.pop()