forked from enlightenment/enlightenment
'everything'
- slight delay for rolling out the list. - no delay for actions - on enter actions are directly updated and executed SVN revision: 47851
This commit is contained in:
parent
0ef941962b
commit
261903c589
|
@ -131,6 +131,29 @@ _evry_cb_item_changed(void *data, int type, void *event)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static Ecore_Timer *_show_timer = NULL;
|
||||
|
||||
static int
|
||||
_cb_show_timer(void *data)
|
||||
{
|
||||
if (evry_conf->views && selector->state)
|
||||
{
|
||||
Evry_View *view =evry_conf->views->data;
|
||||
Evry_State *s = selector->state;
|
||||
|
||||
s->view = view->create(view, s, list->o_main);
|
||||
|
||||
_evry_view_show(s->view);
|
||||
}
|
||||
else return 0;
|
||||
|
||||
_evry_list_win_show();
|
||||
|
||||
_show_timer = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
evry_show(E_Zone *zone, const char *params)
|
||||
{
|
||||
|
@ -169,12 +192,12 @@ evry_show(E_Zone *zone, const char *params)
|
|||
|
||||
if (evry_conf->views && selector->state)
|
||||
{
|
||||
Evry_View *view =evry_conf->views->data;
|
||||
Evry_State *s = selector->state;
|
||||
|
||||
s->view = view->create(view, s, list->o_main);
|
||||
|
||||
_evry_view_show(s->view);
|
||||
Evry_View *view =evry_conf->views->data;
|
||||
Evry_State *s = selector->state;
|
||||
|
||||
s->view = view->create(view, s, list->o_main);
|
||||
|
||||
_evry_view_show(s->view);
|
||||
}
|
||||
else goto error3;
|
||||
|
||||
|
@ -208,7 +231,8 @@ evry_show(E_Zone *zone, const char *params)
|
|||
}
|
||||
|
||||
if (!evry_conf->hide_list)
|
||||
_evry_list_win_show();
|
||||
_show_timer = ecore_timer_add(0.08, _cb_show_timer, NULL);
|
||||
/* _evry_list_win_show(); */
|
||||
|
||||
return 1;
|
||||
|
||||
|
@ -245,7 +269,11 @@ evry_hide(void)
|
|||
if (!win) return;
|
||||
|
||||
/* _evry_view_clear(selector->state); */
|
||||
|
||||
if (_show_timer)
|
||||
ecore_timer_del(_show_timer);
|
||||
_show_timer = NULL;
|
||||
|
||||
|
||||
list->visible = EINA_FALSE;
|
||||
_evry_selector_free(selectors[0]);
|
||||
_evry_selector_free(selectors[1]);
|
||||
|
@ -1536,20 +1564,32 @@ _evry_plugin_action(Evry_Selector *sel, int finished)
|
|||
{
|
||||
Evry_State *s_subject, *s_action, *s_object;
|
||||
|
||||
if (selectors[0]->update_timer)
|
||||
{
|
||||
_evry_matches_update(selectors[0], 0);
|
||||
_evry_selector_update(selectors[0]);
|
||||
}
|
||||
|
||||
s_subject = selectors[0]->state;
|
||||
|
||||
if (!s_subject || !s_subject->cur_item)
|
||||
return;
|
||||
|
||||
if (selector == selectors[0] &&
|
||||
selectors[1]->update_timer)
|
||||
{
|
||||
_evry_selector_actions_get(s_subject->cur_item);
|
||||
|
||||
if (!selectors[1]->state)
|
||||
return;
|
||||
|
||||
_evry_selector_update(selectors[1]);
|
||||
}
|
||||
|
||||
s_action = selectors[1]->state;
|
||||
s_object = NULL;
|
||||
|
||||
if (!s_subject || !s_action)
|
||||
return;
|
||||
|
||||
if (selector->update_timer)
|
||||
{
|
||||
_evry_matches_update(selector, 0);
|
||||
_evry_selector_update(selector);
|
||||
}
|
||||
|
||||
if (!s_subject->cur_item || !s_action->cur_item)
|
||||
if (!s_action || !s_action->cur_item)
|
||||
return;
|
||||
|
||||
/* FIXME */
|
||||
|
|
|
@ -937,6 +937,7 @@ _cb_key_down(Evry_View *view, const Ecore_Event_Key *ev)
|
|||
end:
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
_cb_item_changed(void *data, int type, void *event)
|
||||
{
|
||||
|
@ -945,6 +946,8 @@ _cb_item_changed(void *data, int type, void *event)
|
|||
Eina_List *l;
|
||||
Item *it;
|
||||
Smart_Data *sd = evas_object_smart_data_get(v->span);
|
||||
|
||||
if (!sd) return 0;
|
||||
|
||||
EINA_LIST_FOREACH(sd->items, l, it)
|
||||
if (it->item == ev->item)
|
||||
|
@ -1040,8 +1043,7 @@ _view_destroy(Evry_View *view)
|
|||
|
||||
EINA_LIST_FREE(v->handlers, h)
|
||||
ecore_event_handler_del(h);
|
||||
|
||||
|
||||
|
||||
E_FREE(v);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue