1
0

qml: add option to open ReceiveDialog with existing request key

This commit is contained in:
Sander van Grieken
2023-02-24 14:47:28 +01:00
parent 3a90f35888
commit f12fe4af4d
3 changed files with 20 additions and 6 deletions

View File

@@ -13,6 +13,8 @@ ElDialog {
title: qsTr('Receive Payment')
property string key
property string _bolt11: request.bolt11
property string _bip21uri: request.bip21
property string _address: request.address
@@ -441,8 +443,12 @@ ElDialog {
}
Component.onCompleted: {
// callLater to make sure any popups are on top of the dialog stacking order
Qt.callLater(createDefaultRequest)
if (dialog.key) {
request.key = dialog.key
} else {
// callLater to make sure any popups are on top of the dialog stacking order
Qt.callLater(createDefaultRequest)
}
}
// hack. delay qr rendering until dialog is shown

View File

@@ -5,6 +5,8 @@ import QtQuick.Controls.Material 2.0
import QtQml.Models 2.1
import QtQml 2.6
import org.electrum 1.0
import "controls"
Pane {
@@ -35,10 +37,10 @@ Pane {
model: Daemon.currentWallet.requestModel
delegate: InvoiceDelegate {
onClicked: {
//var dialog = app.stack.getRoot().openInvoice(model.key)
// dialog.invoiceAmountChanged.connect(function () {
// Daemon.currentWallet.invoiceModel.init_model()
// })
// TODO: only open unpaid?
if (model.status == Invoice.Unpaid) {
app.stack.getRoot().openRequest(model.key)
}
}
}
}

View File

@@ -21,6 +21,12 @@ Item {
return dialog
}
function openRequest(key) {
var dialog = receiveDialog.createObject(app, { key: key })
dialog.open()
return dialog
}
function openSendDialog() {
_sendDialog = sendDialog.createObject(mainView, {invoiceParser: invoiceParser})
_sendDialog.open()