diff options
| -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() {  | 
