qml: refactor all custom QRScan component wrappers to ScanDialog
(except SendDialog, which has a Paste button and slightly different behavior)
This commit is contained in:
@@ -80,15 +80,20 @@ ElDialog {
|
|||||||
icon.width: constants.iconSizeMedium
|
icon.width: constants.iconSizeMedium
|
||||||
scale: 1.2
|
scale: 1.2
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var scan = qrscan.createObject(root.contentItem) // can't use dialog as parent?
|
var dialog = app.scanDialog.createObject(app, {
|
||||||
scan.onFound.connect(function() {
|
hint: Daemon.currentWallet.isWatchOnly
|
||||||
if (verify(scan.scanData)) {
|
? qsTr('Scan another address')
|
||||||
|
: qsTr('Scan another private key')
|
||||||
|
})
|
||||||
|
dialog.onFound.connect(function() {
|
||||||
|
if (verify(dialog.scanData)) {
|
||||||
if (import_ta.text != '')
|
if (import_ta.text != '')
|
||||||
import_ta.text = import_ta.text + ',\n'
|
import_ta.text = import_ta.text + ',\n'
|
||||||
import_ta.text = import_ta.text + scan.scanData
|
import_ta.text = import_ta.text + dialog.scanData
|
||||||
}
|
}
|
||||||
scan.destroy()
|
dialog.close()
|
||||||
})
|
})
|
||||||
|
dialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -109,25 +114,6 @@ ElDialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component {
|
|
||||||
id: qrscan
|
|
||||||
QRScan {
|
|
||||||
width: parent.width
|
|
||||||
height: parent.height
|
|
||||||
|
|
||||||
ToolButton {
|
|
||||||
icon.source: '../../icons/closebutton.png'
|
|
||||||
icon.height: constants.iconSizeMedium
|
|
||||||
icon.width: constants.iconSizeMedium
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
onClicked: {
|
|
||||||
parent.destroy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Bitcoin {
|
Bitcoin {
|
||||||
id: bitcoin
|
id: bitcoin
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,11 +59,14 @@ ElDialog {
|
|||||||
icon.width: constants.iconSizeMedium
|
icon.width: constants.iconSizeMedium
|
||||||
scale: 1.2
|
scale: 1.2
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var scan = qrscan.createObject(root.contentItem)
|
var dialog = app.scanDialog.createObject(app, {
|
||||||
scan.onFound.connect(function() {
|
hint: qsTr('Scan a channel backup')
|
||||||
channelbackup_ta.text = scan.scanData
|
|
||||||
scan.destroy()
|
|
||||||
})
|
})
|
||||||
|
dialog.onFound.connect(function() {
|
||||||
|
channelbackup_ta.text = dialog.scanData
|
||||||
|
dialog.close()
|
||||||
|
})
|
||||||
|
dialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -92,23 +95,4 @@ ElDialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component {
|
|
||||||
id: qrscan
|
|
||||||
QRScan {
|
|
||||||
width: root.contentItem.width
|
|
||||||
height: root.contentItem.height
|
|
||||||
|
|
||||||
ToolButton {
|
|
||||||
icon.source: '../../icons/closebutton.png'
|
|
||||||
icon.height: constants.iconSizeMedium
|
|
||||||
icon.width: constants.iconSizeMedium
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
onClicked: {
|
|
||||||
parent.destroy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,14 +107,17 @@ ElDialog {
|
|||||||
icon.width: constants.iconSizeMedium
|
icon.width: constants.iconSizeMedium
|
||||||
scale: 1.2
|
scale: 1.2
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var page = app.stack.push(Qt.resolvedUrl('Scan.qml'))
|
var dialog = app.scanDialog.createObject(app, {
|
||||||
page.onFound.connect(function() {
|
hint: qsTr('Scan a channel connect string')
|
||||||
if (channelopener.validate_connect_str(page.scanData)) {
|
})
|
||||||
channelopener.connectStr = page.scanData
|
dialog.onFound.connect(function() {
|
||||||
|
if (channelopener.validate_connect_str(dialog.scanData)) {
|
||||||
|
channelopener.connectStr = dialog.scanData
|
||||||
node.text = channelopener.connectStr
|
node.text = channelopener.connectStr
|
||||||
}
|
}
|
||||||
app.stack.pop()
|
dialog.close()
|
||||||
})
|
})
|
||||||
|
dialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -260,4 +263,5 @@ ElDialog {
|
|||||||
root.close()
|
root.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ ElDialog {
|
|||||||
signal txFound(data: string)
|
signal txFound(data: string)
|
||||||
signal channelBackupFound(data: string)
|
signal channelBackupFound(data: string)
|
||||||
|
|
||||||
header: Item {}
|
header: null
|
||||||
padding: 0
|
padding: 0
|
||||||
topPadding: 0
|
topPadding: 0
|
||||||
|
|
||||||
@@ -39,9 +39,10 @@ ElDialog {
|
|||||||
|
|
||||||
QRScan {
|
QRScan {
|
||||||
id: qrscan
|
id: qrscan
|
||||||
Layout.preferredWidth: parent.width
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
|
|
||||||
|
hint: qsTr('Scan an Invoice, an Address, an LNURL-pay, a PSBT or a Channel backup')
|
||||||
onFound: dialog.dispatch(scanData)
|
onFound: dialog.dispatch(scanData)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,9 +79,10 @@ WizardComponent {
|
|||||||
icon.source: '../../../icons/share.png'
|
icon.source: '../../../icons/share.png'
|
||||||
icon.color: 'transparent'
|
icon.color: 'transparent'
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var dialog = app.genericShareDialog.createObject(app,
|
var dialog = app.genericShareDialog.createObject(app, {
|
||||||
{ title: qsTr('Master public key'), text: multisigMasterPubkey }
|
title: qsTr('Master public key'),
|
||||||
)
|
text: multisigMasterPubkey
|
||||||
|
})
|
||||||
dialog.open()
|
dialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -141,14 +142,19 @@ WizardComponent {
|
|||||||
icon.width: constants.iconSizeMedium
|
icon.width: constants.iconSizeMedium
|
||||||
scale: 1.2
|
scale: 1.2
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var scan = qrscan.createObject(root)
|
var dialog = app.scanDialog.createObject(app, {
|
||||||
scan.onFound.connect(function() {
|
hint: cosigner
|
||||||
if (verifyMasterKey(scan.scanData))
|
? qsTr('Scan a cosigner master public key')
|
||||||
masterkey_ta.text = scan.scanData
|
: qsTr('Scan a master key')
|
||||||
|
})
|
||||||
|
dialog.onFound.connect(function() {
|
||||||
|
if (verifyMasterKey(dialog.scanData))
|
||||||
|
masterkey_ta.text = dialog.scanData
|
||||||
else
|
else
|
||||||
masterkey_ta.text = ''
|
masterkey_ta.text = ''
|
||||||
scan.destroy()
|
dialog.close()
|
||||||
})
|
})
|
||||||
|
dialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -166,25 +172,6 @@ WizardComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component {
|
|
||||||
id: qrscan
|
|
||||||
QRScan {
|
|
||||||
width: root.width
|
|
||||||
height: root.height
|
|
||||||
|
|
||||||
ToolButton {
|
|
||||||
icon.source: '../../../icons/closebutton.png'
|
|
||||||
icon.height: constants.iconSizeMedium
|
|
||||||
icon.width: constants.iconSizeMedium
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
onClicked: {
|
|
||||||
parent.destroy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Bitcoin {
|
Bitcoin {
|
||||||
id: bitcoin
|
id: bitcoin
|
||||||
onValidationMessageChanged: validationtext.text = validationMessage
|
onValidationMessageChanged: validationtext.text = validationMessage
|
||||||
|
|||||||
@@ -62,40 +62,28 @@ WizardComponent {
|
|||||||
icon.width: constants.iconSizeMedium
|
icon.width: constants.iconSizeMedium
|
||||||
scale: 1.2
|
scale: 1.2
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var scan = qrscan.createObject(root)
|
var dialog = app.scanDialog.createObject(app, {
|
||||||
scan.onFound.connect(function() {
|
hint: bitcoin.isAddressList(import_ta.text)
|
||||||
if (verify(scan.scanData)) {
|
? qsTr('Scan another address')
|
||||||
|
: bitcoin.isPrivateKeyList(import_ta.text)
|
||||||
|
? qsTr('Scan another private key')
|
||||||
|
: qsTr('Scan a private key or an address')
|
||||||
|
})
|
||||||
|
dialog.onFound.connect(function() {
|
||||||
|
if (verify(dialog.scanData)) {
|
||||||
if (import_ta.text != '')
|
if (import_ta.text != '')
|
||||||
import_ta.text = import_ta.text + ',\n'
|
import_ta.text = import_ta.text + ',\n'
|
||||||
import_ta.text = import_ta.text + scan.scanData
|
import_ta.text = import_ta.text + dialog.scanData
|
||||||
}
|
}
|
||||||
scan.destroy()
|
dialog.close()
|
||||||
})
|
})
|
||||||
|
dialog.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component {
|
|
||||||
id: qrscan
|
|
||||||
QRScan {
|
|
||||||
width: root.width
|
|
||||||
height: root.height
|
|
||||||
|
|
||||||
ToolButton {
|
|
||||||
icon.source: '../../../icons/closebutton.png'
|
|
||||||
icon.height: constants.iconSizeMedium
|
|
||||||
icon.width: constants.iconSizeMedium
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
onClicked: {
|
|
||||||
parent.destroy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Bitcoin {
|
Bitcoin {
|
||||||
id: bitcoin
|
id: bitcoin
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user