ui: Keyboard controls (#935)

* switch focus between views with Tab
* move focus within views with WASD/HJKL/Arrows
* move focus between graph edges by holding Shift
* move focus between code references by holding Shift
* removed graph panning with WASD and moved zooming to Alt + W/S
* removed graph navigation by pressing starting character in graph view lists
* changed local reference and custom trail shortcuts
* updated Keyboard Shortcuts window
* use common back and forward shortcuts and YZ & Shift + YZ
* fix macOS issue where widgets don't get proper focus after creating a new tab
* don't use shared_ptr in QtMainView

fixes #486, #327, #214, #210
This commit is contained in:
Eberhard Gräther
2020-03-02 14:48:03 +01:00
committed by GitHub
parent f4b37f9763
commit b0616778f3
98 changed files with 4204 additions and 863 deletions
@@ -183,6 +183,19 @@ void UndoRedoController::handleMessage(MessageDeactivateEdge* message)
processCommand(command);
}
void UndoRedoController::handleMessage(MessageFocusChanged* message)
{
if (sameMessageTypeAsLast(message) &&
static_cast<MessageFocusChanged*>(lastMessage())->tokenOrLocationId ==
message->tokenOrLocationId)
{
return;
}
Command command(std::make_shared<MessageFocusChanged>(*message), Command::ORDER_VIEW, true);
processCommand(command);
}
void UndoRedoController::handleMessage(MessageGraphNodeBundleSplit* message)
{
Command command(std::make_shared<MessageGraphNodeBundleSplit>(*message), Command::ORDER_ADAPT);