From a1fbb586f15def85ff5b057816cf29942d2109aa Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Fri, 28 May 2010 23:30:24 +0000 Subject: [PATCH] - use parents' plugin config when browsing - hide aggregator when no items to aggregate SVN revision: 49264 --- src/modules/everything/evry.c | 18 ++++++++++-------- src/modules/everything/evry_config.c | 6 ++++-- src/modules/everything/evry_plug_aggregator.c | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c index 69a81bb25..12e151876 100644 --- a/src/modules/everything/evry.c +++ b/src/modules/everything/evry.c @@ -1692,7 +1692,7 @@ evry_browse_item(Evry_Item *it) Evry_State *s, *new_state; Evry_Selector *sel; Eina_List *l, *plugins = NULL; - Evry_Plugin *p, *pp; + Evry_Plugin *p, *pp, *pref = NULL; Evry_View *view = NULL; int browse_aggregator = 0; @@ -1710,21 +1710,23 @@ evry_browse_item(Evry_Item *it) sel = s->selector; + if ((it->plugin->browse) && + (pp = it->plugin->browse(it->plugin, it))) + { + plugins = eina_list_append(plugins, pp); + pref = pp; + } + EINA_LIST_FOREACH(sel->plugins, l, p) { if ((p->browse) && (pp = p->browse(p, it))) { + if (!strcmp(pp->name, pref->name)) + continue; plugins = eina_list_append(plugins, pp); } } - /* actions */ - if ((!(plugins) && (it->plugin->browse)) && - (pp = it->plugin->browse(it->plugin, it))) - { - plugins = eina_list_append(plugins, pp); - } - /* aggregator */ if (!(plugins) && CHECK_TYPE(it, EVRY_TYPE_PLUGIN)) { diff --git a/src/modules/everything/evry_config.c b/src/modules/everything/evry_config.c index 61c0cdf52..2d3de39f2 100644 --- a/src/modules/everything/evry_config.c +++ b/src/modules/everything/evry_config.c @@ -405,7 +405,8 @@ _create_plugin_page(E_Config_Dialog_Data *cfdata, Evas *e, Plugin_Page *page) o = e_widget_label_add(e, _("Minimum characters for search")); e_widget_framelist_object_append(of, o); - o = e_widget_slider_add(e, 1, 0, _("%1.0f"), 0, 5, 1.0, 0, NULL, &(page->min_query), 10); + o = e_widget_slider_add(e, 1, 0, _("%1.0f"), 0, 5, 1.0, 0, NULL, + &(page->min_query), 10); page->o_min_query = o; e_widget_framelist_object_append(of, o); @@ -604,7 +605,8 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *e, E_Config_Dialog_Data *cfdat static void *_cat_create_data(E_Config_Dialog *cfd); static void _cat_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static Evas_Object *_cat_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +static Evas_Object *_cat_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, + E_Config_Dialog_Data *cfdata); static int _cat_basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); EAPI E_Config_Dialog * diff --git a/src/modules/everything/evry_plug_aggregator.c b/src/modules/everything/evry_plug_aggregator.c index 181a20ccd..824fc855b 100644 --- a/src/modules/everything/evry_plug_aggregator.c +++ b/src/modules/everything/evry_plug_aggregator.c @@ -237,7 +237,7 @@ _fetch(Evry_Plugin *plugin, const char *input) if (items) eina_list_free(items); if (lp) eina_list_free(lp); - return 1; + return !!(p->base.items); } static void