Elm glayer: Added key grab for CTRL to finish zoom
authortasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 18 Jul 2011 11:25:54 +0000 (11:25 +0000)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Mon, 24 Oct 2011 09:18:21 +0000 (18:18 +0900)
Signed-off-by: Aharon Hillel <a.hillel@partner.samsung.com>
git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@61478 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_gesture_layer.c

index 05846e5..6f655cc 100644 (file)
@@ -640,6 +640,10 @@ _zoom_test_reset(Gesture_Info *gesture)
    Widget_Data *wd = elm_widget_data_get(gesture->obj);
    Zoom_Type *st = gesture->data;
    Pointer_Event pe, pe1;
+   Evas_Modifier_Mask mask = evas_key_modifier_mask_get(
+         evas_object_evas_get(wd->target), "Control");
+   evas_object_key_ungrab(wd->target, "Control_L", mask, 0);
+   evas_object_key_ungrab(wd->target, "Control_R", mask, 0);
 
    pe.timestamp = pe1.timestamp = 0;
 
@@ -2169,8 +2173,14 @@ _zoom_with_wheel_test(Evas_Object *obj, void *event_info,
                 }
               else
                 {  /* On first wheel event, report START */
+                   Evas_Modifier_Mask mask = evas_key_modifier_mask_get(
+                            evas_object_evas_get(wd->target), "Control");
                    force = EINA_FALSE;
                    s = ELM_GESTURE_STATE_START;
+                   if (!evas_object_key_grab(wd->target, "Control_L", mask, 0, EINA_FALSE))
+                     ERR("Failed to Grabbed CTRL_L");
+                   if (!evas_object_key_grab(wd->target, "Control_R", mask, 0, EINA_FALSE))
+                     ERR("Failed to Grabbed CTRL_R");
                 }
 
               st->zoom_distance_tolerance = 0; /* Cancel tolerance */