1
0

qml: QERequestDetails: use uppercase in bolt11 QR code

same trick as in other GUIs
This commit is contained in:
SomberNight
2023-04-24 16:21:26 +00:00
parent bf41675d4c
commit adf976fef4

View File

@@ -1,3 +1,5 @@
from typing import Optional
from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, Q_ENUMS
from electrum.logging import get_logger
@@ -8,6 +10,7 @@ from .qewallet import QEWallet
from .qetypes import QEAmount
from .util import QtEventListener, event_listener, status_update_timer_interval
class QERequestDetails(QObject, QtEventListener):
class Status:
@@ -30,7 +33,7 @@ class QERequestDetails(QObject, QtEventListener):
def __init__(self, parent=None):
super().__init__(parent)
self._wallet = None
self._wallet = None # type: Optional[QEWallet]
self._key = None
self._req = None
self._timer = None
@@ -118,9 +121,13 @@ class QERequestDetails(QObject, QtEventListener):
def bolt11(self):
can_receive = self._wallet.wallet.lnworker.num_sats_can_receive() if self._wallet.wallet.lnworker else 0
if self._req and can_receive > 0 and (self._req.get_amount_sat() or 0) <= can_receive:
return self._wallet.wallet.get_bolt11_invoice(self._req)
bolt11 = self._wallet.wallet.get_bolt11_invoice(self._req)
else:
return ''
# encode lightning invoices as uppercase so QR encoding can use
# alphanumeric mode; resulting in smaller QR codes
bolt11 = bolt11.upper()
return bolt11
@pyqtProperty(str, notify=detailsChanged)
def bip21(self):