Eina_Bool is_delete;
Eina_Bool rotate;
- Eina_Bool flick;
int cur_page_no;
int cur_event_state;
int magic_no;
bundle *extra_data;
int index;
int order;
+ Eina_Bool flick;
};
typedef struct _content content_s;
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
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;
}
}
}
+
+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;
+ }
+}
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);
}
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) {
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;
}
_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;
}
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 */