Skip to content

Commit f0463ad

Browse files
committed
ide-gui: réutiliser le câblage UI classique pour la parité fonctionnelle
- Branche l'IDE-like sur UiConnection._connect_signals pour récupérer les capacités du mode classique sans dupliquer la logique. - Conserve les spécificités IDE (activity deps) et connecte explicitement les boutons d'icônes (app/nuitka). - Active setup_entrypoint_selector() dans l'initialisation IDE pour aligner le comportement avec le GUI classique.
1 parent afed9a6 commit f0463ad

1 file changed

Lines changed: 28 additions & 45 deletions

File tree

Core/IdeLikeGui/connections.py

Lines changed: 28 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -423,55 +423,33 @@ def _apply_activity_buttons_theme(self) -> None:
423423

424424

425425
def _connect_ide_like_signals(self) -> None:
426-
"""Connect UI signals to existing methods implemented in Core."""
426+
"""Connect UI signals by reusing classic Core wiring, then add IDE extras."""
427+
try:
428+
from ..UiConnection import _connect_signals as _connect_classic_signals
427429

428-
def _connect_clicked(widget, handler) -> None:
429-
if widget is None or handler is None:
430-
return
431-
try:
432-
widget.clicked.connect(handler)
433-
except Exception:
434-
pass
430+
_connect_classic_signals(self)
431+
except Exception:
432+
pass
435433

436-
def _connect_text(widget, handler) -> None:
437-
if widget is None or handler is None:
438-
return
439-
try:
440-
widget.textChanged.connect(handler)
441-
except Exception:
442-
pass
434+
# IDE activity-bar shortcut for dependency analysis.
435+
try:
436+
if getattr(self, "activity_btn_deps", None):
437+
self.activity_btn_deps.clicked.connect(self.suggest_missing_dependencies)
438+
except Exception:
439+
pass
443440

444-
_connect_clicked(getattr(self, "btn_select_folder", None), getattr(self, "select_workspace", None))
445-
_connect_clicked(getattr(self, "venv_button", None), getattr(self, "select_venv_manually", None))
446-
_connect_clicked(getattr(self, "btn_select_files", None), getattr(self, "select_files_manually", None))
447-
_connect_clicked(getattr(self, "btn_remove_file", None), getattr(self, "remove_selected_file", None))
448-
_connect_clicked(getattr(self, "btn_clear_workspace", None), getattr(self, "clear_workspace", None))
449-
_connect_clicked(getattr(self, "compile_btn", None), getattr(self, "compile_all", None))
450-
_connect_clicked(
451-
getattr(self, "cancel_btn", None),
452-
getattr(self, "cancel_all_compilations", None),
453-
)
454-
_connect_clicked(getattr(self, "advanced_cfg_btn", None), getattr(self, "open_advanced_config_editor", None))
455-
_connect_clicked(getattr(self, "btn_help", None), getattr(self, "show_help_dialog", None))
456-
_connect_clicked(getattr(self, "btn_suggest_deps", None), getattr(self, "suggest_missing_dependencies", None))
457-
_connect_clicked(
458-
getattr(self, "activity_btn_deps", None),
459-
getattr(self, "suggest_missing_dependencies", None),
460-
)
461-
_connect_clicked(getattr(self, "btn_show_stats", None), getattr(self, "show_statistics", None))
462-
_connect_clicked(getattr(self, "btn_export_config", None), getattr(self, "export_config", None))
463-
_connect_clicked(getattr(self, "btn_import_config", None), getattr(self, "import_config", None))
464-
_connect_clicked(getattr(self, "select_lang", None), getattr(self, "show_language_dialog", None))
465-
_connect_clicked(getattr(self, "select_theme", None), lambda: _open_theme_dialog(self))
466-
_connect_text(getattr(self, "file_filter_input", None), getattr(self, "apply_file_filter", None))
467-
468-
if getattr(self, "btn_bc_loader", None):
469-
try:
470-
from bcasl import open_bc_loader_dialog
441+
# Ensure icon picker buttons are wired in IDE layout as well.
442+
try:
443+
if getattr(self, "btn_select_icon", None):
444+
self.btn_select_icon.clicked.connect(self.select_icon)
445+
except Exception:
446+
pass
447+
try:
448+
if getattr(self, "btn_nuitka_icon", None):
449+
self.btn_nuitka_icon.clicked.connect(self.select_nuitka_icon)
450+
except Exception:
451+
pass
471452

472-
self.btn_bc_loader.clicked.connect(lambda: open_bc_loader_dialog(self))
473-
except Exception:
474-
pass
475453
_bind_status_updates(self)
476454

477455
def init_ide_like_ui(self) -> None:
@@ -481,6 +459,11 @@ def init_ide_like_ui(self) -> None:
481459
_apply_classic_policies(self)
482460
_setup_more_tools_menu(self)
483461
_connect_ide_like_signals(self)
462+
try:
463+
if hasattr(self, "setup_entrypoint_selector"):
464+
self.setup_entrypoint_selector()
465+
except Exception:
466+
pass
484467
_schedule_ide_like_async_init(self)
485468

486469

0 commit comments

Comments
 (0)