diff --git a/plugins/qrscanner.py b/plugins/qrscanner.py index e8849ad37..d76742d91 100644 --- a/plugins/qrscanner.py +++ b/plugins/qrscanner.py @@ -168,14 +168,11 @@ class Plugin(BasePlugin): def read_raw_qr(self): qrcode = self.scan_qr() if qrcode: - tx_dict = self.gui.main_window.tx_dict_from_text(qrcode) - if tx_dict: - self.create_transaction_details_window(tx_dict) + tx = self.gui.main_window.tx_from_text(qrcode) + if tx: + self.create_transaction_details_window(tx) - - def create_transaction_details_window(self, tx_dict): - tx = Transaction(tx_dict["hex"]) - + def create_transaction_details_window(self, tx): dialog = QDialog(self.gui.main_window) dialog.setMinimumWidth(500) dialog.setWindowTitle(_('Process Offline transaction')) @@ -187,22 +184,28 @@ class Plugin(BasePlugin): l.addWidget(QLabel(_("Transaction status:")), 3,0) l.addWidget(QLabel(_("Actions")), 4,0) - if tx_dict["complete"] == False: + if tx.is_complete == False: l.addWidget(QLabel(_("Unsigned")), 3,1) if self.gui.main_window.wallet.seed : b = QPushButton("Sign transaction") - input_info = json.loads(tx_dict["input_info"]) - b.clicked.connect(lambda: self.sign_raw_transaction(tx, input_info, dialog)) + b.clicked.connect(lambda: self.sign_raw_transaction(tx, tx.inputs, dialog)) l.addWidget(b, 4, 1) else: l.addWidget(QLabel(_("Wallet is de-seeded, can't sign.")), 4,1) else: l.addWidget(QLabel(_("Signed")), 3,1) b = QPushButton("Broadcast transaction") - b.clicked.connect(lambda: self.gui.main_window.send_raw_transaction(tx, dialog)) + def broadcast(tx): + result, result_message = self.gui.main_window.wallet.sendtx( tx ) + if result: + self.gui.main_window.show_message(_("Transaction successfully sent:")+' %s' % (result_message)) + if dialog: + dialog.done(0) + else: + self.gui.main_window.show_message(_("There was a problem sending your transaction:") + '\n %s' % (result_message)) + b.clicked.connect(lambda: broadcast( tx )) l.addWidget(b,4,1) - l.addWidget( self.gui.main_window.generate_transaction_information_widget(tx), 0,0,2,3) closeButton = QPushButton(_("Close")) closeButton.clicked.connect(lambda: dialog.done(0)) l.addWidget(closeButton, 4,2)