@@ -194,17 +194,10 @@ def __init__(
194194
195195 self .setCentralWidget (scrollArea )
196196
197- features = QtWidgets .QDockWidget .DockWidgetFeatures ()
198- for dock in ["flag_dock" , "label_dock" , "shape_dock" , "file_dock" ]:
199- if self ._config [dock ]["closable" ]:
200- features = features | QtWidgets .QDockWidget .DockWidgetClosable
201- if self ._config [dock ]["floatable" ]:
202- features = features | QtWidgets .QDockWidget .DockWidgetFloatable
203- if self ._config [dock ]["movable" ]:
204- features = features | QtWidgets .QDockWidget .DockWidgetMovable
205- getattr (self , dock ).setFeatures (features )
206- if self ._config [dock ]["show" ] is False :
207- getattr (self , dock ).setVisible (False )
197+ self ._configure_dock ("flag_dock" , self .flag_dock )
198+ self ._configure_dock ("label_dock" , self .label_dock )
199+ self ._configure_dock ("shape_dock" , self .shape_dock )
200+ self ._configure_dock ("file_dock" , self .file_dock )
208201
209202 self .addDockWidget (Qt .RightDockWidgetArea , self .flag_dock )
210203 self .addDockWidget (Qt .RightDockWidgetArea , self .label_dock )
@@ -902,6 +895,24 @@ def __init__(
902895 # if self.firstStart:
903896 # QWhatsThis.enterWhatsThisMode()
904897
898+ def _configure_dock (self , dock_name : str , dock_obj : QtWidgets .QDockWidget ) -> None :
899+ dock_config = self ._config .get (dock_name , None )
900+ if dock_config is None :
901+ # Missing configuration? Never mind then...
902+ return
903+
904+ features = QtWidgets .QDockWidget .DockWidgetFeatures ()
905+
906+ if dock_config .get ("closable" ):
907+ features = features | QtWidgets .QDockWidget .DockWidgetClosable
908+ if dock_config .get ("floatable" ):
909+ features = features | QtWidgets .QDockWidget .DockWidgetFloatable
910+ if dock_config .get ("movable" ):
911+ features = features | QtWidgets .QDockWidget .DockWidgetMovable
912+ dock_obj .setFeatures (features )
913+ if dock_config .get ("show" ) is False :
914+ dock_obj .setVisible (False )
915+
905916 def menu (self , title , actions = None ):
906917 menu = self .menuBar ().addMenu (title )
907918 if actions :
0 commit comments