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

+20 -6
View File
@@ -284,6 +284,7 @@ class ImageReviewer:
self.current_width_offset = 0
self.default_max_per_file = default_max_per_file
self.current_max_per_file = default_max_per_file
self.review_settings: dict[int, tuple[int, int, int]] = {}
self.current_preview: Image.Image | None = None
self.is_processing = False
self.manual_queue: Queue[
@@ -298,6 +299,8 @@ class ImageReviewer:
self.label_info = tk.Label(self.root, text="", font=("Arial", 12, "bold"))
self.label_info.pack(pady=5)
self.root.bind("<Return>", self.on_next)
self.root.bind("p", self.on_previous)
self.root.bind("P", self.on_previous)
self.root.bind("!", self.on_skip)
self.root.protocol("WM_DELETE_WINDOW", self.on_close)
self.root.bind("<Left>", lambda _event: self.on_shift(-CROP_SHIFT_STEP))
@@ -343,8 +346,9 @@ class ImageReviewer:
self.on_close()
return
self.is_processing = False
self.current_shift = 0
self.current_width_offset = 0
self.current_shift, self.current_width_offset, self.current_max_per_file = (
self.review_settings.get(self.index, (0, 0, self.default_max_per_file))
)
self.current_result = None
self.margin_analysis = None
self.trigger_processing(self.files[self.index], self.current_shift)
@@ -426,7 +430,7 @@ class ImageReviewer:
f"Cols: {schema['columns_per_file']}\n"
f"{margin_info}"
"Arrows: left/right move by 50px | up/down widen/narrow by 50px\n"
"Enter: Save and next | !: flag error and skip | 1: use full pages"
"Enter: Save and next | P/p: previous copy | !: flag error and skip | 1: use full pages"
f"{personal_instructions}"
),
fg="black",
@@ -474,11 +478,21 @@ class ImageReviewer:
self.stop_prefetch.set()
self.root.destroy()
def _remember_settings(self) -> None:
self.review_settings[self.index] = (
self.current_shift, self.current_width_offset, self.current_max_per_file,
)
def on_previous(self, _event=None) -> None:
if self.is_processing or self.index == 0:
return
self._remember_settings()
self.index -= 1
self.load_current_image()
def _advance(self) -> None:
self._remember_settings()
self.index += 1
self.current_shift = 0
self.current_width_offset = 0
self.current_max_per_file = self.default_max_per_file
self.load_current_image()