1
0

Revert "qt: fix ReceiveWidget layout (fixes #9049)"

This reverts commit 21ffe32157.

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.
This commit is contained in:
SomberNight
2024-05-29 14:38:36 +00:00
parent 21ffe32157
commit 7f7a7857b2

View File

@@ -92,7 +92,6 @@ 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
@@ -100,7 +99,6 @@ 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
@@ -162,7 +160,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, 1) hbox.addWidget(self.receive_widget)
self.searchable_list = self.request_list self.searchable_list = self.request_list
vbox = QVBoxLayout(self) vbox = QVBoxLayout(self)
@@ -365,6 +363,7 @@ 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)
@@ -374,6 +373,8 @@ 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
@@ -383,18 +384,12 @@ 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.addStretch() hbox.setContentsMargins(0, 0, 0, 0)
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()):
@@ -409,14 +404,10 @@ 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()
margin = 10 w = size.height()
x = min(size.height(), size.width()) - margin self.setFixedWidth(w)
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)