electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit b2be745b8d47d69ff812bd4e093de0ff60ecd369
parent 737a7f0bfbfd2b674f3af2ecfcc1a411f0cadb2e
Author: ThomasV <thomasv@electrum.org>
Date:   Mon, 20 Mar 2017 11:13:45 +0100

add save/delete buttons to invoice dialog

Diffstat:
Mgui/qt/main_window.py | 31++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py @@ -1616,6 +1616,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.show_pr_details(pr) def show_pr_details(self, pr): + key = pr.get_id() d = WindowModalDialog(self, _("Invoice")) vbox = QVBoxLayout(d) grid = QGridLayout() @@ -1624,14 +1625,30 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): grid.addWidget(QLabel(_("Amount") + ':'), 1, 0) outputs_str = '\n'.join(map(lambda x: self.format_amount(x[2])+ self.base_unit() + ' @ ' + x[1], pr.get_outputs())) grid.addWidget(QLabel(outputs_str), 1, 1) - grid.addWidget(QLabel(_("Expires") + ':'), 2, 0) - grid.addWidget(QLabel(format_time(pr.get_expiration_date())), 2, 1) - grid.addWidget(QLabel(_("Memo") + ':'), 3, 0) - grid.addWidget(QLabel(pr.get_memo()), 3, 1) - grid.addWidget(QLabel(_("Signature") + ':'), 4, 0) - grid.addWidget(QLabel(pr.get_verify_status()), 4, 1) + expires = pr.get_expiration_date() + grid.addWidget(QLabel(_("Memo") + ':'), 2, 0) + grid.addWidget(QLabel(pr.get_memo()), 2, 1) + grid.addWidget(QLabel(_("Signature") + ':'), 3, 0) + grid.addWidget(QLabel(pr.get_verify_status()), 3, 1) + if expires: + grid.addWidget(QLabel(_("Expires") + ':'), 4, 0) + grid.addWidget(QLabel(format_time(expires)), 4, 1) vbox.addLayout(grid) - vbox.addLayout(Buttons(CloseButton(d))) + def do_export(): + fn = self.getOpenFileName(_("Save invoice to file"), "*.bip70") + if not fn: + return + with open(fn, 'w') as f: + data = f.write(pr.raw) + self.show_message(_('Invoice saved as' + ' ' + fn)) + exportButton = EnterButton(_('Save'), do_export) + def do_delete(): + if self.question(_('Delete invoice?')): + self.invoices.remove(key) + self.history_list.update() + d.close() + deleteButton = EnterButton(_('Delete'), do_delete) + vbox.addLayout(Buttons(exportButton, deleteButton, CloseButton(d))) d.exec_() def do_pay_invoice(self, key):