X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmain_view.c;h=1ba66c331bd22604ca5d2a7305746cb357a629cd;hb=4af50772b0c4faf171c8e9f17c2ab4a668643238;hp=d4153e03b5fbbc4fa4039e8c27b6172ba50b952e;hpb=838110ae9683a2279edd3bfbfff5637edb6e33e0;p=apps%2Fnative%2Fsample%2Fadventure.git diff --git a/src/main_view.c b/src/main_view.c index d4153e0..1ba66c3 100644 --- a/src/main_view.c +++ b/src/main_view.c @@ -1,6 +1,6 @@ #include #include -#include +//#include #include #include "main.h" @@ -19,6 +19,7 @@ const char *const MAIN_VIEW_EDJE = "momentic.edj"; const char *const ENTRY_EDJE = "entry.edj"; const char *const PREDICT_ITEM_EDJE = "predict_item.edj"; static int cur_page = 0; +static int hold = 0; static void _append_item_to_searchlist(Evas_Object *searchlist, Evas_Object *item) { @@ -597,6 +598,16 @@ static void _page1_done_cb(void *data, Evas_Object *obj, const char *signal, con elm_object_focus_set(data, EINA_TRUE); } +static void _hold_cb(void *data, Evas_Object *obj, const char *signal, const char *source) +{ + hold = 1; +} + +static void _unhold_cb(void *data, Evas_Object *obj, const char *signal, const char *source) +{ + hold = 0; +} + static Evas_Object *_create_add_btn(Evas_Object *parent, main_view_s *main_view_info) { Evas_Object *add_btn = NULL; @@ -896,9 +907,15 @@ static void _destroy_group_scroller(Evas_Object *group_scroller) static void _main_view_back_cb(void *data, Evas_Object *obj, void *event_info) { main_view_s *main_view_info = data; + + if (hold) { + _D("hold the back key events"); + return; + } + +#if 0 /* Use hold & unhold events */ static time_t prev_t; time_t cur_t; - time(&cur_t); if (prev_t + 2 > cur_t) { @@ -907,6 +924,7 @@ static void _main_view_back_cb(void *data, Evas_Object *obj, void *event_info) } prev_t = cur_t; +#endif elm_object_signal_emit(obj, "momentic,state,page,back", ""); switch (cur_page) { @@ -939,6 +957,10 @@ static void _main_view_back_cb(void *data, Evas_Object *obj, void *event_info) ret_if(!list); EINA_LIST_FREE(list, item) { + if (evas_object_data_get(item, DATA_KEY_BEST_TIME)) { + item_destroy_best_time(item); + continue; + } elm_object_signal_emit(item, "momentic,item,state,default", ""); unset_time_range(item); tmp = item; @@ -946,6 +968,7 @@ static void _main_view_back_cb(void *data, Evas_Object *obj, void *event_info) scroller_remove_item(main_view_info->city_list, tmp); item_destroy_best_time(tmp); + elm_object_signal_emit(main_view_info->main_view, "momentic,state,page1", ""); cur_page = 1; break; case 4: @@ -1032,6 +1055,8 @@ Evas_Object *main_view_create(Evas_Object *parent, moment_info_s *moment_info) elm_object_part_content_set(main_view_info->main_view, "save_group_btn", main_view_info->save_button); elm_object_signal_callback_add(main_view_info->main_view, "momentic,page1,done", "", _page1_done_cb, main_view_info->searchbar); + elm_object_signal_callback_add(main_view_info->main_view, "momentic,state,hold", "", _hold_cb, NULL); + elm_object_signal_callback_add(main_view_info->main_view, "momentic,state,unhold", "", _unhold_cb, NULL); return main_view_info->main_view; } @@ -1109,6 +1134,7 @@ static void _get_best_time(double *timezone, int size, double *start, double *en } } +#if 0 static void _reply_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data) { _D("Result callback is called"); @@ -1154,6 +1180,6 @@ static void _launch_calendar_edit(int start, int end) app_control_send_launch_request(app_control, _reply_cb, NULL); app_control_destroy(app_control); } - +#endif