[Attach-panel] Update the plm issue into tizen_2.4 64/69264/2 accepted/tizen/mobile/20160517.083953 submit/tizen/20160517.060334
authormoon87.park <moon87.park@samsung.com>
Thu, 12 May 2016 09:58:34 +0000 (18:58 +0900)
committermoon87.park <moon87.park@samsung.com>
Tue, 17 May 2016 05:35:57 +0000 (14:35 +0900)
Change-Id: I804f65bf3b913744ebcd572a60c2dadeaa19bdba

include/attach_panel_internal.h
include/content_list.h
src/attach_panel.c
src/content_list.c
src/gesture.c
src/ug.c
src/ui_manager.c

index 34eb1bd7af8987b37cf0470501e2a5da64ddbf86..821193dda4555d607052c0c956fa3373e7b116b8 100644 (file)
@@ -235,7 +235,6 @@ struct _attach_panel {
 
        Eina_Bool is_delete;
        Eina_Bool rotate;
-       Eina_Bool flick;
        int cur_page_no;
        int cur_event_state;
        int magic_no;
@@ -276,6 +275,7 @@ struct _content {
        bundle *extra_data;
        int index;
        int order;
+       Eina_Bool flick;
 };
 typedef struct _content content_s;
 
index 7abd204fcb327497ce18d8b1a76c1cfa9b6b53b9..8653465eca2202fdb8f5291b79ede78ff3bf3f25 100644 (file)
@@ -25,6 +25,6 @@ void _content_list_send_message(Eina_List *list, const char *key, const char *va
 void _content_list_send_message_to_content(Eina_List *list, const char *key, const char *value, int cur_page_no);
 void _content_list_set_pause(Eina_List *list, int is_ug);
 void _content_list_set_resume(Eina_List *list, int is_ug);
-
+void _content_list_set_flick(Eina_List *list, Eina_Bool flick);
 
 #endif
index b971d1ed54f3a36ca554c9a1ea945ea13c77970d..65b89896c069d25a3cd2463775f4f179ad817c2c 100644 (file)
@@ -314,7 +314,6 @@ EXPORT_API int attach_panel_create(Evas_Object *conformant, attach_panel_h *atta
        elm_object_part_content_set(conformant, "elm.swallow.attach_panel", panel->ui_manager);
        panel->is_delete = EINA_FALSE;
        panel->rotate = EINA_FALSE;
-       panel->flick = EINA_TRUE;
        panel->cur_page_no = 0;
        panel->magic_no = 0x1024;
 
index 3b4f8fba9955eb7272d4b11a6e15ede5d1c57558..729d4cc928e3756196783aca92522acff9057799 100644 (file)
@@ -187,3 +187,16 @@ void _content_list_set_resume(Eina_List *list, int is_ug)
                }
        }
 }
+
+void _content_list_set_flick(Eina_List *list, Eina_Bool flick)
+{
+       content_s *content_info = NULL;
+       const Eina_List *l = NULL;
+
+       ret_if(!list);
+
+       EINA_LIST_FOREACH(list, l, content_info) {
+               continue_if(!content_info);
+               content_info->flick = flick;
+       }
+}
index 1555b8c0012a2baf909cdccd7d26a928e92e2c42..a322bd6af799870a5c8ef03f40b54411b2537ba1 100644 (file)
@@ -225,7 +225,7 @@ void _gesture_hide(attach_panel_h attach_panel)
                attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HIDE;
        }
        gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_HIDE;
-       attach_panel->flick = EINA_TRUE;
+       _content_list_set_flick(attach_panel->content_list, EINA_TRUE);
        __attach_panel_transit_set(attach_panel, attach_panel->transit_height, 0, TRANSIT_DURATION);
 }
 
@@ -250,9 +250,11 @@ void _gesture_set_full_mode(attach_panel_h attach_panel)
 static Evas_Event_Flags __flick_end_cb(void *data, void *event_info)
 {
        attach_panel_h attach_panel = data;
+       content_s *content_info = NULL;
        Elm_Gesture_Line_Info *line_info = (Elm_Gesture_Line_Info *) event_info;
 
        retv_if(!attach_panel, EVAS_EVENT_FLAG_ON_HOLD);
+       retv_if(!line_info, EVAS_EVENT_FLAG_ON_HOLD);
        _D("flick end event");
 
        if (EINA_TRUE == attach_panel->is_delete) {
@@ -267,8 +269,11 @@ static Evas_Event_Flags __flick_end_cb(void *data, void *event_info)
                return EVAS_EVENT_FLAG_ON_HOLD;
        }
 
-       if (!attach_panel->flick) {
-               _D("attach_panel flick is disable");
+       content_info = eina_list_nth(attach_panel->content_list, attach_panel->cur_page_no);
+       retv_if(!content_info, EVAS_EVENT_FLAG_ON_HOLD);
+
+       if (!content_info->flick && line_info->momentum.my >= 0) {
+               _D("flick of current page(%d) is disable", attach_panel->cur_page_no);
                return EVAS_EVENT_FLAG_ON_HOLD;
        }
 
index ddebc99f842bc1e0ea8264ba525715c98d04d7bf..43cf8f682173b85ed4ed45fce384ef9a4e2defad 100644 (file)
--- a/src/ug.c
+++ b/src/ug.c
@@ -49,12 +49,12 @@ static void __result_cb(ui_gadget_h ui_gadget, app_control_h result, void *priv)
 
                _D("attach panel flick %s", enable);
                if (!strcmp(enable, MODE_ENABLE)) {
-                       content_info->attach_panel->flick = EINA_TRUE;
+                       content_info->flick = EINA_TRUE;
                } else if (!strcmp(enable, MODE_DISABLE)) {
-                       content_info->attach_panel->flick = EINA_FALSE;
+                       content_info->flick = EINA_FALSE;
                } else {
                        _E("__ATTACH_PANEL_FLICK_DOWN__ value is wrong type(%s)", enable);
-                       content_info->attach_panel->flick = EINA_TRUE;
+                       content_info->flick = EINA_TRUE;
                }
                return;
        }
index 0677077d0fbe32cf8f5b0238a71649562510f66b..b27b2af315b9d3757ab2ce3581cc6d9ed5459eae 100644 (file)
@@ -134,6 +134,7 @@ int _ui_manager_append_content_category(Evas_Object *ui_manager, innate_content_
        content_info->innate_content_info = innate_content_info;
        content_info->extra_data = extra_data;
        content_info->order = ORDER_MAX;
+       content_info->flick = EINA_TRUE;
 
        if (innate_content_info->is_ug) {
                /* UG side */