logic: Return to last scroll position in code view on undo

* fixed scrolling on undo
* refactored autoscrolling in code view
* save scroll position of user with MessageScrollCode
This commit is contained in:
Eberhard Graether
2016-01-29 13:08:30 +01:00
parent 427c94457b
commit ead0abfba2
20 changed files with 240 additions and 91 deletions
@@ -100,7 +100,7 @@ void CodeController::handleMessage(MessageActivateTokens* message)
if (message->isEdge)
{
view->showFirstActiveSnippet(activeTokenIds);
view->showFirstActiveSnippet(activeTokenIds, message->isLast());
}
if (message->keepContent())
@@ -202,6 +202,14 @@ void CodeController::handleMessage(MessageFocusOut* message)
getView()->defocusTokenIds();
}
void CodeController::handleMessage(MessageScrollCode* message)
{
if (!message->isFresh())
{
getView()->scrollToValue(message->value);
}
}
void CodeController::handleMessage(MessageShowErrors* message)
{
std::vector<std::string> errorMessages;