e17/evry: add per instance config for gadget to show other plugins that 'Start'
authorHannes Janetzek <hannes.janetzek@gmail.com>
Sun, 21 Aug 2011 15:41:37 +0000 (15:41 +0000)
committerHannes Janetzek <hannes.janetzek@gmail.com>
Sun, 21 Aug 2011 15:41:37 +0000 (15:41 +0000)
-add EVRY_PLUGIN_HAS_ITEMS macro

SVN revision: 62662

12 files changed:
src/modules/everything/e_mod_main.c
src/modules/everything/e_mod_main.h
src/modules/everything/evry.c
src/modules/everything/evry_api.h
src/modules/everything/evry_config.c
src/modules/everything/evry_gadget.c
src/modules/everything/evry_plug_aggregator.c
src/modules/everything/evry_plug_apps.c
src/modules/everything/evry_plug_calc.c
src/modules/everything/evry_plug_collection.c
src/modules/everything/evry_plug_files.c
src/modules/everything/evry_plug_settings.c

index 4788ffc..c5c5393 100644 (file)
@@ -16,6 +16,7 @@ static Ecore_Timer *cleanup_timer;
 static const char *module_icon = NULL;
 static E_Config_DD *conf_edd = NULL;
 static E_Config_DD *plugin_conf_edd = NULL;
+static E_Config_DD *gadget_conf_edd = NULL;
 static int _e_module_evry_log_dom = -1;
 
 Evry_API *evry = NULL;
@@ -222,6 +223,7 @@ e_modapi_shutdown(E_Module *m __UNUSED__)
    /* Clean EET */
    E_CONFIG_DD_FREE(conf_edd);
    E_CONFIG_DD_FREE(plugin_conf_edd);
+   E_CONFIG_DD_FREE(gadget_conf_edd);
 
    if (cleanup_timer)
      ecore_timer_del(cleanup_timer);
@@ -375,6 +377,15 @@ _config_init()
    E_CONFIG_LIST(D, T, plugins, plugin_conf_edd);
 #undef T
 #undef D
+#define T Gadget_Config
+#define D gadget_conf_edd
+   gadget_conf_edd = E_CONFIG_DD_NEW("Gadget_Config", Gadget_Config);
+   E_CONFIG_VAL(D, T, id, STR);
+   E_CONFIG_VAL(D, T, plugin, STR);
+   E_CONFIG_VAL(D, T, hide_after_action, INT);
+   E_CONFIG_VAL(D, T, popup, INT);
+#undef T
+#undef D
 #define T Evry_Config
 #define D conf_edd
    conf_edd = E_CONFIG_DD_NEW("Config", Evry_Config);
@@ -399,6 +410,7 @@ _config_init()
    E_CONFIG_LIST(D, T, conf_objects, plugin_conf_edd);
    E_CONFIG_LIST(D, T, conf_views,   plugin_conf_edd);
    E_CONFIG_LIST(D, T, collections,  plugin_conf_edd);
+   E_CONFIG_LIST(D, T, gadgets,      gadget_conf_edd);
    E_CONFIG_VAL(D, T, first_run, UCHAR);
 #undef T
 #undef D
@@ -482,7 +494,8 @@ static void
 _config_free(void)
 {
    Plugin_Config *pc, *pc2;
-
+   Gadget_Config *gc;
+   
    EINA_LIST_FREE(evry_conf->collections, pc)
      EINA_LIST_FREE(pc->plugins, pc2)
      {
@@ -490,7 +503,6 @@ _config_free(void)
        IF_RELEASE(pc2->trigger);
        E_FREE(pc2);
      }
-
    EINA_LIST_FREE(evry_conf->conf_subjects, pc)
      {
        IF_RELEASE(pc->name);
@@ -509,6 +521,12 @@ _config_free(void)
        IF_RELEASE(pc->trigger);
        E_FREE(pc);
      }
+   EINA_LIST_FREE(evry_conf->gadgets, gc)
+     {
+       IF_RELEASE(gc->id);
+       IF_RELEASE(gc->plugin);
+       E_FREE(gc);
+     }
 
    E_FREE(evry_conf);
 }
index 5ea9c4f..413a224 100644 (file)
@@ -17,6 +17,7 @@ typedef struct _Config                Evry_Config;
 typedef struct _Evry_Selector  Evry_Selector;
 typedef struct _Tab_View       Tab_View;
 typedef struct _Evry_Window    Evry_Window;
+typedef struct _Gadget_Config   Gadget_Config;
 
 struct _Evry_Window
 {
@@ -175,8 +176,9 @@ struct _Config
   /* use up/down keys for prev/next in thumb view */
   int cycle_mode;
 
+  Eina_List *gadgets;
+  
   unsigned char first_run;
-
   /* not saved data */
   Eina_List *actions;
   Eina_List *views;
@@ -184,6 +186,14 @@ struct _Config
   int min_w, min_h;
 };
 
+struct _Gadget_Config
+{
+  const char *id;
+  const char *plugin;
+  int hide_after_action;
+  int popup;
+};
+  
 struct _History
 {
   int version;
@@ -284,10 +294,10 @@ int   evry_shutdown(void);
 Evry_Window *evry_show(E_Zone *zone, E_Zone_Edge edge, const char *params, Eina_Bool popup);
 void  evry_hide(Evry_Window *win, int clear);
 
-int   evry_plug_actions_init();
-void  evry_plug_actions_shutdown();
+int   evry_plug_actions_init(void);
+void  evry_plug_actions_shutdown(void);
 
-Evry_Plugin *evry_aggregator_new(Evry_Window *win, int type);
+Evry_Plugin *evry_aggregator_new(int type);
 
 void  evry_history_init(void);
 void  evry_history_free(void);
index 216c32a..647b754 100644 (file)
@@ -108,21 +108,21 @@ _evry_aggregator_fetch(Evry_State *s)
        ERR("no state");
        return 0;
      }
-
+   
    if (s->aggregator->fetch(s->aggregator, s->input))
      {
        l = eina_list_data_find_list(s->cur_plugins, s->aggregator);
 
-       if (l && l->prev)
-         s->cur_plugins = eina_list_promote_list(s->cur_plugins, l);
-       else if (!l)
+       if (!l)
          s->cur_plugins = eina_list_prepend(s->cur_plugins, s->aggregator);
-     }
-   else
-     {
-       s->cur_plugins = eina_list_remove(s->cur_plugins, s->aggregator);
+       else
+         s->cur_plugins = eina_list_promote_list(s->cur_plugins, l);
+
+       return 1;
      }
 
+   s->cur_plugins = eina_list_remove(s->cur_plugins, s->aggregator);
+   
    return 1;
 }
 
@@ -1067,7 +1067,7 @@ _evry_selector_new(Evry_Window *win, int type)
    Evry_Selector *sel = E_NEW(Evry_Selector, 1);
    Evas_Object *o = NULL;
 
-   sel->aggregator = evry_aggregator_new(win, type);
+   sel->aggregator = evry_aggregator_new(type);
 
    if (type == EVRY_PLUGIN_SUBJECT)
      {
index cffdcd0..c5e2d4b 100644 (file)
@@ -257,6 +257,8 @@ typedef void (*Evry_Item_Free_Cb) (Evry_Item *it);
      EINA_LIST_FREE(EVRY_PLUGIN(_p)->items, it)                        \
        if (it) it->fuzzy_match = 0; }
 
+#define EVRY_PLUGIN_HAS_ITEMS(_p) !!(EVRY_PLUGIN(_p)->items)
+
 /*** Evry_Action macros ***/
 #define EVRY_ACTION_NEW(_name, _in1, _in2, _icon, _action, _check) \
   evry->action_new(N_(_name), _(_name), _in1, _in2, _icon, _action, _check)
index a9f69cb..ae18ac2 100644 (file)
@@ -184,6 +184,7 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
      }
 
    e_config_save_queue();
+
    return 1;
 }
 
index a93ffab..9ccd80e 100644 (file)
@@ -10,6 +10,9 @@ struct _Instance
 
   E_Object_Delfn *del_fn;
   Evry_Window *win;
+  Gadget_Config *cfg;
+  E_Config_Dialog *cfd;
+  E_Menu *menu;
 };
 
 static void _button_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
@@ -21,6 +24,9 @@ static void _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient);
 static char *_gc_label(E_Gadcon_Client_Class *client_class);
 static Evas_Object *_gc_icon(E_Gadcon_Client_Class *client_class, Evas *evas);
 static const char *_gc_id_new(E_Gadcon_Client_Class *client_class);
+static Gadget_Config *_conf_item_get(const char *id);
+
+static void _conf_dialog(Instance *inst);
 
 static const E_Gadcon_Client_Class _gadcon_class =
 {
@@ -33,7 +39,7 @@ static const E_Gadcon_Client_Class _gadcon_class =
    E_GADCON_CLIENT_STYLE_PLAIN
 };
 
-static E_Menu *_menu = NULL;
+static int uuid = 0;
 
 
 static E_Gadcon_Client *
@@ -42,10 +48,15 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
    Evas_Object *o;
    E_Gadcon_Client *gcc;
    Instance *inst;
-
+   /* Evry_Plugin *p; */
+   
    inst = E_NEW(Instance, 1);
-
+   inst->cfg = _conf_item_get(id);
+   
    o = edje_object_add(gc->evas);
+   
+   /* if ((p = evry_plugin_find(id->name)))
+    *   o = evry_util_icon_get(EVRY_ITEM(p), gc->evas) */
    e_theme_edje_object_set(o, "base/theme/modules/start", "e/modules/start/main");
    edje_object_signal_emit(o, "e,state,unfocused", "e");
 
@@ -109,10 +120,43 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas __UNUSED__)
    return NULL;
 }
 
+static Gadget_Config *
+_conf_item_get(const char *id)
+{
+   Eina_List *l = NULL;
+   Gadget_Config *ci = NULL;
+   char buf[128];
+
+   if (!id)
+     {
+        snprintf(buf, sizeof(buf), "%s.%d", _gadcon_class.name, ++uuid);
+        id = buf;
+     }
+   else
+     {
+        uuid++;
+       EINA_LIST_FOREACH(evry_conf->gadgets, l, ci)
+         if ((ci->id) && (!strcmp(ci->id, id))) return ci;
+     }
+   ci = E_NEW(Gadget_Config, 1);
+   ci->id = eina_stringshare_add(id);
+   ci->plugin = eina_stringshare_add("Start");
+
+   evry_conf->gadgets = eina_list_append(evry_conf->gadgets, ci);
+
+   e_config_save_queue();
+
+   return ci;
+}
+
 static const char *
 _gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__)
 {
-   return _gadcon_class.name;
+   Gadget_Config *gc = NULL;
+
+   gc = _conf_item_get(NULL);
+
+   return gc->id;
 }
 
 /***************************************************************************/
@@ -130,17 +174,19 @@ static void _del_func(void *data, void *obj __UNUSED__)
 }
 
 static void
-_cb_menu_post(void *data __UNUSED__, E_Menu *m __UNUSED__)
+_cb_menu_post(void *data, E_Menu *m __UNUSED__)
 {
-   if (!_menu) return;
-   e_object_del(E_OBJECT(_menu));
-   _menu = NULL;
+   Instance *inst = data;
+   
+   if (!inst->menu) return;
+   e_object_del(E_OBJECT(inst->menu));
+   inst->menu = NULL;
 }
 
 static void
-_cb_menu_configure(void *data __UNUSED__, E_Menu *m __UNUSED__, E_Menu_Item *mi __UNUSED__)
+_cb_menu_configure(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi __UNUSED__)
 {
-   evry_collection_conf_dialog(e_container_current_get(e_manager_current_get()), "Start");
+   _conf_dialog(data); 
 }
 
 static void
@@ -160,21 +206,23 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
        if (inst->win)
          {
             win = inst->win;
+            evry_hide(win, 0);
             
-            if (ev->flags == EVAS_BUTTON_DOUBLE_CLICK)
-              {
-                 evry_hide(win, 0); 
-              }
-            else
-              {
-                 e_win_show(win->ewin);
-                 e_border_focus_set(win->ewin->border, 1, 1); 
-              }
+            /* if (ev->flags == EVAS_BUTTON_DOUBLE_CLICK)
+             *   {
+             *           evry_hide(win, 0); 
+             *   }
+             * else
+             *   {
+             *           e_border_show(win->ewin->border); 
+             *           e_border_focus_set(win->ewin->border, 1, 1); 
+             *   } */
             
             return;
          }
 
-       win = evry_show(e_util_zone_current_get(e_manager_current_get()), 0, "Start", EINA_FALSE);
+       win = evry_show(e_util_zone_current_get(e_manager_current_get()),
+                       0, inst->cfg->plugin, EINA_FALSE);
        if (!win) return;
 
        e_win_show(win->ewin);
@@ -241,7 +289,7 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
 
        edje_object_signal_emit(inst->o_button, "e,state,focused", "e");
      }
-   else if ((ev->button == 3) && (!_menu))
+   else if ((ev->button == 3) && (!inst->menu))
      {
        E_Menu *m;
        E_Menu_Item *mi;
@@ -251,11 +299,11 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Settings"));
        e_util_menu_item_theme_icon_set(mi, "configure");
-       e_menu_item_callback_set(mi, _cb_menu_configure, NULL);
+       e_menu_item_callback_set(mi, _cb_menu_configure, inst);
 
        m = e_gadcon_client_util_menu_items_append(inst->gcc, m, 0);
        e_menu_post_deactivate_callback_set(m, _cb_menu_post, inst);
-       _menu = m;
+       inst->menu = m;
 
        e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, 
                                           NULL, NULL);
@@ -279,3 +327,127 @@ evry_gadget_shutdown(void)
 {
    e_gadcon_provider_unregister(&_gadcon_class);
 }
+
+/***************************************************************************/
+
+struct _E_Config_Dialog_Data
+{
+  char *plugin;
+  int hide_after_action;
+  int popup;
+};
+
+static void *_create_data(E_Config_Dialog *cfd);
+static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
+static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+
+static void
+_conf_dialog(Instance *inst)
+{
+   E_Config_Dialog_View *v = NULL;
+   E_Container *con;
+   
+   if (inst->cfd)
+     return;
+
+   /* if (e_config_dialog_find("everything-gadgets", "launcher/everything-gadgets"))
+    *   return; */
+
+   v = E_NEW(E_Config_Dialog_View, 1);
+   if (!v) return;
+
+   v->create_cfdata = _create_data;
+   v->free_cfdata = _free_data;
+   v->basic.create_widgets = _basic_create;
+   v->basic.apply_cfdata = _basic_apply;
+
+   con = e_container_current_get(e_manager_current_get()); 
+   inst->cfd = e_config_dialog_new(con, _("Everything Gadgets"), "everything-gadgets",
+                                  "launcher/everything-gadgets", NULL, 0, v, inst);
+
+   e_dialog_resizable_set(inst->cfd->dia, 0);
+   /* _conf->cfd = cfd; */
+}
+
+static void *
+_create_data(E_Config_Dialog *cfd)
+{
+   E_Config_Dialog_Data *cfdata = NULL;
+   Instance *inst = cfd->data;
+   Gadget_Config *gc = inst->cfg;
+   
+   cfdata = E_NEW(E_Config_Dialog_Data, 1);
+
+#define CP(_name) cfdata->_name = strdup(gc->_name);
+#define C(_name) cfdata->_name = gc->_name;
+      CP(plugin);
+      C(hide_after_action);
+      C(popup);
+#undef CP
+#undef C
+
+   return cfdata;
+}
+
+static void
+_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
+{
+   Instance *inst = cfd->data;
+   
+   inst->cfd = NULL;
+   if (cfdata->plugin) free(cfdata->plugin);
+   E_FREE(cfdata);
+}
+
+static void
+_cb_button_settings(void *data, void *data2 __UNUSED__)
+{
+   /* evry_collection_conf_dialog(e_container_current_get(e_manager_current_get()), "Start"); */
+}
+
+static Evas_Object *
+_basic_create(E_Config_Dialog *cfd, Evas *e, E_Config_Dialog_Data *cfdata)
+{
+   Evas_Object *o = NULL, *of = NULL, *ow = NULL;
+   Instance *inst = cfd->data;
+   
+   o = e_widget_list_add(e, 0, 0);
+
+   of = e_widget_framelist_add(e, _("Plugin"), 0);
+   ow = e_widget_entry_add(e, &(cfdata->plugin), NULL, NULL, NULL);
+   e_widget_framelist_object_append(of, ow);
+
+   ow = e_widget_button_add(e, _("Settings"), NULL, _cb_button_settings, inst, NULL); 
+   e_widget_framelist_object_append(of, ow);
+   
+   e_widget_list_object_append(o, of, 1, 1, 0.5);
+   
+   return o;
+}
+
+static int
+_basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
+{
+   Instance *inst = cfd->data;
+   Gadget_Config *gc = inst->cfg;
+   
+#define CP(_name)                                      \
+   if (gc->_name)                                      \
+     eina_stringshare_del(gc->_name);          \
+   gc->_name = eina_stringshare_add(cfdata->_name);
+#define C(_name) gc->_name = cfdata->_name;
+   eina_stringshare_del(gc->plugin);                   \
+   if (cfdata->plugin[0])
+     gc->plugin = eina_stringshare_add(cfdata->plugin);
+   else
+     gc->plugin = NULL;
+   C(hide_after_action);
+   C(popup);
+#undef CP
+#undef C
+
+   e_config_save_queue();
+
+   return 1;
+}
index 955015c..a5e1bb9 100644 (file)
@@ -9,8 +9,6 @@ typedef struct _Plugin Plugin;
 struct _Plugin
 {
   Evry_Plugin base;
-  int type;
-  Evry_Window *win;
 
   Evry_Item *warning;
 };
@@ -20,41 +18,42 @@ _fetch(Evry_Plugin *plugin, const char *input)
 {
    Plugin *p = (Plugin *) plugin;
    Evry_Plugin *pp;
-   Evry_State *s;
    Eina_List *l, *ll, *lp = NULL;
    Evry_Item *it, *it2;
-   int i, top_level = 0, subj_sel = 0, inp_len = 0, cnt = 0;
+   int top_level = 0, subj_sel = 0, inp_len = 0, cnt = 0;
    Eina_List *items = NULL;
    const char *context = NULL;
    char buf[128];
-   Evry_Selector *sel = p->win->selectors[p->type];
-
+   Evry_State *s = plugin->state;
+   Evry_Selector *sel = s->selector;
+   Evry_Selector **sels = sel->win->selectors;
+   
    if (input && input[0])
      inp_len = strlen(input);
    else
      input = NULL;
 
-   EVRY_PLUGIN_ITEMS_FREE(p);
-
-   s = sel->state;
-   if (!s) return 0;
-
-   if (sel == p->win->selectors[0])
-     subj_sel = 1;
-
    if (!sel->states->next)
      top_level = 1;
 
-   /* get current items' context ... */
-   for (i = 1; i < 3; i++)
+   /* get current items' context */
+   if (sel == sels[0])
+     { 
+       subj_sel = 1;
+     }
+   else if (sel == sels[1])
      {
-       if (sel == p->win->selectors[i])
-         {
-            it = p->win->selectors[i-1]->state->cur_item;
-            if (it) context = it->context;
-         }
+       it = sels[0]->state->cur_item;
+       if (it) context = it->context;
+     }
+   else if (sel == sels[2])
+     {
+       it = sels[1]->state->cur_item;
+       if (it) context = it->context;
      }
 
+   EVRY_PLUGIN_ITEMS_FREE(p);
+   
    /* collect plugins to be shown in aggregator */
    EINA_LIST_FOREACH(s->cur_plugins, l, pp)
      {
@@ -287,7 +286,7 @@ _fetch(Evry_Plugin *plugin, const char *input)
        EVRY_PLUGIN_ITEM_APPEND(p, p->warning);
      }
 
-   return !!(p->base.items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 static void
@@ -308,8 +307,6 @@ _begin(Evry_Plugin *plugin, const Evry_Item *it __UNUSED__)
    GET_PLUGIN(base, plugin);
    EVRY_PLUGIN_INSTANCE(p, plugin);
 
-   p->type = base->type;
-   p->win  = base->win;
    p->warning = base->warning;
 
    return EVRY_PLUGIN(p);
@@ -326,7 +323,7 @@ _free(Evry_Plugin *plugin)
 }
 
 Evry_Plugin *
-evry_aggregator_new(Evry_Window *win, int type)
+evry_aggregator_new(int type)
 {
    Evry_Plugin *p;
 
@@ -334,13 +331,10 @@ evry_aggregator_new(Evry_Window *win, int type)
 
    if (evry_plugin_register(p, type, -1))
      {
-       if (type == EVRY_PLUGIN_SUBJECT)
-         p->config->view_mode = VIEW_MODE_THUMB;
+       p->config->view_mode = VIEW_MODE_THUMB;
      }
 
    GET_PLUGIN(pa, p);
-   pa->win = win;
-   pa->type = type;
 
    pa->warning = evry_item_new(NULL, p, N_("No plugins loaded"), NULL, NULL);
    pa->warning->type = EVRY_TYPE_NONE;
index 02621f8..e733b04 100644 (file)
@@ -314,7 +314,7 @@ _fetch_exe(Evry_Plugin *plugin, const char *input)
 
    EVRY_PLUGIN_ITEMS_SORT(p, _cb_sort);
 
-   return !!(plugin->items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 static Evry_Plugin *
@@ -464,6 +464,8 @@ _desktop_list_get(void)
             efreet_desktop_free(d);
             apps = eina_list_remove_list(apps, ll);
          }
+       printf("%d %s\n", d->ref, d->name);
+
        efreet_desktop_free(d);
      }
 
@@ -657,10 +659,20 @@ _fetch(Evry_Plugin *plugin, const char *input)
          }
      }
 
+
    EINA_LIST_FOREACH(p->menu_items, l, it)
-     EVRY_PLUGIN_ITEM_APPEND(p, it);
+     {
+       if (!input)
+         {
+            EVRY_PLUGIN_ITEM_APPEND(p, it);
+            continue;
+         }
+
+       if ((it->fuzzy_match = evry->fuzzy_match(it->label, input)))
+         EVRY_PLUGIN_ITEM_APPEND(p, it);
+     }
    
-   return !!(plugin->items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 /***************************************************************************/
@@ -1243,7 +1255,6 @@ _conf_dialog(E_Container *con, const char *params __UNUSED__)
    return cfd;
 }
 
-/* Local Functions */
 static void *
 _create_data(E_Config_Dialog *cfd __UNUSED__)
 {
index b5f353b..79945c5 100644 (file)
@@ -180,7 +180,7 @@ _fetch(Evry_Plugin *plugin, const char *input)
        error = 0;
      }
 
-   return !!(p->base.items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 static Eina_Bool
index c7a997c..77dd989 100644 (file)
@@ -129,7 +129,7 @@ _fetch(Evry_Plugin *plugin, const char *input)
 
    EVRY_PLUGIN_ITEMS_ADD(p, p->plugins, input, 1, 0);
 
-   return !!(plugin->items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 static Evry_Plugin *
index 3892760..8280b37 100644 (file)
@@ -762,7 +762,7 @@ _fetch(Evry_Plugin *plugin, const char *input)
    if ((p->command) || (!p->min_query) || (len >= p->min_query))
      _files_filter(p);
 
-   return !!(EVRY_PLUGIN(p)->items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 /***************************************************************************/
@@ -1086,7 +1086,7 @@ _recentf_fetch(Evry_Plugin *plugin, const char *input)
     * p->thread = NULL; */
 
    if (input && isspace(input[len - 1]))
-     return !!(plugin->items);
+     return EVRY_PLUGIN_HAS_ITEMS(p);
 
    if (len >= plugin->config->min_query)
      {
@@ -1109,7 +1109,7 @@ _recentf_fetch(Evry_Plugin *plugin, const char *input)
             /* p->thread = ecore_thread_run(_recentf_func, _recentf_end_func,
              *                                   _recentf_cancel_func, d); */
          }
-       return !!(plugin->items);
+       return EVRY_PLUGIN_HAS_ITEMS(p);
      }
 
    EVRY_PLUGIN_ITEMS_CLEAR(p);
index 548c272..476a123 100644 (file)
@@ -146,7 +146,7 @@ _fetch(Evry_Plugin *plugin, const char *input)
    if (input || p->parent)
      EVRY_PLUGIN_ITEMS_ADD(p, p->items, input, 1, 1);
 
-   return !!(plugin->items);
+   return EVRY_PLUGIN_HAS_ITEMS(p);
 }
 
 static int