Code

Temporary shortcut for LPEParallel in pen tool
[inkscape.git] / src / pen-context.cpp
index 56594bb6dda102a1d39233a72da3ec5132bfba91..78baacc76b210d4ac6446fff3f1aae4f0f00695f 100644 (file)
@@ -991,6 +991,38 @@ pen_handle_key_press(SPPenContext *const pc, GdkEvent *event)
             }
             break;
 
+        case GDK_P:
+        case GDK_p:
+            if (MOD__SHIFT_ONLY) {
+                sp_pen_context_wait_for_LPE_mouse_clicks(pc, Inkscape::LivePathEffect::PARALLEL, 2);
+                ret = TRUE;
+            }
+            break;
+
+        case GDK_C:
+        case GDK_c:
+            if (MOD__SHIFT_ONLY) {
+                sp_pen_context_wait_for_LPE_mouse_clicks(pc, Inkscape::LivePathEffect::CIRCLE_3PTS, 3);
+                ret = TRUE;
+            }
+            break;
+
+        case GDK_B:
+        case GDK_b:
+            if (MOD__SHIFT_ONLY) {
+                sp_pen_context_wait_for_LPE_mouse_clicks(pc, Inkscape::LivePathEffect::PERP_BISECTOR, 2);
+                ret = TRUE;
+            }
+            break;
+
+        case GDK_A:
+        case GDK_a:
+            if (MOD__SHIFT_ONLY) {
+                sp_pen_context_wait_for_LPE_mouse_clicks(pc, Inkscape::LivePathEffect::ANGLE_BISECTOR, 3);
+                ret = TRUE;
+            }
+            break;
+
         case GDK_U:
         case GDK_u:
             if (MOD__SHIFT_ONLY) {
@@ -1293,6 +1325,17 @@ pen_enable_events(SPPenContext *const pc) {
   pc->events_disabled--;
 }
 
+void
+sp_pen_context_wait_for_LPE_mouse_clicks(SPPenContext *pc, Inkscape::LivePathEffect::EffectType effect_type,
+                                         unsigned int num_clicks, bool use_polylines)
+{
+    g_print ("Now waiting for %s to be applied\n",
+             Inkscape::LivePathEffect::LPETypeConverter.get_label(effect_type).c_str());
+    pc->expecting_clicks_for_LPE = num_clicks;
+    pc->polylines_only = use_polylines;
+    pc->waiting_LPE_type = effect_type;
+}
+
 /*
   Local Variables:
   mode:c++