commit 2904615211848698f52768f17ba0fea5e635c732
parent 8e2320552fd8d2aece0ffd57598affd6908bd518
Author: ThomasV <thomasv@electrum.org>
Date: Thu, 26 Nov 2020 09:08:20 +0100
kivy: do not display internal id of onchain invoice, show address instead
Diffstat:
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/electrum/gui/kivy/uix/screens.py b/electrum/gui/kivy/uix/screens.py
@@ -230,6 +230,7 @@ class SendScreen(CScreen, Logger):
if is_lightning:
assert isinstance(item, LNInvoice)
key = item.rhash
+ address = key
log = self.app.wallet.lnworker.logs.get(key)
if status == PR_INFLIGHT and log:
status_str += '... (%d)'%len(log)
@@ -237,6 +238,7 @@ class SendScreen(CScreen, Logger):
else:
assert isinstance(item, OnchainInvoice)
key = item.id
+ address = item.get_address()
is_bip70 = bool(item.bip70)
return {
'is_lightning': is_lightning,
@@ -245,7 +247,8 @@ class SendScreen(CScreen, Logger):
'status': status,
'status_str': status_str,
'key': key,
- 'memo': item.message,
+ 'memo': item.message or _('No Description'),
+ 'address': address,
'amount': self.app.format_amount_and_units(item.get_amount_sat() or 0),
}
@@ -505,7 +508,7 @@ class ReceiveScreen(CScreen):
ci['is_lightning'] = is_lightning
ci['key'] = key
ci['amount'] = self.app.format_amount_and_units(amount) if amount else ''
- ci['memo'] = description
+ ci['memo'] = description or _('No Description')
ci['status'] = status
ci['status_str'] = status_str
return ci
diff --git a/electrum/gui/kivy/uix/ui_screens/send.kv b/electrum/gui/kivy/uix/ui_screens/send.kv
@@ -15,6 +15,7 @@
<PaymentItem@CardItem>
key: ''
+ address: ''
memo: ''
amount: ''
status: PR_UNKNOWN
@@ -31,7 +32,7 @@
shorten_from: 'right'
Widget
PaymentLabel:
- text: root.key
+ text: root.address
color: .699, .699, .699, 1
font_size: '13sp'
shorten: True
diff --git a/electrum/invoices.py b/electrum/invoices.py
@@ -120,7 +120,7 @@ class OnchainInvoice(Invoice):
requestor = attr.ib(type=str, kw_only=True) # type: Optional[str]
def get_address(self) -> str:
- assert len(self.outputs) == 1
+ """returns the first address, to be displayed in GUI"""
return self.outputs[0].address
def get_amount_sat(self) -> Union[int, str]: