adding redo functionality

This commit is contained in:
Viljar Bergstøl
2025-11-03 16:03:44 +01:00
parent b417803472
commit 80fa44a836
2 changed files with 29 additions and 1 deletions

View File

@@ -91,6 +91,7 @@ class GUI:
edit_menu = tk.Menu(menu, tearoff=0)
menu.add_cascade(label="Edit", menu=edit_menu)
edit_menu.add_command(label="Undo", accelerator="Ctrl+Z", command=lambda: self._undo())
edit_menu.add_command(label="Redo", accelerator="Ctrl+Y", command=lambda: self._redo())
edit_menu.add_separator()
edit_menu.add_command(label="Toggle Selection Mode", accelerator="Ctrl+S", command=lambda: self._toggleSelectionMode())
@@ -118,6 +119,7 @@ class GUI:
# Key bindings
root.bind_all('<Control-z>', lambda event: self._undo())
root.bind_all('<Control-y>', lambda event: self._redo())
root.bind_all('<Control-s>', lambda event: self._toggleSelectionMode())
root.mainloop()
@@ -184,6 +186,12 @@ class GUI:
self._currentImage.undo()
self._renderCurrentImage()
def _redo(self) -> None:
if self._currentImage is None:
return
self._currentImage.redo()
self._renderCurrentImage()
def _toggleSelectionMode(self) -> None:
"""Toggle interactive selection mode on/off."""
self._selectionMode = not self._selectionMode