commit 1f8e6d38c8dd36f3ed751e57586c81ebfb1387e0
parent a07a3f748e34abc5384b237d8cf2369ae35c36a7
Author: ThomasV <thomasv@electrum.org>
Date: Tue, 7 Jun 2016 10:14:19 +0200
qt: add tx preview button instead of option
Diffstat:
1 file changed, 10 insertions(+), 27 deletions(-)
diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
@@ -850,22 +850,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
if self.qr_window and self.qr_window.isVisible():
self.qr_window.set_content(addr, amount, message, uri)
- def show_before_broadcast(self):
- return self.config.get('show_before_broadcast', False)
-
- def set_show_before_broadcast(self, show):
- self.config.set_key('show_before_broadcast', bool(show))
- self.set_send_button_text()
-
- def set_send_button_text(self):
- if self.show_before_broadcast():
- text = _("Send...")
- elif self.wallet and self.wallet.is_watching_only():
- text = _("Send...")
- else:
- text = _("Send")
- self.send_button.setText(text)
-
def create_send_tab(self):
# A 4-column grid layout. All the stretch is in the last column.
# The exchange rate plugin adds a fiat widget in column 2
@@ -960,12 +944,15 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
grid.addWidget(self.fee_slider, 5, 1)
grid.addWidget(self.rbf_checkbox, 5, 2)
+ self.preview_button = EnterButton(_("Preview"), self.do_preview)
+ self.preview_button.setToolTip(_('Display the details of your transactions before signing it.'))
self.send_button = EnterButton(_("Send"), self.do_send)
self.clear_button = EnterButton(_("Clear"), self.do_clear)
buttons = QHBoxLayout()
buttons.addStretch(1)
- buttons.addWidget(self.send_button)
buttons.addWidget(self.clear_button)
+ buttons.addWidget(self.preview_button)
+ buttons.addWidget(self.send_button)
grid.addLayout(buttons, 6, 1, 1, 2)
self.amount_e.shortcut.connect(self.spend_max)
@@ -1175,8 +1162,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
coins = self.get_coins()
return outputs, fee, label, coins
+ def do_preview(self):
+ self.do_send(preview = True)
- def do_send(self):
+ def do_send(self, preview = False):
if run_hook('abort_send', self):
return
r = self.read_send_tab()
@@ -1202,9 +1191,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
self.show_error(_("This transaction requires a higher fee, or it will not be propagated by the network"))
return
- if self.show_before_broadcast():
+ if preview:
self.show_transaction(tx, tx_desc)
return
+
# confirmation dialog
confirm_amount = self.config.get('confirm_amount', COIN)
msg = [
@@ -1619,7 +1609,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
def update_buttons_on_seed(self):
self.seed_button.setVisible(self.wallet.has_seed())
self.password_button.setVisible(self.wallet.can_change_password())
- self.set_send_button_text()
+ self.send_button.setVisible(not self.wallet.is_watching_only())
def change_password_dialog(self):
from password_dialog import PasswordDialog, PW_CHANGE
@@ -2545,13 +2535,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
multiple_cb.stateChanged.connect(on_multiple)
tx_widgets.append((multiple_cb, None))
- showtx_cb = QCheckBox(_('View transaction before signing'))
- showtx_cb.setChecked(self.show_before_broadcast())
- showtx_cb.stateChanged.connect(lambda x: self.set_show_before_broadcast(showtx_cb.isChecked()))
- showtx_cb.setToolTip(_('Display the details of your transactions before signing it.'))
- tx_widgets.append((showtx_cb, None))
-
-
def fmt_docs(key, klass):
lines = [ln.lstrip(" ") for ln in klass.__doc__.split("\n")]
return '\n'.join([key, "", " ".join(lines)])