change press-event 87/132987/2
authorjin0.kim <jin0.kim@samsung.com>
Thu, 8 Jun 2017 13:56:14 +0000 (22:26 +0830)
committerjin0.kim <jin0.kim@samsung.com>
Fri, 9 Jun 2017 01:23:05 +0000 (09:53 +0830)
Change-Id: I34f5b05fd2ff87ede50d967916bf93c68e4b14a9

src/moments/moments_control_view.c

index 64a1bd216a45aaada30d43580a226d37fe68ffa5..b2038e224ed3c16ae5f0f3603d248671a87943f6 100755 (executable)
@@ -42,6 +42,7 @@ static struct __control_view_s {
        Evas_Object *flight_mode_popup;
        Evas_Object *flight_mode_layout;
        Eina_List *button_list;
+       bool is_btn_pressed;
 } s_info = {
        .base_win = NULL,
        .base_layout = NULL,
@@ -51,6 +52,7 @@ static struct __control_view_s {
        .flight_mode_popup = NULL,
        .flight_mode_popup = NULL,
        .button_list = NULL,
+       .is_btn_pressed = 0,
 };
 
 static void __update_control_state(void);
@@ -140,12 +142,31 @@ static void __update_control_state(void)
        else if (__is_stand_alone()) __set_state_stand_alone();
 }
 
+static int move_count = 0;
+static void __control_button_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       move_count++;
+}
 
-static void __control_button_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static void __control_button_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
        elm_object_signal_emit(obj, "layout.pressed", "");
 }
 
+static void __control_button_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       _D("%d", move_count);
+
+       if (move_count < 10) {
+               control_info_t *btn_info = (control_info_t *)data;
+               if (btn_info != NULL) btn_info->pressed(NULL, NULL, NULL, NULL);
+       }
+
+       move_count = 0;
+
+       elm_object_signal_emit(obj, "layout.released", "");
+}
+
 static Evas_Object *__create_control_button(Evas_Object * base_layout, control_info_t *btn_info)
 {
        Evas_Object *button_layout = elm_layout_add(base_layout);
@@ -175,11 +196,9 @@ static Evas_Object *__create_control_button(Evas_Object * base_layout, control_i
                elm_object_part_text_set(button_layout, CONTROLS_TEXT, btn_info->volume_text);
        }
 
-       if (btn_info->pressed) {
-               evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_UP, btn_info->pressed, NULL);
-       }
-
-       evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_DOWN, __control_button_pressed_cb, button_layout);
+       evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_UP, __control_button_up_cb, (void*)btn_info);
+       evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_DOWN, __control_button_down_cb, NULL);
+       evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_MOVE, __control_button_move_cb, NULL);
 
        return button_layout;
 
@@ -551,10 +570,9 @@ static Evas_Object *__do_not_disturb_popup_view_create()
 
 static void __do_not_disturb_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
+       _D("");
        int is_do_not_disturb = false;
 
-       elm_object_signal_emit(obj, "layout.released", "");
-
        vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &is_do_not_disturb);
        if (is_do_not_disturb == false) {
                moments_hide();
@@ -650,8 +668,6 @@ static Evas_Object *__flight_mode_popup_view_create()
 
 static void __flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
-       elm_object_signal_emit(obj, "layout.released", "");
-
        int is_flight_mode = false;
 
        vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
@@ -668,16 +684,12 @@ static void __flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void
 
 static void __volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
-       elm_object_signal_emit(obj, "layout.released", "");
-
        moments_hide();
        util_launch_app(SETTING_PKG_NAME, "launch-type", "volume");
 }
 
 static void __brightness_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
-       elm_object_signal_emit(obj, "layout.released", "");
-
        moments_hide();
        util_launch_app(SETTING_PKG_NAME, "launch-type", "brightness");
 }