@@ -169,23 +169,36 @@ def _wire_menu_from_ui(self):
169169 self ._populate_theme_menu ()
170170
171171 def _wire_logic (self ):
172- # Buttons
173- self .ws_browse .clicked .connect (self ._browse_ws )
174- self .plugins_browse .clicked .connect (self ._browse_plugins )
175- self .btn_load_ws .clicked .connect (self ._load_workspace )
176- self .btn_save_cfg .clicked .connect (self ._save_cfg )
177- self .btn_run .clicked .connect (self ._run )
172+ # Buttons (defensive: only connect when widgets are present)
173+ try :
174+ if self .ws_browse :
175+ self .ws_browse .clicked .connect (self ._browse_ws )
176+ if self .plugins_browse :
177+ self .plugins_browse .clicked .connect (self ._browse_plugins )
178+ if self .btn_load_ws :
179+ self .btn_load_ws .clicked .connect (self ._load_workspace )
180+ if self .btn_save_cfg :
181+ self .btn_save_cfg .clicked .connect (self ._save_cfg )
182+ if self .btn_run :
183+ self .btn_run .clicked .connect (self ._run )
184+ except Exception :
185+ pass
178186 # Filters
179187 try :
180- self .filter_text .textChanged .connect (lambda _ = None : self ._apply_filters ())
181- self .filter_phase .currentIndexChanged .connect (lambda _ = None : self ._apply_filters ())
188+ if self .filter_text :
189+ self .filter_text .textChanged .connect (lambda _ = None : self ._apply_filters ())
190+ if self .filter_phase :
191+ self .filter_phase .currentIndexChanged .connect (lambda _ = None : self ._apply_filters ())
182192 except Exception :
183193 pass
184194 # Sync compact settings with dock settings
185195 try :
186- self .sp_timeout2 .valueChanged .connect (lambda _ = None : self ._sync_settings_from_compact ())
187- self .chk_sandbox2 .toggled .connect (lambda _ = None : self ._sync_settings_from_compact ())
188- self .sp_parallel2 .valueChanged .connect (lambda _ = None : self ._sync_settings_from_compact ())
196+ if self .sp_timeout2 :
197+ self .sp_timeout2 .valueChanged .connect (lambda _ = None : self ._sync_settings_from_compact ())
198+ if self .chk_sandbox2 :
199+ self .chk_sandbox2 .toggled .connect (lambda _ = None : self ._sync_settings_from_compact ())
200+ if self .sp_parallel2 :
201+ self .sp_parallel2 .valueChanged .connect (lambda _ = None : self ._sync_settings_from_compact ())
189202 except Exception :
190203 pass
191204
0 commit comments