From: <hug...@li...> - 2011-10-02 07:33:02
|
branch: details: http://hugin.hg.sourceforge.net/hgweb/hugin/hugin/hgrepo/h/hu/hugin/hugin/rev/e1439886a469 changeset: 5609:e1439886a469 user: tmodes date: Sun Oct 02 09:31:48 2011 +0200 description: Execute undo and redo in preview only if available diffstat: src/hugin1/hugin/GLPreviewFrame.cpp | 22 ++++++++++++++++++---- src/hugin1/hugin/PreviewFrame.cpp | 22 ++++++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diffs (71 lines): diff -r 258e4de811b7 -r e1439886a469 src/hugin1/hugin/GLPreviewFrame.cpp --- a/src/hugin1/hugin/GLPreviewFrame.cpp Sat Oct 01 18:21:23 2011 +0200 +++ b/src/hugin1/hugin/GLPreviewFrame.cpp Sun Oct 02 09:31:48 2011 +0200 @@ -2350,14 +2350,28 @@ void GLPreviewFrame::OnUndo(wxCommandEvent &e) { - wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITUNDO")); - m_parent->GetEventHandler()->AddPendingEvent(dummy); + if(GlobalCmdHist::getInstance().canUndo()) + { + wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITUNDO")); + m_parent->GetEventHandler()->AddPendingEvent(dummy); + } + else + { + wxBell(); + }; }; void GLPreviewFrame::OnRedo(wxCommandEvent &e) { - wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITREDO")); - m_parent->GetEventHandler()->AddPendingEvent(dummy); + if(GlobalCmdHist::getInstance().canRedo()) + { + wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITREDO")); + m_parent->GetEventHandler()->AddPendingEvent(dummy); + } + else + { + wxBell(); + }; }; void GLPreviewFrame::SetMode(int newMode) diff -r 258e4de811b7 -r e1439886a469 src/hugin1/hugin/PreviewFrame.cpp --- a/src/hugin1/hugin/PreviewFrame.cpp Sat Oct 01 18:21:23 2011 +0200 +++ b/src/hugin1/hugin/PreviewFrame.cpp Sun Oct 02 09:31:48 2011 +0200 @@ -963,13 +963,27 @@ void PreviewFrame::OnUndo(wxCommandEvent &e) { - wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITUNDO")); - m_parent->GetEventHandler()->AddPendingEvent(dummy); + if(GlobalCmdHist::getInstance().canUndo()) + { + wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITUNDO")); + m_parent->GetEventHandler()->AddPendingEvent(dummy); + } + else + { + wxBell(); + }; }; void PreviewFrame::OnRedo(wxCommandEvent &e) { - wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITREDO")); - m_parent->GetEventHandler()->AddPendingEvent(dummy); + if(GlobalCmdHist::getInstance().canRedo()) + { + wxCommandEvent dummy(wxEVT_COMMAND_MENU_SELECTED, XRCID("ID_EDITREDO")); + m_parent->GetEventHandler()->AddPendingEvent(dummy); + } + else + { + wxBell(); + }; }; |