diff options
| author | Antonio Ospite <ao2@ao2.it> | 2018-10-31 16:37:16 +0000 |
|---|---|---|
| committer | Antonio Ospite <ao2@ao2.it> | 2018-11-01 17:22:44 +0000 |
| commit | e521fdc704b7640f6cfee5f9a519a3d780445f2b (patch) | |
| tree | cedafa7036a719e2c5628ce331e994c5830c8fc2 /src/ui/tools/tool-base.cpp | |
| parent | KnotHolder: fix knots selection status when a knot is clicked without Shift (diff) | |
| download | inkscape-e521fdc704b7640f6cfee5f9a519a3d780445f2b.tar.gz inkscape-e521fdc704b7640f6cfee5f9a519a3d780445f2b.zip | |
ToolBase::root_handler: fix keyboard movement for KEY_Up and KEY_Down events
Moving shape knots up and down with the keyboard moves them in the
opposite direction when the Y axis goes downwards.
This happens because commit 1fa0c72b66 (New option to invert y-axis,
2018-09-12) forgot to handle Y direction in src/ui/tools/tool-base.cpp.
Fix the issue by applying the Y axis direction factor just like it's
done in src/ui/tool/control-point-selection.cpp.
Diffstat (limited to 'src/ui/tools/tool-base.cpp')
| -rw-r--r-- | src/ui/tools/tool-base.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index 8637b640d..20aad1424 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -651,10 +651,10 @@ bool ToolBase::root_handler(GdkEvent* event) { acceleration, desktop->getCanvas())); gobble_key_events(get_latin_keyval(&event->key), GDK_CONTROL_MASK); - this->desktop->scroll_relative(Geom::Point(0, i)); + this->desktop->scroll_relative(Geom::Point(0, -i * desktop->yaxisdir())); ret = TRUE; } else { - ret = _keyboardMove(event->key, Geom::Point(0, 1)); + ret = _keyboardMove(event->key, Geom::Point(0, -desktop->yaxisdir())); } break; @@ -681,10 +681,10 @@ bool ToolBase::root_handler(GdkEvent* event) { acceleration, desktop->getCanvas())); gobble_key_events(get_latin_keyval(&event->key), GDK_CONTROL_MASK); - this->desktop->scroll_relative(Geom::Point(0, -i)); + this->desktop->scroll_relative(Geom::Point(0, i * desktop->yaxisdir())); ret = TRUE; } else { - ret = _keyboardMove(event->key, Geom::Point(0, -1)); + ret = _keyboardMove(event->key, Geom::Point(0, desktop->yaxisdir())); } break; |
