From dc30e6b022e5db66d945261d15fb88b3220d9252 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Thu, 20 Nov 2025 21:58:37 +0100 Subject: [PATCH] fix(widget_state_manager): visibility managed by parent --- bec_widgets/utils/widget_state_manager.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bec_widgets/utils/widget_state_manager.py b/bec_widgets/utils/widget_state_manager.py index 78066773..a06d6016 100644 --- a/bec_widgets/utils/widget_state_manager.py +++ b/bec_widgets/utils/widget_state_manager.py @@ -109,9 +109,11 @@ class WidgetStateManager: prop = meta.property(i) name = prop.name() - # Always save `visible` as True to avoid restoring hidden widgets from profiles. + # Skip persisting QWidget visibility because container widgets (e.g. tab + # stacks, dock managers) manage that state themselves. Restoring a saved + # False can permanently hide a widget, while forcing True makes hidden + # tabs show on top. Leave the property to the parent widget instead. if name == "visible": - settings.setValue(name, True) continue if ( @@ -170,6 +172,8 @@ class WidgetStateManager: for i in range(meta.propertyCount()): prop = meta.property(i) name = prop.name() + if name == "visible": + continue if settings.contains(name): value = settings.value(name) widget.setProperty(name, value)