From: Jaehyun Cho Date: Fri, 2 Aug 2013 06:06:31 +0000 (+0900) Subject: [clipdrawer] Apply timer 200ms for clipboard hide prepare time X-Git-Tag: 2.2_release~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=96e852778666fe1ec82d48b019f2150db29e4e8c;p=framework%2Fuifw%2Fcbhm.git [clipdrawer] Apply timer 200ms for clipboard hide prepare time Change-Id: I77661c8ccf92f3ec4358472a2e2cafcae17358ea --- diff --git a/src/clipdrawer.c b/src/clipdrawer.c index 26b2e0c..5501b99 100644 --- a/src/clipdrawer.c +++ b/src/clipdrawer.c @@ -27,6 +27,7 @@ #define ANIM_DURATION 30 // 1 seconds #define ANIM_FLOPS (0.5/30) #define DEFAULT_WIDTH 720 +#define LOWER_VIEW_PREPARE_TIME 0.2 #define MULTI_(id) dgettext("sys_string", #id) #define S_CLIPBOARD MULTI_(IDS_COM_BODY_CLIPBOARD) @@ -197,6 +198,8 @@ ClipdrawerData* init_clipdrawer(AppData *ad) cd->keydown_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, keydown_cb, ad); cd->evas = evas_object_evas_get(cd->main_win); + cd->lower_view_timer = NULL; + delete_mode = EINA_FALSE; return cd; @@ -706,19 +709,42 @@ void clipdrawer_activate_view(AppData* ad) } } -void clipdrawer_lower_view(AppData* ad) +static Eina_Bool _lower_view_timer_cb(void *data) { CALLED(); + if (!data) + return ECORE_CALLBACK_PASS_ON; + + AppData *ad = data; ClipdrawerData *cd = ad->clipdrawer; + if (!cd) + return ECORE_CALLBACK_PASS_ON; + ecore_timer_del(cd->lower_view_timer); + cd->lower_view_timer = NULL; + if (cd->main_win) { evas_object_hide(cd->main_win); elm_win_lower(cd->main_win); unset_transient_for(cd->x_main_win, ad->x_active_win); _delete_mode_set(ad, EINA_FALSE); + return ECORE_CALLBACK_DONE; + } + return ECORE_CALLBACK_PASS_ON; +} + +void clipdrawer_lower_view(AppData* ad) +{ + CALLED(); + ClipdrawerData *cd = ad->clipdrawer; + + if (!cd->lower_view_timer) + { Ecore_X_Window zone = ecore_x_e_illume_zone_get(cd->x_main_win); ecore_x_e_illume_clipboard_state_set(zone, ECORE_X_ILLUME_CLIPBOARD_STATE_OFF); ecore_x_e_illume_clipboard_geometry_set(zone, 0, 0, 0, 0); + + cd->lower_view_timer = ecore_timer_add(LOWER_VIEW_PREPARE_TIME, _lower_view_timer_cb, ad); } } diff --git a/src/clipdrawer.h b/src/clipdrawer.h index c656e76..e8bb4d1 100644 --- a/src/clipdrawer.h +++ b/src/clipdrawer.h @@ -57,6 +57,8 @@ struct _ClipdrawerData { AnimStatus anim_status; int anim_count; Eina_Bool paste_text_only:1; + + Ecore_Timer *lower_view_timer; }; #include "cbhm.h"