adding redo functionality
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user