commit 18bcf5b206664e3a9d2392ba54c349423eb9456b
parent c5047d4168c6cbd498f7bf557447251ac787ac56
Author: Maran <maran.hidskes@gmail.com>
Date: Sun, 10 Mar 2013 12:52:39 +0100
Add 'create transaction' from deseeded wallet to Lite gui
Diffstat:
1 file changed, 31 insertions(+), 18 deletions(-)
diff --git a/gui/gui_lite.py b/gui/gui_lite.py
@@ -17,6 +17,7 @@ from electrum.bitcoin import is_valid
from i18n import _
import decimal
import exchange_rate
+import json
import os.path
import random
import re
@@ -293,7 +294,11 @@ class MiniWindow(QDialog):
self.amount_input.setAttribute(Qt.WA_MacShowFocusRect, 0)
self.amount_input.textChanged.connect(self.amount_input_changed)
- self.send_button = QPushButton(_("&Send"))
+ if self.actuator.wallet.seed:
+ self.send_button = QPushButton(_("&Send"))
+ else:
+ self.send_button = QPushButton(_("&Create"))
+
self.send_button.setObjectName("send_button")
self.send_button.setDisabled(True);
self.send_button.clicked.connect(self.send)
@@ -856,24 +861,32 @@ class MiniActuator:
QMessageBox.warning(parent_window, _('Error'), str(error), _('OK'))
return False
- h = self.wallet.send_tx(tx)
-
- self.waiting_dialog(lambda: False if self.wallet.tx_event.isSet() else _("Sending transaction, please wait..."))
+ if tx.is_complete:
+ h = self.wallet.send_tx(tx)
+
+ self.waiting_dialog(lambda: False if self.wallet.tx_event.isSet() else _("Sending transaction, please wait..."))
+
+ status, message = self.wallet.receive_tx(h)
+
+ if not status:
+ import tempfile
+ dumpf = tempfile.NamedTemporaryFile(delete=False)
+ dumpf.write(tx)
+ dumpf.close()
+ print "Dumped error tx to", dumpf.name
+ QMessageBox.warning(parent_window, _('Error'), message, _('OK'))
+ return False
- status, message = self.wallet.receive_tx(h)
-
- if not status:
- import tempfile
- dumpf = tempfile.NamedTemporaryFile(delete=False)
- dumpf.write(tx)
- dumpf.close()
- print "Dumped error tx to", dumpf.name
- QMessageBox.warning(parent_window, _('Error'), message, _('OK'))
- return False
-
- TransactionWindow(message, self)
-# QMessageBox.information(parent_window, '',
-# _('Your transaction has been sent.') + '\n' + message, _('OK'))
+ TransactionWindow(message, self)
+ else:
+ filename = 'unsigned_tx_%s' % (time.mktime(time.gmtime()))
+ try:
+ fileName = QFileDialog.getSaveFileName(QWidget(), _("Select a transaction filename"), os.path.expanduser('~/%s' % (filename)))
+ with open(fileName,'w') as f:
+ f.write(json.dumps(tx.as_dict(),indent=4) + '\n')
+ QMessageBox.information(QWidget(), _('Unsigned transaction created'), _("Unsigned transaction was saved to file:") + " " +fileName, _('OK'))
+ except BaseException as e:
+ QMessageBox.warning(QWidget(), _('Error'), _('Could not write transaction to file: %s' % e), _('OK'))
return True
def fetch_destination(self, address):