diff --git a/electrum/gui/qml/components/GenericShareDialog.qml b/electrum/gui/qml/components/GenericShareDialog.qml index 81bf4e9a9..966bf815e 100644 --- a/electrum/gui/qml/components/GenericShareDialog.qml +++ b/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 } } diff --git a/electrum/gui/qml/components/Send.qml b/electrum/gui/qml/components/Send.qml index ace700649..ed4a35fec 100644 --- a/electrum/gui/qml/components/Send.qml +++ b/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() } diff --git a/electrum/gui/qml/qetxfinalizer.py b/electrum/gui/qml/qetxfinalizer.py index 0ef126c2b..61a46b7a4 100644 --- a/electrum/gui/qml/qetxfinalizer.py +++ b/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)