e gadgcon popup - actually for reals smooth out show
now it actually does look smooth. i oopsed in my last attempt.
This commit is contained in:
parent
c29dd0f5cf
commit
02957edfe9
|
@ -70,8 +70,8 @@ _e_gadcon_popup_free(E_Gadcon_Popup *pop)
|
|||
pop->gcc = NULL;
|
||||
evas_object_hide(pop->comp_object);
|
||||
E_FREE_FUNC(pop->comp_object, evas_object_del);
|
||||
E_FREE_FUNC(pop->show_idle_enterer, ecore_idle_enterer_del);
|
||||
E_FREE_FUNC(pop->show_job, ecore_job_del);
|
||||
E_FREE_FUNC(pop->show_idler, ecore_idler_del);
|
||||
E_FREE_FUNC(pop->show_animator, ecore_animator_del);
|
||||
free(pop);
|
||||
}
|
||||
|
||||
|
@ -260,22 +260,23 @@ e_gadcon_popup_content_set(E_Gadcon_Popup *pop, Evas_Object *o)
|
|||
_e_gadcon_popup_size_recalc(pop, o);
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_show_job(void *data)
|
||||
static Eina_Bool
|
||||
_cb_show_animator(void *data)
|
||||
{
|
||||
E_Gadcon_Popup *pop = data;
|
||||
E_FREE_FUNC(pop->show_idle_enterer, ecore_idle_enterer_del);
|
||||
pop->show_job = NULL;
|
||||
pop->show_animator = NULL;
|
||||
E_FREE_FUNC(pop->show_idler, ecore_idler_del);
|
||||
evas_object_show(pop->comp_object);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_cb_show_idle_enterer(void *data)
|
||||
_cb_show_idler(void *data)
|
||||
{
|
||||
E_Gadcon_Popup *pop = data;
|
||||
pop->show_idle_enterer = NULL;
|
||||
E_FREE_FUNC(pop->show_job, ecore_job_del);
|
||||
pop->show_job = ecore_job_add(_cb_show_job, pop);
|
||||
pop->show_idler = NULL;
|
||||
E_FREE_FUNC(pop->show_animator, ecore_animator_del);
|
||||
pop->show_animator = ecore_animator_add(_cb_show_animator, pop);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
|
@ -292,8 +293,7 @@ e_gadcon_popup_show(E_Gadcon_Popup *pop)
|
|||
pop->autoclose_handlers[1] = ecore_event_handler_add(E_EVENT_CLIENT_FULLSCREEN, _e_popup_autoclose_client_fullscreen_cb, NULL);
|
||||
if (pop->content)
|
||||
e_comp_object_util_del_list_append(pop->comp_object, pop->content);
|
||||
pop->show_idle_enterer = ecore_idle_enterer_add(_cb_show_idle_enterer, pop);
|
||||
evas_object_show(pop->comp_object);
|
||||
pop->show_idler = ecore_idler_add(_cb_show_idler, pop);
|
||||
pop->visible = EINA_TRUE;
|
||||
}
|
||||
|
||||
|
@ -304,8 +304,8 @@ e_gadcon_popup_hide(E_Gadcon_Popup *pop)
|
|||
E_OBJECT_TYPE_CHECK(pop, E_GADCON_POPUP_TYPE);
|
||||
if (pop->pinned) return;
|
||||
if (!pop->visible) return;
|
||||
E_FREE_FUNC(pop->show_idle_enterer, ecore_idle_enterer_del);
|
||||
E_FREE_FUNC(pop->show_job, ecore_job_del);
|
||||
E_FREE_FUNC(pop->show_idler, ecore_idler_del);
|
||||
E_FREE_FUNC(pop->show_animator, ecore_animator_del);
|
||||
evas_object_hide(pop->comp_object);
|
||||
if (pop->gadcon_was_locked)
|
||||
_e_gadcon_popup_locked_set(pop, 0);
|
||||
|
|
|
@ -17,8 +17,8 @@ struct _E_Gadcon_Popup
|
|||
Evas_Object *o_bg;
|
||||
Evas_Object *content;
|
||||
Ecore_Event_Handler *autoclose_handlers[2];
|
||||
Ecore_Idle_Enterer *show_idle_enterer;
|
||||
Ecore_Job *show_job;;
|
||||
Ecore_Idler *show_idler;
|
||||
Ecore_Animator *show_animator;
|
||||
Evas_Coord w, h;
|
||||
|
||||
Eina_Bool pinned E_BITFIELD;
|
||||
|
|
Loading…
Reference in New Issue