This commit is contained in:
sebastien committed 2026-10-21 22:28:27 +02:00
1 parent 0d8970061e
commit c30aac0572
14 files changed
+343 -48

No files matched your search

+12 -3
View File
@@ -180,7 +180,7 @@ def copy_pdf_paths(evaluation: Path) -> list[Path]:
(
path
for path in location.glob("*.pdf")
if not EvaluationWorkspace(evaluation).is_statement_pdf(path)
if not EvaluationWorkspace(evaluation).is_statement_pdf(evaluation / path.name)
),
key=lambda path: path.name.casefold(),
)
@@ -1009,7 +1009,9 @@ class CopienatorApp(tk.Tk):
self.persp_inventory_label.configure(text=text)
def _render_context_controls(self, step: StepDefinition, row: int) -> int:
if step.id == "annotation" and self.variant_var.get() == "grouped":
if step.id == "statement_groups" or (
step.id == "annotation" and self.variant_var.get() == "grouped"
):
controls = ttk.Frame(self.form)
controls.grid(row=row, column=0, columnspan=2, sticky="ew", pady=(0, 8))
self.label_groups_button = ttk.Button(
@@ -1020,7 +1022,9 @@ class CopienatorApp(tk.Tk):
self.label_groups_button.pack(side="left")
ttk.Label(
controls,
text="Une ligne = un groupe. Vérifiez et enregistrez le fichier avant d’exécuter BGnot.",
text=("Une ligne = un groupe. Vérifiez les groupes actuels avant de lancer Gemini."
if step.id == "statement_groups" else
"Une ligne = un groupe. Vérifiez et enregistrez le fichier avant d’exécuter BGnot."),
wraplength=470,
justify="left",
).pack(side="left", padx=(10, 0))
@@ -1318,6 +1322,11 @@ class CopienatorApp(tk.Tk):
def _open_label_groups(self) -> None:
evaluation = self.evaluation
if self.current_step and self.current_step.id == "statement_groups":
target = self.arg_vars.get("target")
value = str(target.get()).strip() if target else ""
if value:
evaluation = (self.repository / value).resolve()
self._open_desktop_path(
evaluation / "label_groups" if evaluation else None,
"fichier label_groups",
+2 -2
View File
@@ -291,14 +291,14 @@ def build_workflow(show_personal_steps: bool) -> list[StepDefinition]:
"Produit les images de la partie gauche des copies. "
"La position est estimée automatiquement sur plusieurs pages de même largeur ; "
"Les 10 % de bandes d’écriture les plus à gauche sont ignorées ; "
"la découpe commence à la moitié de la marge restante. "
"la découpe retire le maximum entre la moitié de la marge et la marge moins 2 cm. "
"Si la marge est inférieure à 20 mm, elle commence au bord gauche. "
"Deux pages consécutives sans marge imposent le bord gauche pour la suite. "
"La bande est élargie de 10 %. "
"Pour les sous-pages étroites, la marge commence au bord gauche et est limitée à la largeur disponible. "
"Dans la fenêtre de découpe, utilisez les flèches : ←/→ déplacent la zone "
"de 50 px vers la gauche/droite, ↑ l’élargit de 50 px et ↓ la réduit de 50 px. "
"1 utilise les pages entières, Entrée valide et ! signale une erreur. "
"1 utilise les pages entières, Entrée valide, P/p revient à la copie précédente et ! signale une erreur. "
"La validation efface uniquement le signalement de découpe, sans effacer celui des labels."
f"{personnal_binding} "
"Une copie précise peut être ciblée.",