aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2016-02-05 19:37:13 +0100
committerEugene Sandulenko2016-02-14 17:13:03 +0100
commit1d5220ef3fb5ed1a869d88ee67b28cb0433f8578 (patch)
tree0461a4eead43c6ec61d2d5ffbc23ba857b53dba8 /engines
parent3570e417c9ab4ab47be65b76d0481f6323e6e74e (diff)
downloadscummvm-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.cpp12
-rw-r--r--engines/wage/gui.h2
-rw-r--r--engines/wage/menu.cpp2
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;