feat(gui): addenda Dom GUI V6 — sous-onglet Profils, libellés, aide, bêta
Suite des retours Dom sur la GUI V6 (par-dessus 6a0a581).
Addendum Profils / Réglages :
- Nouveau sous-onglet Administration « 👤 Profils » : le profil actif devient
un objet lisible (nom, description, masque requis, template, listes locales
avec compteurs) — données réelles lues depuis profile_defaults.
- Fenêtre « Tableau des termes » (terms_table_window.py) : table scrollable
avec recherche/filtre, colonnes Type/Terme/Source ; reste lisible à 50+
termes. Ajouter/éditer/supprimer désactivés « (à venir) » (écriture par
profil non câblée).
- Réglages : « Profil métier » → « Profil d'anonymisation », « Sortie… » →
« Dossier de sortie… » (+ infobulle), hints moteurs (standard/optionnel/
plus lent), bouton « Voir le profil », « Ouvrir le tableau des termes ».
- Aide « ? » + infobulles (ui_kit.attach_tooltip) près des éléments ambigus.
- profile_view.py : logique pure (résumé profil + lignes du tableau),
testable sans display.
Addendum bêta : en-tête « aivanonym » + badge « bêta », titre fenêtre
« … — bêta ». Détail version conservé dans À propos.
tests/unit/test_gui_v6_profiles.py + ajouts shell. 237 tests unit OK
(228 → 237, 0 régression), self-test GUI V6 OK, navigation des 5 sous-onglets
+ thème OK. V5/moteur/app_aivanov/profile_defaults non touchés, 0 dépendance.
Aucun build/push sans GO Dom — validation visuelle Dom attendue.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,6 +77,26 @@ def test_help_button_opens_help_window(app):
|
||||
win.destroy()
|
||||
|
||||
|
||||
def _all_texts(widget) -> list:
|
||||
out = []
|
||||
try:
|
||||
out.append(str(widget.cget("text")))
|
||||
except Exception:
|
||||
pass
|
||||
for child in widget.winfo_children():
|
||||
out += _all_texts(child)
|
||||
return out
|
||||
|
||||
|
||||
def test_beta_label_in_product_identity(app):
|
||||
"""Addendum Dom : indiquer « bêta » à côté du nom produit (en-tête + titre)."""
|
||||
app.update_idletasks()
|
||||
assert "bêta" in app.title().lower() or "beta" in app.title().lower()
|
||||
texts = [t.lower() for t in _all_texts(app)]
|
||||
assert any("aivanonym" in t for t in texts)
|
||||
assert any("bêta" in t or "beta" in t for t in texts)
|
||||
|
||||
|
||||
def _count_help_buttons(widget) -> int:
|
||||
from gui_v6.ui_kit import HelpButton
|
||||
|
||||
|
||||
Reference in New Issue
Block a user