Accept all of gesture disable request from quickpanel 44/107844/4
authorJengHyun Kang <jhyuni.kang@samsung.com>
Fri, 30 Dec 2016 06:42:35 +0000 (15:42 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Wed, 4 Jan 2017 10:34:26 +0000 (19:34 +0900)
Change-Id: Ieb3a020e8c050acca5c0c3951a66e5393f47009f

configure.ac
packaging/e-mod-tizen-gesture.spec
src/e_mod_gesture_events.c
src/e_mod_main.c

index c1e5180681881746841ab5e64dfe36d5cc1f1fea..56fca6d89734fd8b6fd022109e437c7b91e56b1e 100644 (file)
@@ -64,7 +64,8 @@ dnl ========================================================================
 # checks for pkg-config
 dnl ========================================================================
 PKG_CHECK_MODULES(ENLIGHTENMENT, [enlightenment,
-                                  dlog])
+                                  dlog,
+                                  tzsh-server])
 ENLIGHTENMENT_CFLAGS="${ENLIGHTENMENT_CFLAGS} -D_GNU_SOURCE "
 AC_SUBST(ENLIGHTENMENT_CFLAGS)
 AC_SUBST(ENLIGHTENMENT_LIBS)
index ad6effa54dbd4da20f986ba711881515c8022e0e..aed033371235091e51f5f08320eb077d65ed816e 100644 (file)
@@ -14,6 +14,7 @@ BuildRequires:  gettext
 BuildRequires:  pkgconfig(wayland-server)
 BuildRequires:  pkgconfig(tizen-extension-server)
 BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(tzsh-server)
 
 %global TZ_SYS_RO_SHARE  %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:/usr/share}
 
index d91d31b1abd886dd9904d77d83fee737daf2ad00..6627b5c0fdf019f87fcf1ce5759df00b88758eed 100644 (file)
@@ -322,11 +322,13 @@ _e_gesture_process_edge_swipe_down(Ecore_Event_Mouse_Button *ev)
                _e_gesture_event_flush();
              _e_gesture_edge_swipe_cancel();
           }
-
-        edge_swipes->fingers[idx].start.x = ev->x;
-        edge_swipes->fingers[idx].start.y = ev->y;
-        edge_swipes->start_timer = ecore_timer_add(conf->edge_swipe.time_begin, _e_gesture_timer_edge_swipe_start, NULL);
-        edge_swipes->done_timer = ecore_timer_add(conf->edge_swipe.time_done, _e_gesture_timer_edge_swipe_done, NULL);
+        if (edge_swipes->edge != E_GESTURE_EDGE_NONE)
+          {
+             edge_swipes->fingers[idx].start.x = ev->x;
+             edge_swipes->fingers[idx].start.y = ev->y;
+             edge_swipes->start_timer = ecore_timer_add(conf->edge_swipe.time_begin, _e_gesture_timer_edge_swipe_start, NULL);
+             edge_swipes->done_timer = ecore_timer_add(conf->edge_swipe.time_done, _e_gesture_timer_edge_swipe_done, NULL);
+          }
      }
    else
      {
@@ -429,8 +431,6 @@ _e_gesture_process_mouse_button_down(void *event)
 {
    Ecore_Event_Mouse_Button *ev = event;
 
-   gesture->gesture_events.num_pressed++;
-
    if (!gesture->grabbed_gesture)
      {
         return E_GESTURE_EVENT_STATE_PROPAGATE;
@@ -470,12 +470,6 @@ _e_gesture_process_mouse_button_up(void *event)
 {
    Ecore_Event_Mouse_Button *ev = event;
 
-   if (gesture->gesture_events.num_pressed == 0)
-     {
-        return E_GESTURE_EVENT_STATE_PROPAGATE;
-     }
-
-   gesture->gesture_events.num_pressed--;
    if (!gesture->grabbed_gesture)
      {
         return E_GESTURE_EVENT_STATE_PROPAGATE;
@@ -490,14 +484,6 @@ _e_gesture_process_mouse_button_up(void *event)
         if (gesture->gesture_events.num_pressed == 0)
           {
              gesture->gesture_events.recognized_gesture = 0x0;
-             if (!gesture->enable && gesture->enabled_window)
-               {
-                  e_gesture_event_filter_enable(EINA_TRUE);
-               }
-             else if (gesture->enable && !gesture->enabled_window)
-               {
-                  e_gesture_event_filter_enable(EINA_FALSE);
-               }
           }
         return E_GESTURE_EVENT_STATE_IGNORE;
      }
index 4f5ca3b688d1369b81246cfa1477ed1dd27bfb03..c2ad8920eda3e704184854136469089cd67a2af6 100644 (file)
@@ -1,6 +1,7 @@
 #define E_COMP_WL
 #include "e_mod_main.h"
 #include <string.h>
+#include "e_service_quickpanel.h"
 
 E_GesturePtr gesture = NULL;
 E_API E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Gesture Module of Window Manager" };
@@ -314,6 +315,30 @@ static Eina_Bool
 _e_gesture_event_filter(void *data, void *loop_data EINA_UNUSED, int type, void *event)
 {
    (void) data;
+
+   if (type == ECORE_EVENT_MOUSE_BUTTON_DOWN)
+     {
+        gesture->gesture_events.num_pressed++;
+     }
+   else if (type == ECORE_EVENT_MOUSE_BUTTON_UP)
+     {
+        gesture->gesture_events.num_pressed--;
+        if (gesture->gesture_events.num_pressed < 0)
+          gesture->gesture_events.num_pressed = 0;
+        if (gesture->gesture_events.num_pressed == 0)
+          {
+             if (!gesture->enable && gesture->enabled_window)
+               {
+                  e_gesture_event_filter_enable(EINA_TRUE);
+                  return EINA_TRUE;
+               }
+             else if (gesture->enable && !gesture->enabled_window)
+               {
+                  e_gesture_event_filter_enable(EINA_FALSE);
+                  return e_gesture_process_events(event, type);
+               }
+          }
+     }
    if (!gesture->enable) return EINA_TRUE;
 
    return e_gesture_process_events(event, type);
@@ -358,11 +383,16 @@ _e_gesture_cb_client_focus_in(void *data, int type, void *event)
 static void
 _e_gesture_cb_aux_hint_change(void *data EINA_UNUSED, E_Client *ec)
 {
+   E_Client *qp_ec;
    if (e_object_is_del(E_OBJECT(ec)) || !ec->comp_data) return;
    if (!ec->comp_data->aux_hint.changed) return;
 
+   qp_ec = e_service_quickpanel_client_get();
+
    /* Return if the aux hint change didn't happen to the focused ec */
-   if (ec != e_client_focused_get()) return;
+   if ((ec != qp_ec) &&
+       (ec != e_client_focused_get()))
+     return;
 
    _e_gesture_window_gesture_disabled_change(ec);
 }