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:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <set>
|
||||
|
||||
#include "CodeFocusHandler.h"
|
||||
#include "CodeScrollParams.h"
|
||||
#include "CodeSnippetParams.h"
|
||||
#include "types.h"
|
||||
@@ -28,14 +29,21 @@ public:
|
||||
const FilePath& filePath,
|
||||
size_t lineNumber,
|
||||
Id locationId,
|
||||
Id scopeLocationId,
|
||||
bool animated,
|
||||
CodeScrollParams::Target target) = 0;
|
||||
CodeScrollParams::Target target,
|
||||
bool focusTarget) = 0;
|
||||
|
||||
virtual void onWindowFocus() = 0;
|
||||
|
||||
virtual void findScreenMatches(
|
||||
const std::wstring& query, std::vector<std::pair<QtCodeArea*, Id>>* screenMatches) = 0;
|
||||
|
||||
virtual void setFocus(Id locationId) = 0;
|
||||
virtual void setFocusOnTop() = 0;
|
||||
virtual void moveFocus(
|
||||
const CodeFocusHandler::Focus& focus, CodeFocusHandler::Direction direction) = 0;
|
||||
|
||||
protected:
|
||||
void ensureWidgetVisibleAnimated(
|
||||
const QWidget* parentWidget,
|
||||
|
||||
Reference in New Issue
Block a user