V3.0.0 — Rotation, Annuler/Refaire, Delivretiser, Trim&Shift, Inverser
- Rotation de pages : clic droit sur vignette → Pivoter +90/-90/180 Aussi dans le menu Pages - Ctrl+Z / Ctrl+Y : annuler et refaire (pile de 20 etats) - Delivretiser : coupe les pages en 2 et remet dans l'ordre sequentiel (inverse de la creation de livret) - Trim & Shift : decaler le contenu des pages - Decalage X/Y different pages paires/impaires - Compensation de creep progressive pour livrets epais - Inverser l'ordre des pages (menu Pages) - Fix impression : ouvre le PDF dans le lecteur par defaut - Barre outils droite : ajout Delivretiser, Trim/Shift, Inverser Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,10 +9,11 @@ from PyQt6.QtCore import Qt, pyqtSignal, QSize
|
||||
class PagePanel(QWidget):
|
||||
"""Panneau de vignettes avec drag & drop, suppression, insertion."""
|
||||
|
||||
page_selected = pyqtSignal(int) # page index cliquee
|
||||
pages_reordered = pyqtSignal(list) # nouvelle liste d'indices
|
||||
page_delete_requested = pyqtSignal(int) # demande suppression
|
||||
page_insert_requested = pyqtSignal(int) # demande insertion page blanche apres
|
||||
page_selected = pyqtSignal(int)
|
||||
pages_reordered = pyqtSignal(list)
|
||||
page_delete_requested = pyqtSignal(int)
|
||||
page_insert_requested = pyqtSignal(int)
|
||||
page_rotate_requested = pyqtSignal(int, int) # page_index, degrees (90, -90, 180)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
@@ -106,6 +107,10 @@ class PagePanel(QWidget):
|
||||
QMenu::item:selected { background: #e0f4ff; color: #006fa6; }
|
||||
""")
|
||||
|
||||
act_rot_right = menu.addAction("Pivoter +90°")
|
||||
act_rot_left = menu.addAction("Pivoter -90°")
|
||||
act_rot_180 = menu.addAction("Pivoter 180°")
|
||||
menu.addSeparator()
|
||||
act_insert = menu.addAction("Inserer une page blanche apres")
|
||||
act_delete = menu.addAction("Supprimer cette page")
|
||||
|
||||
@@ -114,3 +119,9 @@ class PagePanel(QWidget):
|
||||
self.page_delete_requested.emit(row)
|
||||
elif action == act_insert:
|
||||
self.page_insert_requested.emit(row)
|
||||
elif action == act_rot_right:
|
||||
self.page_rotate_requested.emit(row, 90)
|
||||
elif action == act_rot_left:
|
||||
self.page_rotate_requested.emit(row, -90)
|
||||
elif action == act_rot_180:
|
||||
self.page_rotate_requested.emit(row, 180)
|
||||
|
||||
Reference in New Issue
Block a user