refactor(gui): Réglages — tableau des termes en accès direct, retrait du doublon Profils

Retour Dom après validation visuelle : simplifier.

- Réglages > Listes locales : suppression des pastilles de termes et des
  éditeurs inline (_compact_tag_editor). Remplacés par un texte court +
  compteurs (À conserver/À masquer/À ignorer du profil actif) + bouton
  « Ouvrir le tableau des termes » qui ouvre DIRECTEMENT TermsTableWindow.
- Retrait du bouton « Voir le profil » (son rôle = accéder au tableau).
- Retrait du sous-onglet « Profils » (doublon non câblé) : _SUBTABS,
  builders, _build_profils/_rebuild_profils. Les helpers profil
  (_active_profile_summary/_open_terms_table) sont conservés pour Réglages.
- Nettoyage du code mort associé : _compact_tag_editor, constantes
  _PRESERVE_TERMS/_MASK_TERMS/_STOPWORDS, textes d'aide qui référençaient
  l'onglet Profils.

Chemin utilisateur : Administration > Réglages > Ouvrir le tableau des
termes. 247 tests unit OK (0 régression), self-test OK. Préserve a9e8b2c
(thème, bêta, aide ?, fenêtre tableau). Aucun build/push sans GO Dom.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-15 17:45:43 +02:00
parent ab2ca8a552
commit d30f7b74ef
2 changed files with 35 additions and 123 deletions

View File

@@ -118,13 +118,14 @@ def test_attach_tooltip_does_not_break_widget(ctk_root):
assert lbl.winfo_exists()
def test_subtabs_include_profils():
def test_subtabs_no_profils_subtab():
"""Retour Dom : le sous-onglet Profils (doublon non câblé) est retiré."""
from gui_v6.tabs.tab_config import _SUBTABS
keys = [k for k, _ in _SUBTABS]
labels = [lbl for _, lbl in _SUBTABS]
assert "pro" in keys
assert any("Profils" in lbl for lbl in labels)
assert "pro" not in keys
assert not any("Profils" in lbl for lbl in labels)
def _all_texts(widget):
@@ -150,11 +151,16 @@ def test_reglages_labels_renamed_and_profile_readable(ctk_root, tmp_path, monkey
assert "Profil métier" not in texts
assert "Dossier de sortie" in texts # addendum : « Sortie… » clarifié
# retour Dom : accès direct au tableau depuis Réglages, plus de pastilles inline
assert "Ouvrir le tableau des termes" in texts
assert "Voir le profil" not in texts
assert "FUROSEMIDE" not in texts # plus de pastilles de termes exemple inline
# profil lisible : résumé avec les 3 listes
summary = tab._active_profile_summary()
assert set(summary.list_counts.keys()) == {"À conserver", "À masquer", "À ignorer"}
# tableau des termes ouvrable sans erreur
# tableau des termes ouvrable DIRECTEMENT depuis Réglages (sans onglet Profils)
tab._open_terms_table()
tab.update_idletasks()
tab.destroy()