Skip to content

feat(modifier): taille de police dynamique + mise en forme modifiable avant validation - #27

Merged
Paullux merged 8 commits into
mainfrom
claude/clever-mccarthy-2mgo2u
Nov 2, 2026
Merged

Paullux merged 8 commits into
mainfrom
claude/clever-mccarthy-2mgo2u

Conversation

@Paullux

@Paullux Paullux commented Nov 2, 2026

Copy link
Copy Markdown
Member

Résumé

Suite de #25 : le texte ajouté se comporte comme dans un éditeur.

  • Taille de police dynamique : quand on redimensionne la boîte du texte flottant, la taille suit — c'est la contrainte la plus forte (largeur ou hauteur) qui l'emporte. Réduire la boîte réduit le texte, l'agrandir l'agrandit.
  • Mise en forme modifiable après placement : une barre sous la boîte (police, taille, gras, italique, couleur) reste utilisable jusqu'au clic sur « Valider ». Changer la police/le style réajuste la taille à la boîte ; saisir une taille ajuste la boîte au texte.
  • Gravure fidèle : operations.edit.add_text_fitted écrit le texte à la taille maximale qui tient dans le rectangle (aligné à gauche, centré verticalement) et gère un angle libre via morph (avant, rotate=int(-angle) échouait hors multiples de 90°). L'aperçu utilise les métriques de la police PDF, donc ce qu'on voit est ce qui est gravé.

Fichiers : operations/edit.py (fit_fontsize, text_natural_size, text_line_metrics, add_text_fitted), ui/floating_item.py, ui/tabs/tab_modifier.py, tests tests/test_operations/test_text_fit.py et tests/test_ui/test_floating_text.py.

Limite

La mise en forme est modifiable avant la validation. Une fois gravé, le texte fait partie du PDF ; le re-modifier passe par « Modifier texte ».

Vérifications

  • flake8 OK ; 176 tests passent en local. Le seul échec, test_no_fitz_warning, vient de pdf2docx absent de l'environnement de développement (déjà le cas sans ces changements).
  • Widget testé hors écran : réduire la boîte de moitié divise la taille par 2, une boîte 4× plus étroite la divise par 4, le changement de police/style met à jour fontname.

Generated by Claude Code

…ce, taille, gras/italique, couleur)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…COPR, checklist)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…sur le texte flottant

- la taille suit la boîte (largeur ou hauteur, la contrainte la plus forte) quand on la redimensionne
- police, taille, gras, italique et couleur restent modifiables jusqu'à la validation
- gravure à la taille ajustée, centrée verticalement, rotation à angle libre (operations.edit.add_text_fitted)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…r clic sur le PDF

- Ajouter du texte / image : bandeau d'aide, curseur en croix, clic = pose centrée sur la page cliquée, Échap ou Annuler pour abandonner
- plus de collage automatique au milieu de la page courante
- traductions EN (PdfViewer, FloatingItem, dialogs)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
…COPR, checklist)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bcezot9aEcwSRbdFrScYjB
@Paullux
Paullux merged commit eee227d into main Nov 2, 2026
6 checks passed
Paullux pushed a commit that referenced this pull request Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants