From: JengHyun Kang Date: Fri, 30 Dec 2016 06:42:35 +0000 (+0900) Subject: Accept all of gesture disable request from quickpanel X-Git-Tag: submit/tizen_3.0/20170105.071718~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9d7d02ddfeb55ce30a89eeda8755674c0032757c;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-gesture.git Accept all of gesture disable request from quickpanel Change-Id: Ieb3a020e8c050acca5c0c3951a66e5393f47009f --- diff --git a/configure.ac b/configure.ac index c1e5180..56fca6d 100644 --- a/configure.ac +++ b/configure.ac @@ -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) diff --git a/packaging/e-mod-tizen-gesture.spec b/packaging/e-mod-tizen-gesture.spec index ad6effa..aed0333 100644 --- a/packaging/e-mod-tizen-gesture.spec +++ b/packaging/e-mod-tizen-gesture.spec @@ -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} diff --git a/src/e_mod_gesture_events.c b/src/e_mod_gesture_events.c index d91d31b..6627b5c 100644 --- a/src/e_mod_gesture_events.c +++ b/src/e_mod_gesture_events.c @@ -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; } diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 4f5ca3b..c2ad892 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -1,6 +1,7 @@ #define E_COMP_WL #include "e_mod_main.h" #include +#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); }