From b00dbbbf42a1024226160b37f1eb118ef371b723 Mon Sep 17 00:00:00 2001 From: burnsypet Date: Mon, 25 Mar 2019 19:31:10 +0000 Subject: [PATCH 1/2] Logic to enable/disable redo/undo --- gui/mainMenuBar.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gui/mainMenuBar.py b/gui/mainMenuBar.py index 413098b61..b062cd060 100644 --- a/gui/mainMenuBar.py +++ b/gui/mainMenuBar.py @@ -179,6 +179,21 @@ class MainMenuBar(wx.MenuBar): self.Enable(wx.ID_COPY, enable) self.Enable(self.exportSkillsNeededId, enable) + command_history = self.mainFrame.command.GetCommands() + current_command = self.mainFrame.command.GetCurrentCommand() + + self.Enable(wx.ID_UNDO, True) + self.Enable(wx.ID_REDO, True) + + if len(command_history) == 0: + self.Enable(wx.ID_UNDO, False) + self.Enable(wx.ID_REDO, False) + else: + if current_command not in command_history: + self.Enable(wx.ID_UNDO, False) + if current_command == command_history[len(command_history) - 1]: + self.Enable(wx.ID_REDO, False) + sChar = Character.getInstance() charID = self.mainFrame.charSelection.getActiveCharacter() char = sChar.getCharacter(charID) From bd5ee32227a8b7bb5f36851e997ca58f8b0231e2 Mon Sep 17 00:00:00 2001 From: burnsypet Date: Tue, 2 Apr 2019 19:29:03 +0100 Subject: [PATCH 2/2] change logic --- gui/mainMenuBar.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gui/mainMenuBar.py b/gui/mainMenuBar.py index b062cd060..de860385e 100644 --- a/gui/mainMenuBar.py +++ b/gui/mainMenuBar.py @@ -179,20 +179,14 @@ class MainMenuBar(wx.MenuBar): self.Enable(wx.ID_COPY, enable) self.Enable(self.exportSkillsNeededId, enable) - command_history = self.mainFrame.command.GetCommands() - current_command = self.mainFrame.command.GetCurrentCommand() + command = self.mainFrame.command + self.Enable(wx.ID_UNDO, False) + self.Enable(wx.ID_REDO, False) - self.Enable(wx.ID_UNDO, True) - self.Enable(wx.ID_REDO, True) - - if len(command_history) == 0: - self.Enable(wx.ID_UNDO, False) - self.Enable(wx.ID_REDO, False) - else: - if current_command not in command_history: - self.Enable(wx.ID_UNDO, False) - if current_command == command_history[len(command_history) - 1]: - self.Enable(wx.ID_REDO, False) + if command.CanUndo(): + self.Enable(wx.ID_UNDO, True) + if command.CanRedo(): + self.Enable(wx.ID_REDO, True) sChar = Character.getInstance() charID = self.mainFrame.charSelection.getActiveCharacter()