summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorHannes Janetzek <hannes.janetzek@gmail.com>2010-05-28 23:02:27 +0000
committerHannes Janetzek <hannes.janetzek@gmail.com>2010-05-28 23:02:27 +0000
commit249e926a61d1964e0ccc6f73772f5512d49851a5 (patch)
tree78d1ae5af5d6bdd8d804e8dccf24f635d72b4f69 /src/modules
parent9e581982f7317e401432b5f506a79ef4010ea863 (diff)
downloadenlightenment-249e926a61d1964e0ccc6f73772f5512d49851a5.tar.gz
initial config dialog for collection
suff mentioned in last commit msg SVN revision: 49263
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/everything-apps/e_mod_main.c12
-rw-r--r--src/modules/everything-files/e_mod_main.c7
-rw-r--r--src/modules/everything-settings/e_mod_main.c148
-rw-r--r--src/modules/everything-windows/e_mod_main.c15
-rw-r--r--src/modules/everything/e_mod_main.h1
-rw-r--r--src/modules/everything/evry.c3
-rw-r--r--src/modules/everything/evry_config.c102
-rw-r--r--src/modules/everything/evry_plug_collection.c26
-rw-r--r--src/modules/everything/evry_plugin.c1
-rw-r--r--src/modules/everything/evry_view.c3
10 files changed, 215 insertions, 103 deletions
diff --git a/src/modules/everything-apps/e_mod_main.c b/src/modules/everything-apps/e_mod_main.c
index 9a1ccb3bc7..a1b808c66b 100644
--- a/src/modules/everything-apps/e_mod_main.c
+++ b/src/modules/everything-apps/e_mod_main.c
@@ -965,7 +965,8 @@ _plugins_init(const Evry_API *api)
if (!evry->api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
- p = EVRY_PLUGIN_NEW(Plugin, N_("Applications"), NULL, EVRY_TYPE_APP,
+ p = EVRY_PLUGIN_NEW(Plugin, N_("Applications"),
+ "system-run", EVRY_TYPE_APP,
_begin, _finish, _fetch, NULL);
p->complete = &_complete;
p->config_path = "extensions/everything-apps";
@@ -973,7 +974,8 @@ _plugins_init(const Evry_API *api)
_plugins = eina_list_append(_plugins, p);
- p = EVRY_PLUGIN_NEW(Plugin, N_("Exebuf"), NULL, EVRY_TYPE_APP,
+ p = EVRY_PLUGIN_NEW(Plugin, N_("Exebuf"),
+ "system-run", EVRY_TYPE_APP,
_begin_exe, _finish_exe, _fetch_exe, NULL);
p->complete = &_complete;
p->config_path = "extensions/everything-apps";
@@ -981,14 +983,16 @@ _plugins_init(const Evry_API *api)
if (evry->plugin_register(p, EVRY_PLUGIN_SUBJECT, 3))
p->config->min_query = 5;
- p = EVRY_PLUGIN_NEW(Plugin, N_("Applications"), NULL, EVRY_TYPE_APP,
+ p = EVRY_PLUGIN_NEW(Plugin, N_("Applications"),
+ "system-run", EVRY_TYPE_APP,
_begin_mime, _finish, _fetch, NULL);
p->complete = &_complete;
p->config_path = "extensions/everything-apps";
evry->plugin_register(p, EVRY_PLUGIN_OBJECT, 1);
_plugins = eina_list_append(_plugins, p);
- p = EVRY_PLUGIN_NEW(Plugin, N_("Open With..."), NULL, EVRY_TYPE_APP,
+ p = EVRY_PLUGIN_NEW(Plugin, N_("Open With..."),
+ "system-run", EVRY_TYPE_APP,
_begin_mime, _finish_mime, _fetch_mime, NULL);
p->config_path = "extensions/everything-apps";
evry->plugin_register(p, EVRY_PLUGIN_ACTION, 1);
diff --git a/src/modules/everything-files/e_mod_main.c b/src/modules/everything-files/e_mod_main.c
index 79128aefeb..8a64c07924 100644
--- a/src/modules/everything-files/e_mod_main.c
+++ b/src/modules/everything-files/e_mod_main.c
@@ -649,8 +649,8 @@ _begin(Evry_Plugin *plugin, const Evry_Item *it)
{
/* provide subject */
EVRY_PLUGIN_INSTANCE(p, plugin);
- p->min_query = plugin->config->min_query;
-
+ p->parent = EINA_FALSE;
+
if (_conf->show_homedir)
p->directory = eina_stringshare_add(e_user_homedir_get());
@@ -823,6 +823,9 @@ _fetch(Evry_Plugin *plugin, const char *input)
if (input && !p->command)
p->input = eina_stringshare_add(input);
+ if (!p->parent)
+ p->min_query = plugin->config->min_query;
+
if ((p->command) || (!p->min_query) || (len >= p->min_query))
_append_files(p);
diff --git a/src/modules/everything-settings/e_mod_main.c b/src/modules/everything-settings/e_mod_main.c
index 6221e68fab..2e91a4d01f 100644
--- a/src/modules/everything-settings/e_mod_main.c
+++ b/src/modules/everything-settings/e_mod_main.c
@@ -6,8 +6,16 @@
#include "e_mod_main.h"
#include "evry_api.h"
+typedef struct _Plugin Plugin;
typedef struct _Settings_Item Settings_Item;
+struct _Plugin
+{
+ Evry_Plugin base;
+ Eina_List *items;
+ Eina_List *categories;
+};
+
struct _Settings_Item
{
Evry_Item base;
@@ -16,22 +24,27 @@ struct _Settings_Item
E_Configure_It *eci;
};
-
static const Evry_API *evry = NULL;
static Evry_Module *evry_module = NULL;
static Evry_Plugin *p;
static Evry_Action *act;
-static Eina_List *items = NULL;
+static Evry_Type E_SETTINGS;
static void
-_finish(Evry_Plugin *p)
+_finish(Evry_Plugin *plugin)
{
- Evry_Item *it;
-
+ Settings_Item *it;
+ GET_PLUGIN(p, plugin);
+
EVRY_PLUGIN_ITEMS_CLEAR(p);
- EINA_LIST_FREE(items, it)
- evry->item_free(it);
+ EINA_LIST_FREE(p->items, it)
+ EVRY_ITEM_FREE(it);
+
+ EINA_LIST_FREE(p->categories, it)
+ EVRY_ITEM_FREE(it);
+
+ E_FREE(p);
}
static Evas_Object *
@@ -40,50 +53,110 @@ _icon_get(Evry_Item *item, Evas *e)
Evas_Object *o;
Settings_Item *it = (Settings_Item *) item;
- if (it->eci->icon &&
+ if (it->eci && it->eci->icon &&
((o = evry->icon_theme_get(it->eci->icon, e)) ||
(o = e_util_icon_add(it->eci->icon, e))))
return o;
+ if (it->ecat->icon &&
+ ((o = evry->icon_theme_get(it->ecat->icon, e)) ||
+ (o = e_util_icon_add(it->ecat->icon, e))))
+ return o;
+
return NULL;
}
static Evry_Plugin *
-_begin(Evry_Plugin *p, const Evry_Item *item __UNUSED__)
+_browse(Evry_Plugin *plugin, const Evry_Item *item)
{
- Settings_Item *it;
- Eina_List *l, *ll;
- E_Configure_Cat *ecat;
- E_Configure_It *eci;
+ Plugin *p;
+ Eina_List *l;
+ Settings_Item *it, *it2;
+
+ if (!CHECK_TYPE(item, E_SETTINGS))
+ return NULL;
+
+ it = (Settings_Item *) item;
+
+ EVRY_PLUGIN_INSTANCE(p, plugin);
+
+ GET_PLUGIN(parent, item->plugin);
+
+ EINA_LIST_FOREACH(parent->items, l, it2)
+ {
+ if (it2->ecat == it->ecat)
+ {
+ EVRY_ITEM_REF(it2);
+ p->items = eina_list_append(p->items, it2);
+ }
+ }
+
+ return EVRY_PLUGIN(p);
+}
- EINA_LIST_FOREACH(e_configure_registry, l, ecat)
+static Evry_Plugin *
+_begin(Evry_Plugin *plugin, const Evry_Item *item __UNUSED__)
+{
+ Plugin *p;
+
+ EVRY_PLUGIN_INSTANCE(p, plugin);
+
+ return EVRY_PLUGIN(p);
+}
+
+static int
+_fetch(Evry_Plugin *plugin, const char *input)
+{
+ int len = input ? strlen(input) : 0;
+
+ GET_PLUGIN(p, plugin);
+
+ EVRY_PLUGIN_ITEMS_CLEAR(p);
+
+ if (len < plugin->config->min_query)
+ return 0;
+
+ if (!p->categories && !p->items)
{
- if ((ecat->pri < 0) || (!ecat->items)) continue;
- if (!strcmp(ecat->cat, "system")) continue;
+ Settings_Item *it;
+ Eina_List *l, *ll;
+ E_Configure_Cat *ecat;
+ E_Configure_It *eci;
- EINA_LIST_FOREACH(ecat->items, ll, eci)
+ EINA_LIST_FOREACH(e_configure_registry, l, ecat)
{
- if (eci->pri < 0) continue;
+ if ((ecat->pri < 0) || (!ecat->items)) continue;
+ if (!strcmp(ecat->cat, "system")) continue;
- it = EVRY_ITEM_NEW(Settings_Item, p, eci->label, _icon_get, NULL);
- it->eci = eci;
+ it = EVRY_ITEM_NEW(Settings_Item, p, ecat->label, _icon_get, NULL);
it->ecat = ecat;
- EVRY_ITEM_DETAIL_SET(it, ecat->label);
+ EVRY_ITEM(it)->browseable = EINA_TRUE;
+ p->categories = eina_list_append(p->categories, it);
+
+ EINA_LIST_FOREACH(ecat->items, ll, eci)
+ {
+ if (eci->pri < 0) continue;
+
+ it = EVRY_ITEM_NEW(Settings_Item, p, eci->label, _icon_get, NULL);
+ it->eci = eci;
+ it->ecat = ecat;
+ EVRY_ITEM_DETAIL_SET(it, ecat->label);
- items = eina_list_append(items, it);
+ p->items = eina_list_append(p->items, it);
+ }
}
}
- return p;
+
+ EVRY_PLUGIN_ITEMS_ADD(p, p->categories, input, 1, 1);
+
+ if (input || !p->categories)
+ return EVRY_PLUGIN_ITEMS_ADD(p, p->items, input, 1, 1);
}
static int
-_fetch(Evry_Plugin *p, const char *input)
+_action_check(Evry_Action *act, const Evry_Item *item)
{
- EVRY_PLUGIN_ITEMS_CLEAR(p);
-
- if (!input) return 0;
-
- return EVRY_PLUGIN_ITEMS_ADD(p, items, input, 1, 1);
+ return !!(((Settings_Item*)item)->eci);
}
static int
@@ -112,16 +185,19 @@ _plugins_init(const Evry_API *_api)
if (!evry->api_version_check(EVRY_API_VERSION))
return EINA_FALSE;
- p = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Settings"), "preferences-desktop",
- evry->type_register("E_SETTINGS"),
+ E_SETTINGS = evry->type_register("E_SETTINGS");
+
+ p = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Settings"),
+ "preferences-desktop", E_SETTINGS,
_begin, _finish, _fetch, NULL);
-
+ p->browse = &_browse;
evry->plugin_register(p, EVRY_PLUGIN_SUBJECT, 10);
- act = EVRY_ACTION_NEW(N_("Show Dialog"),
- evry->type_register("E_SETTINGS"), 0,
- "preferences-advanced", _action, NULL);
+ act = EVRY_ACTION_NEW(N_("Show Dialog"), E_SETTINGS, 0,
+ "preferences-advanced", _action, _action_check);
+ /* p->actions = eina_list_append(p->actions, act); */
+
evry->action_register(act, 0);
return EINA_TRUE;
@@ -134,7 +210,7 @@ _plugins_shutdown(void)
EVRY_PLUGIN_FREE(p);
- evry->action_free(act);
+ EVRY_ACTION_FREE(act);
evry_module->active = EINA_FALSE;
}
diff --git a/src/modules/everything-windows/e_mod_main.c b/src/modules/everything-windows/e_mod_main.c
index 1c09f8635c..7722954d23 100644
--- a/src/modules/everything-windows/e_mod_main.c
+++ b/src/modules/everything-windows/e_mod_main.c
@@ -131,8 +131,17 @@ _get_borderlist(Plugin *p)
_border_item_add(p, bd);
}
+static Evry_Plugin *
+_begin(Evry_Plugin *plugin, const Evry_Item *item __UNUSED__)
+{
+ Plugin *p;
+ EVRY_PLUGIN_INSTANCE(p, plugin);
+
+ return EVRY_PLUGIN(p);
+}
+
static void
-_cleanup(Evry_Plugin *plugin)
+_finish(Evry_Plugin *plugin)
{
Ecore_Event_Handler *h;
Border_Item *bi;
@@ -148,6 +157,8 @@ _cleanup(Evry_Plugin *plugin)
EINA_LIST_FREE(p->handlers, h)
ecore_event_handler_del(h);
+
+ E_FREE(p);
}
static int
@@ -402,7 +413,7 @@ _plugins_init(const Evry_API *_api)
_plug = EVRY_PLUGIN_NEW(Plugin, N_("Windows"),
"preferences-system-windows",
EVRY_TYPE_BORDER,
- NULL, _cleanup, _fetch, NULL);
+ _begin, _finish, _fetch, NULL);
_plug->transient = EINA_TRUE;
if (evry->plugin_register(_plug, EVRY_PLUGIN_SUBJECT, 2))
{
diff --git a/src/modules/everything/e_mod_main.h b/src/modules/everything/e_mod_main.h
index 842c79336a..50349abbff 100644
--- a/src/modules/everything/e_mod_main.h
+++ b/src/modules/everything/e_mod_main.h
@@ -374,6 +374,7 @@ EAPI void *e_modapi_init (E_Module *m);
EAPI int e_modapi_shutdown (E_Module *m);
EAPI int e_modapi_save (E_Module *m);
EAPI E_Config_Dialog *evry_config_dialog(E_Container *con, const char *params);
+EAPI E_Config_Dialog *evry_collection_conf_dialog(E_Container *con, const char *params);
EAPI extern E_Module_Api e_modapi;
diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index f0ada2bbe5..69a81bb254 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -1714,8 +1714,6 @@ evry_browse_item(Evry_Item *it)
{
if ((p->browse) && (pp = p->browse(p, it)))
{
- printf("append %s\n", pp->name);
-
plugins = eina_list_append(plugins, pp);
}
}
@@ -1724,7 +1722,6 @@ evry_browse_item(Evry_Item *it)
if ((!(plugins) && (it->plugin->browse)) &&
(pp = it->plugin->browse(it->plugin, it)))
{
- printf("append 2%s\n", pp->name);
plugins = eina_list_append(plugins, pp);
}
diff --git a/src/modules/everything/evry_config.c b/src/modules/everything/evry_config.c
index ed1be595bf..61c0cdf527 100644
--- a/src/modules/everything/evry_config.c
+++ b/src/modules/everything/evry_config.c
@@ -33,6 +33,8 @@ struct _Plugin_Page
int enabled;
int min_query;
Plugin_Config *cur;
+
+ Eina_Bool collection;
};
struct _E_Config_Dialog_Data
@@ -228,30 +230,31 @@ _fill_list(Eina_List *plugins, Evas_Object *obj, int enabled __UNUSED__)
}
static void
-_plugin_move(Eina_List *plugins, Evas_Object *list, int dir)
+_plugin_move(Plugin_Page *page, int dir)
{
+ Evas_Object *list;
int sel;
- Eina_List *l1, *l2;
+ Eina_List *plugins, *l1, *l2;
- sel = e_widget_ilist_selected_get(list);
+ sel = e_widget_ilist_selected_get(page->list);
- if ((sel >= 1 && dir > 0) || (sel >= 2 && dir < 0))
+ if ((page->collection) || (sel >= 1 && dir > 0) || (sel >= 2 && dir < 0))
{
Plugin_Config *pc;
int prio = 0;
- l1 = eina_list_nth_list(plugins, sel);
- l2 = eina_list_nth_list(plugins, sel + dir);
+ l1 = eina_list_nth_list(page->configs, sel);
+ l2 = eina_list_nth_list(page->configs, sel + dir);
if (!l1 || !l2) return;
pc = l1->data;
l1->data = l2->data;
l2->data = pc;
- _fill_list(plugins, list, 0);
- e_widget_ilist_selected_set(list, sel + dir);
+ _fill_list(page->configs, page->list, 0);
+ e_widget_ilist_selected_set(page->list, sel + dir);
- EINA_LIST_FOREACH(plugins, l1, pc)
+ EINA_LIST_FOREACH(page->configs, l1, pc)
pc->priority = prio++;
}
}
@@ -259,13 +262,13 @@ _plugin_move(Eina_List *plugins, Evas_Object *list, int dir)
static void
_plugin_move_up_cb(void *data, void *data2)
{
- _plugin_move(data2, data, -1);
+ _plugin_move(data, -1);
}
static void
_plugin_move_down_cb(void *data, void *data2)
{
- _plugin_move(data2, data, 1);
+ _plugin_move(data, 1);
}
static void
@@ -340,12 +343,14 @@ static void
_plugin_config_cb(void *data, void *data2)
{
Plugin_Page *page = data;
- if (!page->cur->plugin)
- return;
+ Evry_Plugin *p = page->cur->plugin;
+
+ if (!p) return;
+ printf(" %s\n", p->name);
- e_configure_registry_call(page->cur->plugin->config_path,
+ e_configure_registry_call(p->config_path,
e_container_current_get(e_manager_current_get()),
- NULL);
+ p->name);
}
static Evas_Object *
@@ -362,12 +367,12 @@ _create_plugin_page(E_Config_Dialog_Data *cfdata, Evas *e, Plugin_Page *page)
o = e_widget_button_add(e, _("Move Up"), NULL,
_plugin_move_up_cb,
- page->list, page->configs);
+ page, NULL);
e_widget_framelist_object_append(of, o);
o = e_widget_button_add(e, _("Move Down"), NULL,
_plugin_move_down_cb,
- page->list, page->configs);
+ page, NULL);
e_widget_framelist_object_append(of, o);
ob = e_widget_table_add(e, 0);
e_widget_table_object_append(ob, of, 0, 0, 1, 3, 1, 1, 1, 0);
@@ -597,36 +602,40 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *e, E_Config_Dialog_Data *cfdat
/***************************************************************************/
-#if 0
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 int _cat_basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
-static E_Config_Dialog *
-evry_categories_conf_dialog(E_Container *con, const char *params)
+EAPI E_Config_Dialog *
+evry_collection_conf_dialog(E_Container *con, const char *params)
{
E_Config_Dialog *cfd = NULL;
E_Config_Dialog_View *v = NULL;
- char buf[4096];
+ Evry_Plugin *p;
+ char title[4096];
- if (e_config_dialog_find(_config_path, _config_path))
+ if (!(p = evry_plugin_find(params)))
+ return NULL;
+
+ if (e_config_dialog_find(p->config_path, p->config_path))
return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
- v->create_cfdata = _create_data;
- v->free_cfdata = _free_data;
- v->basic.create_widgets = _basic_create_widgets;
- v->basic.apply_cfdata = _basic_apply;
-
- snprintf(buf, sizeof(buf), "%s/e-module.edj", _conf->module->dir);
+ v->create_cfdata = _cat_create_data;
+ v->free_cfdata = _cat_free_data;
+ v->basic.create_widgets = _cat_basic_create_widgets;
+ v->basic.apply_cfdata = _cat_basic_apply;
- cfd = e_config_dialog_new(con, _("Everything Categories"),
- _config_path, _config_path, buf, 0, v, NULL);
+ snprintf(title, sizeof(title), "%s: %s", _("Everything Collection"), p->name);
+
+ cfd = e_config_dialog_new(con, title, p->config_path, p->config_path,
+ EVRY_ITEM(p)->icon, 0, v, p);
- _conf->cfd = cfd;
+ /* FIXME free dialogs on shutdown
+ _conf->cfd = cfd; */
return cfd;
}
@@ -634,15 +643,11 @@ static void *
_cat_create_data(E_Config_Dialog *cfd)
{
E_Config_Dialog_Data *cfdata = NULL;
+ Evry_Plugin *p = cfd->data;
+
cfdata = E_NEW(E_Config_Dialog_Data, 1);
-
- cfdata->page[0].configs = eina_list_clone(_conf->plugins);
-
- /* #define CP(_name) cfdata->_name = strdup(_conf->_name);
- * #define C(_name) cfdata->_name = _conf->_name;
- *
- * #undef CP
- * #undef C */
+ cfdata->page[0].collection = EINA_TRUE;
+ cfdata->page[0].configs = eina_list_clone(p->config->plugins);
return cfdata;
}
@@ -651,7 +656,7 @@ _cat_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
if (cfdata->page[0].configs) eina_list_free(cfdata->page[0].configs);
- _conf->cfd = NULL;
+ /* _conf->cfd = NULL; */
E_FREE(cfdata);
}
@@ -660,8 +665,12 @@ _cat_basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
int i = 0;
Plugin_Config *pc;
+ Evry_Plugin *p = cfd->data;
- _conf->plugins = eina_list_clone(cfdata->page[0].configs);
+ if (p->config->plugins)
+ eina_list_free(p->config->plugins);
+
+ p->config->plugins = eina_list_clone(cfdata->page[0].configs);
pc = cfdata->page[i].cur;
@@ -683,16 +692,6 @@ _cat_basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
pc->min_query = cfdata->page[i].min_query;
}
- /* #define CP(_name) \
- * if (_conf->_name) \
- * eina_stringshare_del(_conf->_name); \
- * _conf->_name = eina_stringshare_add(cfdata->_name);
- * #define C(_name) _conf->_name = cfdata->_name;
- *
- * #undef CP
- * #undef C */
-
- e_config_domain_save(_config_domain, _conf_edd, _conf);
e_config_save_queue();
return 1;
}
@@ -738,4 +737,3 @@ _cat_basic_create_widgets(E_Config_Dialog *cfd, Evas *e, E_Config_Dialog_Data *c
return otb;
}
-#endif
diff --git a/src/modules/everything/evry_plug_collection.c b/src/modules/everything/evry_plug_collection.c
index a9ea376801..6ffeb2188c 100644
--- a/src/modules/everything/evry_plug_collection.c
+++ b/src/modules/everything/evry_plug_collection.c
@@ -50,8 +50,8 @@ _begin(Evry_Plugin *plugin, const Evry_Item *item)
Evry_Plugin *pp;
Plugin_Config *pc;
Evry_Item *it;
- Plugin *p;
Eina_List *l;
+ Plugin *p;
EVRY_PLUGIN_INSTANCE(p, plugin);
@@ -103,9 +103,14 @@ evry_plug_collection_init(void)
Evry_Plugin *p;
Plugin_Config *pc, *pcc;
Eina_List *l;
+ char path[4096];
+ char title[4096];
COLLECTION_PLUGIN = evry_type_register("COLLECTION_PLUGIN");
+ e_configure_registry_category_add
+ ("extensions", 80, _("Extensions"), NULL, "preferences-extensions");
+
EINA_LIST_FOREACH(evry_conf->collections, l, pc)
{
p = EVRY_PLUGIN_NEW(Evry_Plugin, N_(pc->name),
@@ -118,6 +123,16 @@ evry_plug_collection_init(void)
{
p->config->aggregate = EINA_FALSE;
}
+
+ snprintf(path, sizeof(path), "extensions/everything-%s", p->name);
+
+ snprintf(title, sizeof(title), "Everything %s", p->name);
+
+ e_configure_registry_item_add
+ (path, 110, title, NULL, NULL/*icon*/, evry_collection_conf_dialog);
+
+ p->config_path = eina_stringshare_add(path);
+
plugins = eina_list_append(plugins, p);
}
@@ -128,7 +143,12 @@ void
evry_plug_collection_shutdown(void)
{
Evry_Plugin *p;
-
+
EINA_LIST_FREE(plugins, p)
- EVRY_PLUGIN_FREE(p);
+ {
+ e_configure_registry_item_del(p->config_path);
+ eina_stringshare_del(p->config_path);
+ EVRY_PLUGIN_FREE(p);
+ }
+
}
diff --git a/src/modules/everything/evry_plugin.c b/src/modules/everything/evry_plugin.c
index d07e848b94..94d9db55e7 100644
--- a/src/modules/everything/evry_plugin.c
+++ b/src/modules/everything/evry_plugin.c
@@ -226,7 +226,6 @@ evry_plugin_find(const char *name)
EINA_LIST_FOREACH(evry_conf->conf_subjects, l, pc)
{
- if (!pc->enabled) continue;
if (!pc->plugin) continue;
if (pc->name == n)
break;
diff --git a/src/modules/everything/evry_view.c b/src/modules/everything/evry_view.c
index 05bdecfff7..458a51d1b7 100644
--- a/src/modules/everything/evry_view.c
+++ b/src/modules/everything/evry_view.c
@@ -983,6 +983,9 @@ _view_update(Evry_View *view)
}
else
{
+ if (v_it->selected && v_it->frame)
+ edje_object_signal_emit
+ (v_it->frame,"e,state,unselected", "e");
v_it->selected = EINA_FALSE;
}
break;