don't show detail until it should be visible

This commit is contained in:
Jakub Trllo 2024-09-13 17:04:06 +02:00
parent 0b35227395
commit a14df299c8

View file

@ -1486,19 +1486,14 @@ class ErrorDetailWidget(QtWidgets.QWidget):
main_layout.addWidget(error_detail_input, 0) main_layout.addWidget(error_detail_input, 0)
main_layout.addStretch(1) main_layout.addStretch(1)
error_detail_input.setVisible(not error_detail_expand_btn.collapsed)
error_detail_top.clicked.connect(self._on_detail_toggle) error_detail_top.clicked.connect(self._on_detail_toggle)
self._error_detail_top = error_detail_top self._error_detail_top = error_detail_top
self._error_detail_expand_btn = error_detail_expand_btn self._error_detail_expand_btn = error_detail_expand_btn
self._error_detail_input = error_detail_input self._error_detail_input = error_detail_input
def showEvent(self, event):
super().showEvent(event)
# Calling this in __init__ does not seem to propagate the visibility
# correctly
self._error_detail_input.setVisible(
not self._error_detail_expand_btn.collapsed
)
def set_detail(self, detail): def set_detail(self, detail):
if not detail: if not detail:
@ -1520,7 +1515,10 @@ class ErrorDetailWidget(QtWidgets.QWidget):
def _set_visible_inputs(self, visible): def _set_visible_inputs(self, visible):
self._error_detail_top.setVisible(visible) self._error_detail_top.setVisible(visible)
self._error_detail_input.setVisible(visible) input_visible = visible
if input_visible:
input_visible = not self._error_detail_expand_btn.collapsed
self._error_detail_input.setVisible(input_visible)
def _on_detail_toggle(self): def _on_detail_toggle(self):
self._error_detail_expand_btn.set_collapsed() self._error_detail_expand_btn.set_collapsed()