New file : config.py (for models)
This commit is contained in:
+50
-22
@@ -10,6 +10,9 @@ import shutil
|
||||
import subprocess
|
||||
from pypdf import PdfReader, PdfWriter
|
||||
|
||||
from config import PAGE_SPLITTER_KB
|
||||
|
||||
|
||||
# --- Constants ---
|
||||
# Conversion factor: 1 cm to points (1 inch = 2.54 cm, 72 points = 1 inch)
|
||||
CM_TO_POINTS = (1 / 2.54) * 72
|
||||
@@ -98,18 +101,21 @@ class PDFPreviewer:
|
||||
# Set a reasonable initial size for the window
|
||||
self.master.geometry("800x1000")
|
||||
|
||||
def fmt(action):
|
||||
k = PAGE_SPLITTER_KB.get(action, "")
|
||||
return k
|
||||
|
||||
# Dynamic instructions text
|
||||
instructions = (
|
||||
"← / → : Move line 1cm left/right\n"
|
||||
"'c': Rotate page 180°, 'C' : rotate all pages, ',' : rotate all files\n"
|
||||
"t s r n m: keep left, next page, keep none, keep right, keep as is\n"
|
||||
"z: send this page to the end, 'A':pdf arranger 'R':restart file, 'P':back to previous file\n"
|
||||
f"{fmt('move_left')} / {fmt('move_right')} : Move line 1cm left/right\n"
|
||||
f"'{fmt('rotate_page')}': Rotate page 180°, '{fmt('rotate_all_pages')}' : rotate all pages, '{fmt('rotate_all_files')}' : rotate all files\n"
|
||||
f"{fmt('keep_left')} {fmt('next_page')} {fmt('discard_page')} {fmt('keep_right')} {fmt('keep_as_is')}: keep left, next page, keep none, keep right, keep as is\n"
|
||||
f"{fmt('send_end')}: send page to end, '{fmt('arranger')}': pdf arranger, '{fmt('restart_file')}': restart file, '{fmt('prev_file')}': previous file\n"
|
||||
)
|
||||
|
||||
self.info_label = tk.Label(master, text=instructions, justify=tk.LEFT)
|
||||
self.info_label.pack(pady=5, side=tk.TOP)
|
||||
|
||||
# self.restart_btn = tk.Button(master, text="Restart File (R)", command=self.restart_current_file)
|
||||
# self.restart_btn.pack(pady=2, side=tk.TOP)
|
||||
|
||||
self.page_label = tk.Label(master, text="", font=("Helvetica", 12))
|
||||
self.page_label.pack(pady=5, side=tk.TOP)
|
||||
|
||||
@@ -118,21 +124,43 @@ class PDFPreviewer:
|
||||
self.canvas.pack(fill="both", expand=True)
|
||||
|
||||
# --- Bindings ---
|
||||
self.master.bind("<Left>", self.move_line_left)
|
||||
self.master.bind("<Right>", self.move_line_right)
|
||||
self.master.bind("<Return>", self.confirm_and_next_page)
|
||||
self.master.bind("c", self.rotate_page)
|
||||
self.master.bind("C", self.rotate_all_pages)
|
||||
self.master.bind(",", self.rotate_all_files)
|
||||
self.master.bind("t", self.keep_left)
|
||||
self.master.bind("n", self.keep_right)
|
||||
self.master.bind("m", self.keep_as_is)
|
||||
self.master.bind("s", self.confirm_and_next_page)
|
||||
self.master.bind("r", self.discard_page)
|
||||
self.master.bind("z", self.send_page_end)
|
||||
self.master.bind("R", self.restart_current_file)
|
||||
self.master.bind("A", self.start_arranger)
|
||||
self.master.bind("P", self.go_to_previous_file)
|
||||
action_map = {
|
||||
"move_left": self.move_line_left,
|
||||
"move_right": self.move_line_right,
|
||||
"confirm_next": self.confirm_and_next_page,
|
||||
"rotate_page": self.rotate_page,
|
||||
"rotate_all_pages": self.rotate_all_pages,
|
||||
"rotate_all_files": self.rotate_all_files,
|
||||
"keep_left": self.keep_left,
|
||||
"keep_right": self.keep_right,
|
||||
"keep_as_is": self.keep_as_is,
|
||||
"next_page": self.confirm_and_next_page,
|
||||
"discard_page": self.discard_page,
|
||||
"send_end": self.send_page_end,
|
||||
"restart_file": self.restart_current_file,
|
||||
"arranger": self.start_arranger,
|
||||
"prev_file": self.go_to_previous_file,
|
||||
}
|
||||
|
||||
for action, key in PAGE_SPLITTER_KB.items():
|
||||
if action in action_map:
|
||||
self.master.bind(key, action_map[action])
|
||||
|
||||
# self.master.bind("<Left>", self.move_line_left)
|
||||
# self.master.bind("<Right>", self.move_line_right)
|
||||
# self.master.bind("<Return>", self.confirm_and_next_page)
|
||||
# self.master.bind("c", self.rotate_page)
|
||||
# self.master.bind("C", self.rotate_all_pages)
|
||||
# self.master.bind(",", self.rotate_all_files)
|
||||
# self.master.bind("t", self.keep_left)
|
||||
# self.master.bind("n", self.keep_right)
|
||||
# self.master.bind("m", self.keep_as_is)
|
||||
# self.master.bind("s", self.confirm_and_next_page)
|
||||
# self.master.bind("r", self.discard_page)
|
||||
# self.master.bind("z", self.send_page_end)
|
||||
# self.master.bind("R", self.restart_current_file)
|
||||
# self.master.bind("A", self.start_arranger)
|
||||
# self.master.bind("P", self.go_to_previous_file)
|
||||
|
||||
|
||||
# Bind the resize event on the canvas
|
||||
|
||||
Reference in New Issue
Block a user