1
0

qt/kivy: lightning_tx_dialog: show LN invoice

This commit is contained in:
SomberNight
2021-03-01 20:56:45 +01:00
parent c3ae1c0965
commit b3b87555dc
4 changed files with 37 additions and 3 deletions

View File

@@ -31,7 +31,10 @@ from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QVBoxLayout, QLabel, QGridLayout
from electrum.i18n import _
from electrum.invoices import LNInvoice
from .util import WindowModalDialog, ButtonsLineEdit, ColorScheme, Buttons, CloseButton, MONOSPACE_FONT
from .qrtextedit import ShowQRTextEdit
if TYPE_CHECKING:
from .main_window import ElectrumWindow
@@ -49,6 +52,14 @@ class LightningTxDialog(WindowModalDialog):
self.amount = Decimal(tx_item['amount_msat']) / 1000
self.payment_hash = tx_item['payment_hash']
self.preimage = tx_item['preimage']
invoice = (self.parent.wallet.get_invoice(self.payment_hash)
or self.parent.wallet.get_request(self.payment_hash))
if invoice:
assert isinstance(invoice, LNInvoice), f"{self.invoice!r}"
self.invoice = invoice.invoice
else:
self.invoice = ''
self.setMinimumWidth(700)
vbox = QVBoxLayout()
self.setLayout(vbox)
@@ -83,6 +94,12 @@ class LightningTxDialog(WindowModalDialog):
self.preimage_e.setFont(QFont(MONOSPACE_FONT))
vbox.addWidget(self.preimage_e)
vbox.addWidget(QLabel(_("Lightning Invoice") + ":"))
self.invoice_e = ShowQRTextEdit(self.invoice, config=parent.config)
self.invoice_e.setMaximumHeight(150)
self.invoice_e.addCopyButton(self.parent.app)
vbox.addWidget(self.invoice_e)
vbox.addLayout(Buttons(CloseButton(self)))
def show_qr(self, line_edit, title=''):