Browse Source

QRCodeWidget: add margin of 1 block, remove fixedSize parameter

patch-4
ThomasV 3 years ago
parent
commit
2a31f80d09
  1. 9
      electrum/gui/qt/main_window.py
  2. 12
      electrum/gui/qt/qrcodewidget.py

9
electrum/gui/qt/main_window.py

@ -1222,9 +1222,12 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
for w in [self.receive_address_help, self.receive_lightning_help]:
w.setFixedSize(fixedSize, fixedSize)
self.receive_address_qr = QRCodeWidget(fixedSize=fixedSize)
self.receive_URI_qr = QRCodeWidget(fixedSize=fixedSize)
self.receive_lightning_qr = QRCodeWidget(fixedSize=fixedSize)
self.receive_address_qr = QRCodeWidget()
self.receive_URI_qr = QRCodeWidget()
self.receive_lightning_qr = QRCodeWidget()
for w in [self.receive_address_qr, self.receive_URI_qr, self.receive_lightning_qr]:
w.setFixedSize(fixedSize, fixedSize)
self.receive_lightning_e.textChanged.connect(self.update_receive_widgets)

12
electrum/gui/qt/qrcodewidget.py

@ -16,14 +16,10 @@ from .util import WindowModalDialog, WWLabel, getSaveFileName
class QRCodeWidget(QWidget):
def __init__(self, data = None, fixedSize=False):
def __init__(self, data = None):
QWidget.__init__(self)
self.data = None
self.qr = None
self.margin = 0
self.fixedSize=fixedSize
if fixedSize:
self.setFixedSize(fixedSize, fixedSize)
self.setData(data)
@ -37,9 +33,6 @@ class QRCodeWidget(QWidget):
border=0,
)
self.qr.add_data(self.data)
if not self.fixedSize:
k = len(self.qr.get_matrix())
self.setMinimumSize(k*5,k*5)
else:
self.qr = None
@ -71,7 +64,7 @@ class QRCodeWidget(QWidget):
qp.begin(self)
r = qp.viewport()
framesize = min(r.width(), r.height())
boxsize = int((framesize - 2*self.margin)/k)
boxsize = int(framesize/(k + 2))
if boxsize < 2:
qp.drawText(0, 20, 'Cannot draw QR code:')
qp.drawText(0, 40, 'Boxsize too small')
@ -115,6 +108,7 @@ class QRDialog(WindowModalDialog):
vbox = QVBoxLayout()
qrw = QRCodeWidget(data)
qrw.setMinimumSize(250, 250)
qr_hbox = QHBoxLayout()
qr_hbox.addWidget(qrw)
qr_hbox.addStretch(1)

Loading…
Cancel
Save