tkivy: requests/invoices dialogs improvements - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit d19fc56eb8875c16ced4ee7be0f048277f95189a DIR parent beac1c4ddc7e579155f3f1bbd51588d265beada5 HTML Author: ThomasV <thomasv@electrum.org> Date: Tue, 10 Mar 2020 16:03:34 +0100 kivy: requests/invoices dialogs improvements Diffstat: M electrum/gui/kivy/uix/dialogs/invo… | 11 ++++++++++- M electrum/gui/kivy/uix/dialogs/requ… | 11 ++++++++++- M electrum/gui/kivy/uix/screens.py | 8 +++----- M electrum/gui/kivy/uix/ui_screens/r… | 10 ++++++---- 4 files changed, 29 insertions(+), 11 deletions(-) --- DIR diff --git a/electrum/gui/kivy/uix/dialogs/invoice_dialog.py b/electrum/gui/kivy/uix/dialogs/invoice_dialog.py t@@ -20,6 +20,7 @@ Builder.load_string(''' amount: 0 title: '' data: '' + description:'' status_color: 1,1,1,1 status_str:'' warning: '' t@@ -34,7 +35,14 @@ Builder.load_string(''' padding: '10dp' spacing: '10dp' TopLabel: - text: root.data + text: _('Invoice data')+ ':' + RefLabel: + data: root.data + name: _('Data') + TopLabel: + text: _('Description') + ':' + RefLabel: + data: root.description or _('No description') TopLabel: text: _('Amount') + ': ' + app.format_amount_and_units(root.amount) TopLabel: t@@ -86,6 +94,7 @@ class InvoiceDialog(Factory.Popup): self.key = key r = self.app.wallet.get_invoice(key) self.amount = r.get('amount') + self.description = r.get('message') or r.get('memo','') self.is_lightning = r.get('type') == PR_TYPE_LN self.update_status() self.log = self.app.wallet.lnworker.logs[self.key] if self.is_lightning else [] DIR diff --git a/electrum/gui/kivy/uix/dialogs/request_dialog.py b/electrum/gui/kivy/uix/dialogs/request_dialog.py t@@ -14,6 +14,7 @@ Builder.load_string(''' id: popup amount: 0 title: '' + description:'' data: '' warning: '' status_str: '' t@@ -35,7 +36,14 @@ Builder.load_string(''' touch = args[1] if self.collide_point(*touch.pos): self.shaded = not self.shaded TopLabel: - text: root.data + text: _('Data')+ ':' + RefLabel: + data: root.data + name: _('Request data') + TopLabel: + text: _('Description') + ':' + RefLabel: + data: root.description or _('No description') TopLabel: text: _('Amount') + ': ' + app.format_amount_and_units(root.amount) TopLabel: t@@ -82,6 +90,7 @@ class RequestDialog(Factory.Popup): self.key = key r = self.app.wallet.get_request(key) self.amount = r.get('amount') + self.description = r.get('message', '') self.is_lightning = r.get('type') == PR_TYPE_LN self.update_status() DIR diff --git a/electrum/gui/kivy/uix/screens.py b/electrum/gui/kivy/uix/screens.py t@@ -217,8 +217,6 @@ class SendScreen(CScreen): self.payment_request_queued = None _list = self.app.wallet.get_invoices() _list.reverse() - lnworker_logs = self.app.wallet.lnworker.logs if self.app.wallet.lnworker else {} - _list = [x for x in _list if x and x.get('status') != PR_PAID or x.get('rhash') in lnworker_logs] payments_container = self.ids.payments_container payments_container.data = [self.get_card(item) for item in _list] t@@ -478,8 +476,8 @@ class ReceiveScreen(CScreen): ci['key'] = key ci['amount'] = self.app.format_amount_and_units(amount) if amount else '' ci['memo'] = description - ci['status'] = status_str - ci['is_expired'] = status == PR_EXPIRED + ci['status'] = status + ci['status_str'] = status_str return ci def update(self): t@@ -488,7 +486,7 @@ class ReceiveScreen(CScreen): _list = self.app.wallet.get_sorted_requests() _list.reverse() requests_container = self.ids.requests_container - requests_container.data = [self.get_card(item) for item in _list if item.get('status') != PR_PAID] + requests_container.data = [self.get_card(item) for item in _list] def show_item(self, obj): self.app.show_request(obj.is_lightning, obj.key) DIR diff --git a/electrum/gui/kivy/uix/ui_screens/receive.kv b/electrum/gui/kivy/uix/ui_screens/receive.kv t@@ -1,4 +1,6 @@ #:import _ electrum.gui.kivy.i18n._ +#:import pr_color electrum.util.pr_color +#:import PR_UNKNOWN electrum.util.PR_UNKNOWN #:import Factory kivy.factory.Factory #:import Decimal decimal.Decimal #:set btc_symbol chr(171) t@@ -13,11 +15,11 @@ valign: 'top' <RequestItem@CardItem> - is_expired: False address: '' memo: '' amount: '' - status: '' + status_str: '' + status: PR_UNKNOWN BoxLayout: spacing: '8dp' height: '32dp' t@@ -44,10 +46,10 @@ font_size: '15sp' Widget RequestLabel: - text: root.status + text: root.status_str halign: 'right' font_size: '13sp' - color: (1., .2, .2, 1) if root.is_expired else (.7, .7, .7, 1) + color: pr_color[root.status] Widget <RequestRecycleView>: