Browse Source

qml: QERequestDetails: use uppercase in bolt11 QR code

same trick as in other GUIs
master
SomberNight 3 years ago
parent
commit
adf976fef4
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 11
      electrum/gui/qml/qerequestdetails.py

11
electrum/gui/qml/qerequestdetails.py

@ -1,3 +1,5 @@
from typing import Optional
from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, Q_ENUMS from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject, QTimer, Q_ENUMS
from electrum.logging import get_logger from electrum.logging import get_logger
@ -8,6 +10,7 @@ from .qewallet import QEWallet
from .qetypes import QEAmount from .qetypes import QEAmount
from .util import QtEventListener, event_listener, status_update_timer_interval from .util import QtEventListener, event_listener, status_update_timer_interval
class QERequestDetails(QObject, QtEventListener): class QERequestDetails(QObject, QtEventListener):
class Status: class Status:
@ -30,7 +33,7 @@ class QERequestDetails(QObject, QtEventListener):
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
self._wallet = None self._wallet = None # type: Optional[QEWallet]
self._key = None self._key = None
self._req = None self._req = None
self._timer = None self._timer = None
@ -118,9 +121,13 @@ class QERequestDetails(QObject, QtEventListener):
def bolt11(self): def bolt11(self):
can_receive = self._wallet.wallet.lnworker.num_sats_can_receive() if self._wallet.wallet.lnworker else 0 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: 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: else:
return '' 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) @pyqtProperty(str, notify=detailsChanged)
def bip21(self): def bip21(self):

Loading…
Cancel
Save