From 332506009d11059f5a782b1aa754fe0d4a8977a4 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Wed, 12 Aug 2009 20:26:27 +0000 Subject: [PATCH] 'everything' module: core refactoring SVN revision: 41719 --- src/modules/everything/evry.c | 72 ++++++++----------- src/modules/everything/evry_plug_dir_browse.c | 2 + 2 files changed, 31 insertions(+), 43 deletions(-) diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c index dc272aedc..0499e35d7 100644 --- a/src/modules/everything/evry.c +++ b/src/modules/everything/evry.c @@ -590,27 +590,16 @@ _evry_selector_free(Evry_Selector *sel) static void _evry_selector_activate(Evry_Selector *sel) { - if (selector && selector->state) + if (selector) { Evry_State *s = selector->state; Evry_Plugin *p; Eina_List *l; - _evry_list_clear_list(s); - edje_object_signal_emit(selector->o_main, "e,state,unselected", "e"); edje_object_part_text_set(selector->o_main, "e.text.plugin", ""); - if (update_timer) - { - if (s->plugin && !s->plugin->async_query) - { - _evry_matches_update(selector); - _evry_selector_update(selector); - } - ecore_timer_del(update_timer); - update_timer = NULL; - } + _evry_list_clear_list(s); EINA_LIST_FOREACH(selector->plugins, l, p) { @@ -940,7 +929,7 @@ _evry_browse_back(Evry_Selector *sel) _evry_list_clear_list(s); _evry_state_pop(sel); _evry_selector_update(sel); - sel->aggregator->fetch(sel->aggregator, NULL); + /* sel->aggregator->fetch(sel->aggregator, NULL); */ _evry_list_update(sel->state); _evry_update_text_label(sel->state); } @@ -950,6 +939,21 @@ _evry_selectors_switch(void) { Evry_State *s = selector->state; + if (update_timer) + { + if ((s && !s->plugin->async_query) && + ((selector == selectors[0]) || + (selector == selectors[1]))) + { + _evry_list_clear_list(s); + _evry_matches_update(selector); + _evry_selector_update(selector); + } + + ecore_timer_del(update_timer); + update_timer = NULL; + } + if (selector == selectors[0]) { if (s->sel_item) @@ -961,36 +965,14 @@ _evry_selectors_switch(void) if (s->plugin == action_selector) { - Evry_Action *act; - Evry_Selector *sel; - int w; - - if (update_timer) - { - /* duplicate code: selector_activate, - plugin_action, update_timer !!! */ - if (!s->plugin->async_query) - { - _evry_list_clear_list(s); - _evry_matches_update(selector); - _evry_selector_update(selector); - } - ecore_timer_del(update_timer); - update_timer = NULL; - } - - act = s->sel_item->data[0]; + Evry_Action *act = s->sel_item->data[0]; if (act && act->type_in2) { - - sel = selectors[2]; _evry_selector_objects_get(act->type_in2); - _evry_selector_update(sel); - + _evry_selector_update(selectors[2]); edje_object_signal_emit(win->o_main, "e,state,object_selector_show", "e"); - next_selector = 2; } } @@ -998,12 +980,14 @@ _evry_selectors_switch(void) } else if (selector == selectors[2]) { - edje_object_signal_emit(win->o_main, - "e,state,object_selector_hide", "e"); + _evry_list_clear_list(s); while (selector->states) _evry_state_pop(selector); + edje_object_signal_emit(win->o_main, + "e,state,object_selector_hide", "e"); + _evry_selector_activate(selectors[0]); } } @@ -1117,6 +1101,7 @@ _evry_update_timer(void *data) _evry_matches_update(selector); _evry_selector_update(selector); _evry_list_update(selector->state); + _evry_list_tabs_update(selector->state); update_timer = NULL; return 0; @@ -1146,7 +1131,8 @@ _evry_plugin_action(Evry_Selector *sel, int finished) if (update_timer) { - if (!selector->state->plugin->async_query) + if ((selector->state->plugin) && + (!selector->state->plugin->async_query)) { _evry_matches_update(selector); _evry_selector_update(selector); @@ -2142,8 +2128,8 @@ evry_plugin_async_update(Evry_Plugin *p, int action) _evry_list_clear_list(s); s->plugin = tmp; - s->cur_plugins = eina_list_remove(s->cur_plugins, p); - agg->fetch(agg, NULL); + /* s->cur_plugins = eina_list_remove(s->cur_plugins, p); + * agg->fetch(agg, NULL); */ } } diff --git a/src/modules/everything/evry_plug_dir_browse.c b/src/modules/everything/evry_plug_dir_browse.c index aebf29340..3a04f9178 100644 --- a/src/modules/everything/evry_plug_dir_browse.c +++ b/src/modules/everything/evry_plug_dir_browse.c @@ -194,6 +194,8 @@ _browse(Evry_Plugin *p, const Evry_Item *it_file) s = E_NEW(State, 1); s->directory = eina_stringshare_add(it_file->uri); _push_directory(p, s); + + return 1; } static void