diff options
author | Eugene Sandulenko | 2017-08-15 19:50:48 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-08-15 19:51:33 +0200 |
commit | 7313de59b6df6f2f06d4be9b1833ba19b0e43f85 (patch) | |
tree | efb736cf8adf9df430871c4bb7ca1fb463129cda /engines | |
parent | df7bd3033e49672abe11f53318ba30a01ff85252 (diff) | |
download | scummvm-rg350-7313de59b6df6f2f06d4be9b1833ba19b0e43f85.tar.gz scummvm-rg350-7313de59b6df6f2f06d4be9b1833ba19b0e43f85.tar.bz2 scummvm-rg350-7313de59b6df6f2f06d4be9b1833ba19b0e43f85.zip |
WAGE: Use new MacTextWindow API for selection cut/clear
This enables multiline selection cutting and clearing.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/wage/gui.cpp | 38 |
1 files changed, 4 insertions, 34 deletions
diff --git a/engines/wage/gui.cpp b/engines/wage/gui.cpp index 3159d80a71..53f83bb97c 100644 --- a/engines/wage/gui.cpp +++ b/engines/wage/gui.cpp @@ -357,60 +357,30 @@ void Gui::actionUndo() { } void Gui::actionClear() { - const Graphics::SelectedText *s = _consoleWindow->getSelectedText(); - - if (s->endY == -1) + if (_consoleWindow->getSelectedText()->endY == -1) return; - int startPos = s->startCol; - int endPos = s->endCol; - - if (startPos > endPos) - SWAP(startPos, endPos); - Common::String input = _consoleWindow->getInput(); - Common::String beg(input.c_str(), &input.c_str()[startPos]); - Common::String end(&input.c_str()[endPos]); + _consoleWindow->cutSelection(); _undobuffer = input; - _consoleWindow->clearInput(); - _consoleWindow->appendInput(beg + end); - _menu->enableCommand(kMenuEdit, kMenuActionUndo, true); - - _consoleWindow->clearSelection(); } void Gui::actionCut() { - const Graphics::SelectedText *s = _consoleWindow->getSelectedText(); - - if (s->endY == -1) + if (_consoleWindow->getSelectedText()->endY == -1) return; - int startPos = s->startCol; - int endPos = s->endCol; - - if (s->startRow > s->endRow || (s->startRow == s->endRow && startPos > endPos)) - SWAP(startPos, endPos); - Common::String input = _consoleWindow->getInput(); - Common::String beg(input.c_str(), &input.c_str()[startPos]); - Common::String mid(&input.c_str()[startPos], &input.c_str()[endPos]); - Common::String end(&input.c_str()[endPos]); + _clipboard = _consoleWindow->cutSelection(); _undobuffer = input; - _consoleWindow->clearInput(); - _consoleWindow->appendInput(beg + end); - _clipboard = mid; - _menu->enableCommand(kMenuEdit, kMenuActionUndo, true); _menu->enableCommand(kMenuEdit, kMenuActionPaste, true); - - _consoleWindow->clearSelection(); } void Gui::disableUndo() { |