fix(gui): rendre les profils scrollables a la molette

Ajoute un conteneur scrollable dedie au sous-onglet Profils pour permettre le defilement souris du formulaire complet. Tests GUI: test_gui_v6_profiles.py et test_gui_v6_*.py.
This commit is contained in:
2026-06-17 18:05:45 +02:00
parent dc0616f744
commit 9b40fc0a85
2 changed files with 21 additions and 0 deletions

View File

@@ -491,6 +491,11 @@ class ConfigTab(ctk.CTkFrame):
p = self._p
from gui_v6.editable_list import EditableTermList
content = ctk.CTkScrollableFrame(parent, fg_color="transparent")
content.pack(fill="both", expand=True)
self._profile_scroll = content
parent = content
self._section_intro(
parent,
"Un profil regroupe les moteurs, les masques, les règles et les mots à conserver ou masquer.",

View File

@@ -162,6 +162,22 @@ def test_profils_editor_creates_and_persists(ctk_root, tmp_path, monkeypatch):
tab.destroy()
def test_profils_panel_has_dedicated_mouse_scroll(ctk_root, tmp_path, monkeypatch):
"""Retour Dom : le formulaire Profils doit pouvoir défiler à la molette."""
import customtkinter as ctk
from gui_v6.tabs import tab_config
monkeypatch.setattr(tab_config, "_app_base_dir", lambda: tmp_path)
tab = tab_config.ConfigTab(ctk_root)
tab._show_sub("pro")
tab.update_idletasks()
assert isinstance(tab._profile_scroll, ctk.CTkScrollableFrame)
assert hasattr(tab._profile_scroll, "_parent_canvas")
tab.destroy()
def test_profils_default_profile_is_read_only(ctk_root, tmp_path, monkeypatch):
"""Un profil par défaut n'est pas éditable (bouton Enregistrer désactivé)."""
from gui_v6.tabs import tab_config