Skip to content

Commit 0df21ae

Browse files
committed
Aligne le câblage IDE-like sur le GUI classique
Réutilise désormais le connecteur partagé UiConnection._connect_signals() lors de l'initialisation de l'interface IDE-like afin de récupérer les comportements déjà pris en charge par le GUI classique sans dupliquer la logique de branchement des widgets. Réduit le câblage spécifique du mode IDE aux seuls éléments qui lui sont propres. Le bouton d'activité dédié à l'analyse des dépendances reste connecté explicitement, ce qui préserve le comportement de la barre d'activité tout en laissant le reste des actions standards reposer sur le chemin partagé. Connecte explicitement les boutons de sélection d'icône de l'interface IDE-like pour conserver la parité fonctionnelle avec les parcours applicatifs existants, notamment pour l'icône générale de l'application et l'icône dédiée à Nuitka. Active setup_entrypoint_selector() dans l'initialisation IDE-like pour rétablir le même comportement que dans l'interface classique concernant la sélection du point d'entrée depuis la liste de fichiers. Cette réorganisation limite les divergences entre les deux variantes d'interface, facilite la maintenance future du câblage UI et réduit le risque d'oublier des fonctionnalités déjà disponibles dans le GUI classique.
1 parent 4f6d088 commit 0df21ae

1 file changed

Lines changed: 18 additions & 27 deletions

File tree

Core/IdeLikeGui/connections.py

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -488,10 +488,8 @@ def _apply_activity_buttons_theme(self) -> None:
488488
_apply_status_bar_theme(self, dark, fg, border)
489489

490490

491-
def _connect_ide_like_signals(self) -> None:
492-
"""Connect UI signals by reusing classic Core wiring, then add IDE extras."""
493-
try:
494-
from ..UiConnection import _connect_signals as _connect_classic_signals
491+
def _connect_ide_like_specific_signals(self) -> None:
492+
"""Connect only IDE-specific signals on top of the classic shared wiring."""
495493

496494
_connect_classic_signals(self)
497495
except Exception:
@@ -504,27 +502,15 @@ def _connect_ide_like_signals(self) -> None:
504502
except Exception:
505503
pass
506504

507-
# Ensure icon picker buttons are wired in IDE layout as well.
508-
try:
509-
if getattr(self, "btn_select_icon", None):
510-
self.btn_select_icon.clicked.connect(self.select_icon)
511-
except Exception:
512-
pass
513-
try:
514-
if getattr(self, "btn_nuitka_icon", None):
515-
self.btn_nuitka_icon.clicked.connect(self.select_nuitka_icon)
516-
except Exception:
517-
pass
518-
try:
519-
if getattr(self, "btn_bc_loader", None):
520-
try:
521-
self.btn_bc_loader.clicked.disconnect()
522-
except Exception:
523-
pass
524-
self.btn_bc_loader.clicked.connect(lambda: _open_bcasl_loader(self))
525-
except Exception:
526-
pass
527-
505+
_connect_clicked(
506+
getattr(self, "activity_btn_deps", None),
507+
getattr(self, "suggest_missing_dependencies", None),
508+
)
509+
_connect_clicked(getattr(self, "btn_select_icon", None), getattr(self, "select_icon", None))
510+
_connect_clicked(
511+
getattr(self, "btn_nuitka_icon", None),
512+
getattr(self, "select_nuitka_icon", None),
513+
)
528514
_bind_status_updates(self)
529515

530516

@@ -534,8 +520,13 @@ def init_ide_like_ui(self) -> None:
534520
_map_ide_like_widgets(self)
535521
_apply_classic_policies(self)
536522
_setup_more_tools_menu(self)
537-
_connect_ide_like_signals(self)
538-
_normalize_ide_splitters(self)
523+
try:
524+
from ..UiConnection import _connect_signals as _connect_classic_signals
525+
526+
_connect_classic_signals(self)
527+
except Exception:
528+
pass
529+
_connect_ide_like_specific_signals(self)
539530
try:
540531
if hasattr(self, "setup_entrypoint_selector"):
541532
self.setup_entrypoint_selector()

0 commit comments

Comments
 (0)