Browse Source

qt: fix ReceiveWidget layout (fixes #9049)

master
Sander van Grieken 2 years ago
parent
commit
4159ceee35
No known key found for this signature in database
GPG Key ID: 9BCF8209EA402EBA
  1. 25
      electrum/gui/qt/receive_tab.py

25
electrum/gui/qt/receive_tab.py

@ -92,6 +92,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger):
self.receive_help_text = WWLabel('') self.receive_help_text = WWLabel('')
self.receive_rebalance_button = QPushButton('Rebalance') self.receive_rebalance_button = QPushButton('Rebalance')
self.receive_rebalance_button.suggestion = None self.receive_rebalance_button.suggestion = None
def on_receive_rebalance(): def on_receive_rebalance():
if self.receive_rebalance_button.suggestion: if self.receive_rebalance_button.suggestion:
chan1, chan2, delta = self.receive_rebalance_button.suggestion chan1, chan2, delta = self.receive_rebalance_button.suggestion
@ -99,6 +100,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger):
self.receive_rebalance_button.clicked.connect(on_receive_rebalance) self.receive_rebalance_button.clicked.connect(on_receive_rebalance)
self.receive_swap_button = QPushButton('Swap') self.receive_swap_button = QPushButton('Swap')
self.receive_swap_button.suggestion = None self.receive_swap_button.suggestion = None
def on_receive_swap(): def on_receive_swap():
if self.receive_swap_button.suggestion: if self.receive_swap_button.suggestion:
chan, swap_recv_amount_sat = self.receive_swap_button.suggestion chan, swap_recv_amount_sat = self.receive_swap_button.suggestion
@ -160,7 +162,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger):
hbox = QHBoxLayout() hbox = QHBoxLayout()
hbox.addLayout(vbox_g) hbox.addLayout(vbox_g)
hbox.addStretch() hbox.addStretch()
hbox.addWidget(self.receive_widget) hbox.addWidget(self.receive_widget, 1)
self.searchable_list = self.request_list self.searchable_list = self.request_list
vbox = QVBoxLayout(self) vbox = QVBoxLayout(self)
@ -363,7 +365,6 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger):
self.request_list.clearSelection() self.request_list.clearSelection()
class ReceiveWidget(QWidget): class ReceiveWidget(QWidget):
min_size = QSize(200, 200) min_size = QSize(200, 200)
@ -373,8 +374,6 @@ class ReceiveWidget(QWidget):
self.qr = qr self.qr = qr
self.help_widget = help_widget self.help_widget = help_widget
self.setMinimumSize(self.min_size) self.setMinimumSize(self.min_size)
for w in [textedit, qr, help_widget]:
w.setMinimumSize(self.min_size)
for w in [textedit, qr]: for w in [textedit, qr]:
w.mousePressEvent = receive_tab.do_copy w.mousePressEvent = receive_tab.do_copy
@ -384,12 +383,18 @@ class ReceiveWidget(QWidget):
if isinstance(help_widget, QLabel): if isinstance(help_widget, QLabel):
help_widget.setFrameStyle(QFrame.StyledPanel) help_widget.setFrameStyle(QFrame.StyledPanel)
help_widget.setStyleSheet("QLabel {border:1px solid gray; border-radius:2px; }") help_widget.setStyleSheet("QLabel {border:1px solid gray; border-radius:2px; }")
hbox = QHBoxLayout() hbox = QHBoxLayout()
hbox.setContentsMargins(0, 0, 0, 0) hbox.addStretch()
hbox.addWidget(textedit) hbox.addWidget(textedit)
hbox.addWidget(help_widget) hbox.addWidget(help_widget)
hbox.addWidget(qr) hbox.addWidget(qr)
self.setLayout(hbox)
vbox = QVBoxLayout()
vbox.addLayout(hbox)
vbox.addStretch()
self.setLayout(vbox)
def update_visibility(self, is_qr): def update_visibility(self, is_qr):
if str(self.textedit.toPlainText()): if str(self.textedit.toPlainText()):
@ -404,10 +409,14 @@ class ReceiveWidget(QWidget):
def resizeEvent(self, e): def resizeEvent(self, e):
# keep square aspect ratio when resized # keep square aspect ratio when resized
size = e.size() size = e.size()
w = size.height() margin = 10
self.setFixedWidth(w) x = min(size.height(), size.width()) - margin
for w in [self.textedit, self.qr, self.help_widget]:
w.setFixedWidth(x)
w.setFixedHeight(x)
return super().resizeEvent(e) return super().resizeEvent(e)
class FramedWidget(QFrame): class FramedWidget(QFrame):
def __init__(self): def __init__(self):
QFrame.__init__(self) QFrame.__init__(self)

Loading…
Cancel
Save