diff options
author | Eugene Sandulenko | 2016-02-05 19:37:13 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2016-02-14 17:13:03 +0100 |
commit | 1d5220ef3fb5ed1a869d88ee67b28cb0433f8578 (patch) | |
tree | 0461a4eead43c6ec61d2d5ffbc23ba857b53dba8 /engines | |
parent | 3570e417c9ab4ab47be65b76d0481f6323e6e74e (diff) | |
download | scummvm-rg350-1d5220ef3fb5ed1a869d88ee67b28cb0433f8578.tar.gz scummvm-rg350-1d5220ef3fb5ed1a869d88ee67b28cb0433f8578.tar.bz2 scummvm-rg350-1d5220ef3fb5ed1a869d88ee67b28cb0433f8578.zip |
WAGE: Implement Undo action
Diffstat (limited to 'engines')
-rw-r--r-- | engines/wage/gui.cpp | 12 | ||||
-rw-r--r-- | engines/wage/gui.h | 2 | ||||
-rw-r--r-- | engines/wage/menu.cpp | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/engines/wage/gui.cpp b/engines/wage/gui.cpp index cd4a62bc20..d158d480f8 100644 --- a/engines/wage/gui.cpp +++ b/engines/wage/gui.cpp @@ -832,8 +832,18 @@ void Gui::actionCopy() { } void Gui::actionPaste() { - _engine->_inputText = _clipboard; + _undobuffer = _engine->_inputText; + _engine->_inputText += _clipboard; drawInput(); + + _menu->enableCommand(kMenuEdit, kMenuActionUndo, true); +} + +void Gui::actionUndo() { + _engine->_inputText = _undobuffer; + drawInput(); + + _menu->enableCommand(kMenuEdit, kMenuActionUndo, false); } } // End of namespace Wage diff --git a/engines/wage/gui.h b/engines/wage/gui.h index 7270a782ce..6d33abb948 100644 --- a/engines/wage/gui.h +++ b/engines/wage/gui.h @@ -106,6 +106,7 @@ public: void actionCopy(); void actionPaste(); + void actionUndo(); private: void paintBorder(Graphics::Surface *g, Common::Rect &r, WindowType windowType); @@ -160,6 +161,7 @@ private: int _selectionEndY; Common::String _clipboard; + Common::String _undobuffer; }; } // End of namespace Wage diff --git a/engines/wage/menu.cpp b/engines/wage/menu.cpp index 2a1f6e62e4..83e610a92d 100644 --- a/engines/wage/menu.cpp +++ b/engines/wage/menu.cpp @@ -516,6 +516,8 @@ void Menu::executeCommand(MenuSubItem *subitem) { case kMenuActionQuit: case kMenuActionUndo: + _gui->actionUndo(); + break; case kMenuActionCut: warning("STUB: Unhandled shortcut"); break; |