From 7f7a7857b24f86879532a56e4a4e99e2d6934b0f Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 29 May 2024 14:38:36 +0000 Subject: [PATCH] Revert "qt: fix ReceiveWidget layout (fixes #9049)" This reverts commit 21ffe321574f04373a673f4a1580806dfcc25758. This layout is difficult to get right. Both the old and the new layout are somewhat buggy. Reverting this only on the 4.5.x release branch. We can improve it on master. The old layout has been out there in releases for many months, so it is safer to just use that in the release branch for now. --- electrum/gui/qt/receive_tab.py | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/electrum/gui/qt/receive_tab.py b/electrum/gui/qt/receive_tab.py index 43343a03d..ae46946b3 100644 --- a/electrum/gui/qt/receive_tab.py +++ b/electrum/gui/qt/receive_tab.py @@ -92,7 +92,6 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): self.receive_help_text = WWLabel('') self.receive_rebalance_button = QPushButton('Rebalance') self.receive_rebalance_button.suggestion = None - def on_receive_rebalance(): if self.receive_rebalance_button.suggestion: chan1, chan2, delta = self.receive_rebalance_button.suggestion @@ -100,7 +99,6 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): self.receive_rebalance_button.clicked.connect(on_receive_rebalance) self.receive_swap_button = QPushButton('Swap') self.receive_swap_button.suggestion = None - def on_receive_swap(): if self.receive_swap_button.suggestion: chan, swap_recv_amount_sat = self.receive_swap_button.suggestion @@ -162,7 +160,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): hbox = QHBoxLayout() hbox.addLayout(vbox_g) hbox.addStretch() - hbox.addWidget(self.receive_widget, 1) + hbox.addWidget(self.receive_widget) self.searchable_list = self.request_list vbox = QVBoxLayout(self) @@ -365,6 +363,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): self.request_list.clearSelection() + class ReceiveWidget(QWidget): min_size = QSize(200, 200) @@ -374,6 +373,8 @@ class ReceiveWidget(QWidget): self.qr = qr self.help_widget = help_widget self.setMinimumSize(self.min_size) + for w in [textedit, qr, help_widget]: + w.setMinimumSize(self.min_size) for w in [textedit, qr]: w.mousePressEvent = receive_tab.do_copy @@ -383,18 +384,12 @@ class ReceiveWidget(QWidget): if isinstance(help_widget, QLabel): help_widget.setFrameStyle(QFrame.StyledPanel) help_widget.setStyleSheet("QLabel {border:1px solid gray; border-radius:2px; }") - hbox = QHBoxLayout() - hbox.addStretch() + hbox.setContentsMargins(0, 0, 0, 0) hbox.addWidget(textedit) hbox.addWidget(help_widget) hbox.addWidget(qr) - - vbox = QVBoxLayout() - vbox.addLayout(hbox) - vbox.addStretch() - - self.setLayout(vbox) + self.setLayout(hbox) def update_visibility(self, is_qr): if str(self.textedit.toPlainText()): @@ -409,14 +404,10 @@ class ReceiveWidget(QWidget): def resizeEvent(self, e): # keep square aspect ratio when resized size = e.size() - margin = 10 - x = min(size.height(), size.width()) - margin - for w in [self.textedit, self.qr, self.help_widget]: - w.setFixedWidth(x) - w.setFixedHeight(x) + w = size.height() + self.setFixedWidth(w) return super().resizeEvent(e) - class FramedWidget(QFrame): def __init__(self): QFrame.__init__(self)