1
0

QRCodeWidget: add margin of 1 block, remove fixedSize parameter

This commit is contained in:
ThomasV
2022-05-23 11:38:09 +02:00
parent 3b44646bd1
commit 2a31f80d09
2 changed files with 9 additions and 12 deletions

View File

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

View File

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