fix(gui): retours Dom GUI V6 — thème, Administration, Règles, aide
Cinq retours utilisateur sur l'exécutable Windows GUI V6. - Thème : `_render()` vidait les widgets mais conservait le cache `_tab_frames`/`_visible_tab` → l'onglet Utilisation se vidait (TclError sur widget détruit) au changement de thème. Reset du cache dans `_render()` → onglet actif recréé proprement. - Onglet principal « Configuration » → « Administration » (clé interne inchangée). - Sous-onglet « Règles 2 » → « Règles » (le « 2 » était un badge non câblé). - Actions de maquette non câblées (Partage Export/Import, Règles Nouvelle règle/Recharger/Tester/Fermer) désactivées + suffixe « (à venir) » via `_mockup_button` : plus aucune action morte qui semble fonctionner. - Aide « ? » restaurée (façon V5) : `ui_kit.HelpButton`/`help_button` réutilisable ouvrant une fenêtre d'aide en français simple, posée sur Utilisation, Administration (Réglages/Masquage/Partage/Règles) et À propos. Partage : phrase visible + aide expliquant qu'on partage les réglages, jamais les documents patients. `tests/unit/test_gui_v6_app_shell.py` : régression thème, libellés, présence d'aide, navigation. 228 tests unit OK (0 régression), self-test GUI V6 OK. V5/moteur/app_aivanov non touchés, aucune dépendance ajoutée. Verdict Qwen requis avant push/build/diffusion. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,16 @@ from gui_v6.processing_runner import ProcessingRunner, default_output_dir
|
||||
|
||||
_STEPS = ["📖 Extraction", "🧠 Détection", "🔒 Masquage", "📄 PDF final"]
|
||||
|
||||
_HELP_USAGE = (
|
||||
"Anonymiser vos documents.\n\n"
|
||||
"1) Choisissez un fichier ou un dossier de documents.\n"
|
||||
"2) Vérifiez le format de sortie.\n"
|
||||
"3) Cliquez sur « Lancer » : l'application détecte et masque les données "
|
||||
"personnelles, puis écrit les documents anonymisés dans un dossier de sortie.\n\n"
|
||||
"Tout le traitement se fait 100 % en local sur ce poste. Aucun document "
|
||||
"n'est envoyé sur Internet."
|
||||
)
|
||||
|
||||
|
||||
class UsageTab(ctk.CTkFrame):
|
||||
def __init__(
|
||||
@@ -57,6 +67,18 @@ class UsageTab(ctk.CTkFrame):
|
||||
def _build(self) -> None:
|
||||
p = self._p
|
||||
|
||||
# Bandeau d'introduction + aide « ? »
|
||||
intro = ctk.CTkFrame(self, fg_color="transparent")
|
||||
intro.pack(fill="x", padx=14, pady=(12, 0))
|
||||
ctk.CTkLabel(
|
||||
intro,
|
||||
text="Sélectionnez vos documents puis lancez l'anonymisation (100 % local).",
|
||||
text_color=p["text_dim"],
|
||||
font=ui_kit.font(12),
|
||||
anchor="w",
|
||||
).pack(side="left", padx=(2, 6))
|
||||
ui_kit.help_button(intro, p, _HELP_USAGE, title="Comment ça marche ?").pack(side="right", padx=2)
|
||||
|
||||
# Carte Apparence (sélecteur de thème)
|
||||
appearance = ui_kit.Card(self, p, title="🎨 Apparence")
|
||||
appearance.pack(fill="x", padx=14, pady=(14, 7))
|
||||
|
||||
Reference in New Issue
Block a user