Browse Source

qml: allow separate data for clipboard/share and QR code in GenericShareDialog

patch-4
Sander van Grieken 2 years ago
parent
commit
1e375ae9e1
  1. 4
      electrum/gui/qml/components/GenericShareDialog.qml
  2. 8
      electrum/gui/qml/components/Send.qml
  3. 8
      electrum/gui/qml/qetxfinalizer.py

4
electrum/gui/qml/components/GenericShareDialog.qml

@ -9,6 +9,8 @@ ElDialog {
id: dialog
property string text
property string text_qr
// if text_qr is undefined text will be used
title: ''
parent: Overlay.overlay
@ -97,6 +99,6 @@ ElDialog {
}
Component.onCompleted: {
qr.qrdata = dialog.text
qr.qrdata = dialog.text_qr ? dialog.text_qr : dialog.text
}
}

8
electrum/gui/qml/components/Send.qml

@ -18,9 +18,9 @@ Pane {
is_max.checked = false
}
function showUnsignedTx(tx) {
function showUnsignedTx(tx, qrtx) {
var dialog = app.genericShareDialog.createObject(rootItem,
{ title: qsTr('Raw Transaction'), text: tx }
{ title: qsTr('Raw Transaction'), text: tx, text_qr: qrtx }
)
dialog.open()
}
@ -187,7 +187,7 @@ Pane {
userEnteredPayment.clear()
rootItem.clear()
if (Daemon.currentWallet.isWatchOnly) {
showUnsignedTx(dialog.finalizer.serializedTx())
showUnsignedTx(dialog.finalizer.serializedTx(false), dialog.finalizer.serializedTx(true))
} else {
dialog.finalizer.send_onchain()
}
@ -300,7 +300,7 @@ Pane {
var wo = Daemon.currentWallet.isWatchOnly
dialog.txaccepted.connect(function() {
if (wo) {
showUnsignedTx(dialog.finalizer.serializedTx())
showUnsignedTx(dialog.finalizer.serializedTx(false), dialog.finalizer.serializedTx(true))
} else {
dialog.finalizer.send_onchain()
}

8
electrum/gui/qml/qetxfinalizer.py

@ -312,5 +312,9 @@ class QETxFinalizer(QObject):
self._wallet.sign(self._tx, broadcast=True)
@pyqtSlot(result=str)
def serializedTx(self):
return str(self._tx)
@pyqtSlot(bool, result=str)
def serializedTx(self, for_qr=False):
if for_qr:
return self._tx.to_qr_data()
else:
return str(self._tx)

Loading…
Cancel
Save