From b9ef8969f950ac525cc171dbfdb7684190003db1 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Fri, 2 Apr 2010 20:11:38 +0200 Subject: Add Ctrl+H as a shortcut for "show handles" in the node tool. Fixed bugs: - https://launchpad.net/bugs/324208 (bzr r9277) --- src/ui/tool/node-tool.cpp | 12 +++++++++++- src/ui/tool/node-tool.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/ui/tool') diff --git a/src/ui/tool/node-tool.cpp b/src/ui/tool/node-tool.cpp index 443e7f258..b5f420597 100644 --- a/src/ui/tool/node-tool.cpp +++ b/src/ui/tool/node-tool.cpp @@ -316,7 +316,8 @@ void ink_node_tool_set(SPEventContext *ec, Inkscape::Preferences::Entry *value) Glib::ustring entry_name = value->getEntryName(); if (entry_name == "show_handles") { - nt->_multipath->showHandles(value->getBool(true)); + nt->show_handles = value->getBool(true); + nt->_multipath->showHandles(nt->show_handles); } else if (entry_name == "show_outline") { nt->show_outline = value->getBool(); nt->_multipath->showOutline(nt->show_outline); @@ -491,6 +492,7 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event) ink_node_tool_update_tip(nt, event); return TRUE; case GDK_a: + case GDK_A: if (held_control(event->key) && held_alt(event->key)) { nt->_selected_nodes->selectAll(); // Ctrl+A is handled in selection-chemistry.cpp via verb @@ -498,6 +500,14 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event) return TRUE; } break; + case GDK_h: + case GDK_H: + if (held_only_control(event->key)) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setBool("/tools/nodes/show_handles", !nt->show_handles); + return TRUE; + } + break; default: break; } diff --git a/src/ui/tool/node-tool.h b/src/ui/tool/node-tool.h index baac642ac..641d064c1 100644 --- a/src/ui/tool/node-tool.h +++ b/src/ui/tool/node-tool.h @@ -58,6 +58,7 @@ struct InkNodeTool : public SPEventContext SPItem *_last_over; unsigned cursor_drag : 1; + unsigned show_handles : 1; unsigned show_outline : 1; unsigned live_outline : 1; unsigned live_objects : 1; -- cgit v1.2.3 From d12b9c9fa87c4fc4f7842e5d6512c4f17298cce7 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Sat, 3 Apr 2010 03:56:36 +0200 Subject: Initial fix for the inverted coordinate system bug (bzr r9281.1.1) --- src/ui/tool/control-point-selection.cpp | 4 ++-- src/ui/tool/path-manipulator.cpp | 2 +- src/ui/tool/transform-handle-set.cpp | 24 ++++++++++++------------ 3 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src/ui/tool') diff --git a/src/ui/tool/control-point-selection.cpp b/src/ui/tool/control-point-selection.cpp index f880d2ddf..dfbf1170a 100644 --- a/src/ui/tool/control-point-selection.cpp +++ b/src/ui/tool/control-point-selection.cpp @@ -545,11 +545,11 @@ bool ControlPointSelection::event(GdkEvent *event) case GDK_Up: case GDK_KP_Up: case GDK_KP_8: - return _keyboardMove(event->key, Geom::Point(0, 1)); + return _keyboardMove(event->key, Geom::Point(0, -1)); case GDK_Down: case GDK_KP_Down: case GDK_KP_2: - return _keyboardMove(event->key, Geom::Point(0, -1)); + return _keyboardMove(event->key, Geom::Point(0, 1)); case GDK_Right: case GDK_KP_Right: case GDK_KP_6: diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp index 66f72f379..a50be873a 100644 --- a/src/ui/tool/path-manipulator.cpp +++ b/src/ui/tool/path-manipulator.cpp @@ -1193,7 +1193,7 @@ void PathManipulator::_updateOutline() Geom::Point at = j->pointAt(0.5); Geom::Point ut = j->unitTangentAt(0.5); // rotate the point - ut *= Geom::Rotate(150.0 / 180.0 * M_PI); + ut *= Geom::Rotate(210.0 / 180.0 * M_PI); Geom::Point arrow_end = _desktop->w2d( _desktop->d2w(at) + Geom::unit_vector(_desktop->d2w(ut)) * 10.0); diff --git a/src/ui/tool/transform-handle-set.cpp b/src/ui/tool/transform-handle-set.cpp index 1af848b96..4cbc5ed4d 100644 --- a/src/ui/tool/transform-handle-set.cpp +++ b/src/ui/tool/transform-handle-set.cpp @@ -34,17 +34,17 @@ namespace UI { namespace { Gtk::AnchorType corner_to_anchor(unsigned c) { switch (c % 4) { - case 0: return Gtk::ANCHOR_NE; - case 1: return Gtk::ANCHOR_NW; - case 2: return Gtk::ANCHOR_SW; - default: return Gtk::ANCHOR_SE; + case 0: return Gtk::ANCHOR_SE; + case 1: return Gtk::ANCHOR_SW; + case 2: return Gtk::ANCHOR_NW; + default: return Gtk::ANCHOR_NE; } } Gtk::AnchorType side_to_anchor(unsigned s) { switch (s % 4) { - case 0: return Gtk::ANCHOR_N; + case 0: return Gtk::ANCHOR_S; case 1: return Gtk::ANCHOR_W; - case 2: return Gtk::ANCHOR_S; + case 2: return Gtk::ANCHOR_N; default: return Gtk::ANCHOR_E; } } @@ -208,8 +208,8 @@ private: static Glib::RefPtr _corner_to_pixbuf(unsigned c) { sp_select_context_get_type(); switch (c % 2) { - case 0: return Glib::wrap(handles[1], true); - default: return Glib::wrap(handles[0], true); + case 0: return Glib::wrap(handles[0], true); + default: return Glib::wrap(handles[1], true); } } Geom::Point _sc_center; @@ -332,10 +332,10 @@ private: static Glib::RefPtr _corner_to_pixbuf(unsigned c) { sp_select_context_get_type(); switch (c % 4) { - case 0: return Glib::wrap(handles[10], true); - case 1: return Glib::wrap(handles[8], true); - case 2: return Glib::wrap(handles[6], true); - default: return Glib::wrap(handles[4], true); + case 0: return Glib::wrap(handles[4], true); + case 1: return Glib::wrap(handles[6], true); + case 2: return Glib::wrap(handles[8], true); + default: return Glib::wrap(handles[10], true); } } Geom::Point _rot_center; -- cgit v1.2.3 From 078d8b361e3b5c390a5f1b49986b7347f8003d67 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Sat, 3 Apr 2010 04:24:37 +0200 Subject: Fix rotation in node and select tool (bzr r9281.1.2) --- src/ui/tool/control-point-selection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ui/tool') diff --git a/src/ui/tool/control-point-selection.cpp b/src/ui/tool/control-point-selection.cpp index dfbf1170a..c7fc8a3cc 100644 --- a/src/ui/tool/control-point-selection.cpp +++ b/src/ui/tool/control-point-selection.cpp @@ -561,9 +561,9 @@ bool ControlPointSelection::event(GdkEvent *event) // rotates case GDK_bracketleft: - return _keyboardRotate(event->key, 1); - case GDK_bracketright: return _keyboardRotate(event->key, -1); + case GDK_bracketright: + return _keyboardRotate(event->key, 1); // scaling case GDK_less: -- cgit v1.2.3 From 60e01e694ad379737b6ef436b8973e67871979b1 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Sat, 3 Apr 2010 05:05:19 +0200 Subject: Fix single-handle keybindings (bzr r9281.1.4) --- src/ui/tool/multi-path-manipulator.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/ui/tool') diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp index 2025a12d7..392518207 100644 --- a/src/ui/tool/multi-path-manipulator.cpp +++ b/src/ui/tool/multi-path-manipulator.cpp @@ -470,12 +470,10 @@ bool MultiPathManipulator::event(GdkEvent *event) // single handle functions // rotation case GDK_bracketleft: - case GDK_braceleft: - pm.rotateHandle(n, which, 1, one_pixel); + pm.rotateHandle(n, which, -1, one_pixel); break; case GDK_bracketright: - case GDK_braceright: - pm.rotateHandle(n, which, -1, one_pixel); + pm.rotateHandle(n, which, 1, one_pixel); break; // adjust length case GDK_period: -- cgit v1.2.3 From 95a0c8412e84f5e0cc1d9a63fce2be75f9fa517e Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Tue, 6 Apr 2010 16:11:54 +0200 Subject: Revert the inverted coordinate system fix. 3D Boxes and guides require an XML-level backwards compatibility mechanism to fix properly, and it's too late in the 0.48 cycle to introduce it. (bzr r9298) --- src/ui/tool/control-point-selection.cpp | 8 ++++---- src/ui/tool/multi-path-manipulator.cpp | 6 ++++-- src/ui/tool/path-manipulator.cpp | 2 +- src/ui/tool/transform-handle-set.cpp | 24 ++++++++++++------------ 4 files changed, 21 insertions(+), 19 deletions(-) (limited to 'src/ui/tool') diff --git a/src/ui/tool/control-point-selection.cpp b/src/ui/tool/control-point-selection.cpp index c7fc8a3cc..f880d2ddf 100644 --- a/src/ui/tool/control-point-selection.cpp +++ b/src/ui/tool/control-point-selection.cpp @@ -545,11 +545,11 @@ bool ControlPointSelection::event(GdkEvent *event) case GDK_Up: case GDK_KP_Up: case GDK_KP_8: - return _keyboardMove(event->key, Geom::Point(0, -1)); + return _keyboardMove(event->key, Geom::Point(0, 1)); case GDK_Down: case GDK_KP_Down: case GDK_KP_2: - return _keyboardMove(event->key, Geom::Point(0, 1)); + return _keyboardMove(event->key, Geom::Point(0, -1)); case GDK_Right: case GDK_KP_Right: case GDK_KP_6: @@ -561,9 +561,9 @@ bool ControlPointSelection::event(GdkEvent *event) // rotates case GDK_bracketleft: - return _keyboardRotate(event->key, -1); - case GDK_bracketright: return _keyboardRotate(event->key, 1); + case GDK_bracketright: + return _keyboardRotate(event->key, -1); // scaling case GDK_less: diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp index 392518207..2025a12d7 100644 --- a/src/ui/tool/multi-path-manipulator.cpp +++ b/src/ui/tool/multi-path-manipulator.cpp @@ -470,10 +470,12 @@ bool MultiPathManipulator::event(GdkEvent *event) // single handle functions // rotation case GDK_bracketleft: - pm.rotateHandle(n, which, -1, one_pixel); + case GDK_braceleft: + pm.rotateHandle(n, which, 1, one_pixel); break; case GDK_bracketright: - pm.rotateHandle(n, which, 1, one_pixel); + case GDK_braceright: + pm.rotateHandle(n, which, -1, one_pixel); break; // adjust length case GDK_period: diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp index a50be873a..66f72f379 100644 --- a/src/ui/tool/path-manipulator.cpp +++ b/src/ui/tool/path-manipulator.cpp @@ -1193,7 +1193,7 @@ void PathManipulator::_updateOutline() Geom::Point at = j->pointAt(0.5); Geom::Point ut = j->unitTangentAt(0.5); // rotate the point - ut *= Geom::Rotate(210.0 / 180.0 * M_PI); + ut *= Geom::Rotate(150.0 / 180.0 * M_PI); Geom::Point arrow_end = _desktop->w2d( _desktop->d2w(at) + Geom::unit_vector(_desktop->d2w(ut)) * 10.0); diff --git a/src/ui/tool/transform-handle-set.cpp b/src/ui/tool/transform-handle-set.cpp index 4cbc5ed4d..1af848b96 100644 --- a/src/ui/tool/transform-handle-set.cpp +++ b/src/ui/tool/transform-handle-set.cpp @@ -34,17 +34,17 @@ namespace UI { namespace { Gtk::AnchorType corner_to_anchor(unsigned c) { switch (c % 4) { - case 0: return Gtk::ANCHOR_SE; - case 1: return Gtk::ANCHOR_SW; - case 2: return Gtk::ANCHOR_NW; - default: return Gtk::ANCHOR_NE; + case 0: return Gtk::ANCHOR_NE; + case 1: return Gtk::ANCHOR_NW; + case 2: return Gtk::ANCHOR_SW; + default: return Gtk::ANCHOR_SE; } } Gtk::AnchorType side_to_anchor(unsigned s) { switch (s % 4) { - case 0: return Gtk::ANCHOR_S; + case 0: return Gtk::ANCHOR_N; case 1: return Gtk::ANCHOR_W; - case 2: return Gtk::ANCHOR_N; + case 2: return Gtk::ANCHOR_S; default: return Gtk::ANCHOR_E; } } @@ -208,8 +208,8 @@ private: static Glib::RefPtr _corner_to_pixbuf(unsigned c) { sp_select_context_get_type(); switch (c % 2) { - case 0: return Glib::wrap(handles[0], true); - default: return Glib::wrap(handles[1], true); + case 0: return Glib::wrap(handles[1], true); + default: return Glib::wrap(handles[0], true); } } Geom::Point _sc_center; @@ -332,10 +332,10 @@ private: static Glib::RefPtr _corner_to_pixbuf(unsigned c) { sp_select_context_get_type(); switch (c % 4) { - case 0: return Glib::wrap(handles[4], true); - case 1: return Glib::wrap(handles[6], true); - case 2: return Glib::wrap(handles[8], true); - default: return Glib::wrap(handles[10], true); + case 0: return Glib::wrap(handles[10], true); + case 1: return Glib::wrap(handles[8], true); + case 2: return Glib::wrap(handles[6], true); + default: return Glib::wrap(handles[4], true); } } Geom::Point _rot_center; -- cgit v1.2.3