fix(gui): clarifier aide et disponibilite moteurs

Passe theme clair, libelles utilisateur, aides conteneurs, recherche de mise a jour et indication honnete des moteurs optionnels non embarques. Tests GUI unitaires: 126 passed.
This commit is contained in:
2026-06-17 18:01:25 +02:00
parent d18ca919fa
commit 60fb41c2e7
11 changed files with 296 additions and 44 deletions

View File

@@ -22,7 +22,15 @@ def font(size: int = 13, weight: str = "normal") -> "ctk.CTkFont":
class Card(ctk.CTkFrame):
"""Carte maquette : fond `card`, bordure `card_border`, titre uppercase optionnel."""
def __init__(self, master, palette: dict, title: Optional[str] = None, **kwargs):
def __init__(
self,
master,
palette: dict,
title: Optional[str] = None,
help_text: Optional[str] = None,
help_title: Optional[str] = None,
**kwargs,
):
super().__init__(
master,
fg_color=palette["card"],
@@ -34,13 +42,22 @@ class Card(ctk.CTkFrame):
self._palette = palette
self.body = self # alias pour clarté
if title:
header = ctk.CTkFrame(self, fg_color="transparent")
header.pack(fill="x", padx=16, pady=(14, 8))
ctk.CTkLabel(
self,
header,
text=title.upper(),
text_color=palette["text_dim"],
font=font(11, "bold"),
anchor="w",
).pack(anchor="w", padx=16, pady=(14, 8))
).pack(side="left", fill="x", expand=True)
if help_text:
HelpButton(
header,
palette,
help_text,
title=help_title or title.lstrip("⚙️👤🏷️⬛🧠📝🛡️🔍✅📤📥 ").strip() or "Aide",
).pack(side="right", padx=(8, 0))
def primary_button(master, palette: dict, text: str, command=None, large: bool = False):