fix(widget_state_manager):Adjustments to WidgetStateManager
Description
Adjustments have been made to the WidgetStateManager to enhance its functionality and provide better control over which widget settings are saved to the INI file. The changes include the following:
-
Exclusion of Certain Widgets: By default,
QLabelsettings are now excluded from being saved. -
Customizable Exclusions: Specific
QPropertyattributes can be excluded from saving by marking them with@SafeProperty(stored=False). -
Hierarchical Exclusions: If a widget is excluded from saving (via the new
skip_settingsproperty), all its child widgets will also be excluded automatically. Previously, child widgets were added recursively regardless of the parent's exclusion status.
Type of Change
- Added a
skip_settingsproperty to exclude widgets from being saved to the INI file. - Automatically excluded
QLabelwidgets. - Allowed exclusion of
QPropertyattributes withstored=False. - Updated default exclusions for various widget types in the INI settings.
Potential Side Effects
This utility is currently used exclusively for the development of the new plotting suite, so the impact should be limited to that context.