#include "e.h"
-static void _e_configure_menu_module_item_cb(void *data, E_Menu *m, E_Menu_Item *mi);
-static void _e_configure_menu_add(void *data, E_Menu *m);
-static void _e_configure_efreet_desktop_cleanup(void);
-static void _e_configure_efreet_desktop_update(void);
+static void _e_configure_menu_module_item_cb(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _e_configure_menu_add(void *data, E_Menu *m);
+static void _e_configure_efreet_desktop_cleanup(void);
+static void _e_configure_efreet_desktop_update(void);
static Eina_Bool _e_configure_cb_efreet_desktop_cache_update(void *data, int type, void *event);
-static void _e_configure_registry_item_full_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params), void (*generic_func) (E_Container *con, const char *params), Efreet_Desktop *desktop, const char *params);
-static void _e_configure_registry_item_free(E_Configure_It *eci);
+static void _e_configure_registry_item_full_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func)(E_Container * con, const char *params), void (*generic_func)(E_Container *con, const char *params), Efreet_Desktop *desktop, const char *params);
+static void _e_configure_registry_item_free(E_Configure_It *eci);
-static void _configure_job(void *data);
+static void _configure_job(void *data);
static Eina_Bool _configure_init_timer(void *data);
EAPI Eina_List *e_configure_registry = NULL;
static E_Int_Menu_Augmentation *maug = NULL;
static Ecore_Job *update_job = NULL;
-static struct {
- void (*func) (const void *data, E_Container *con, const char *params, Efreet_Desktop *desktop);
+static struct
+{
+ void (*func)(const void *data, E_Container *con, const char *params, Efreet_Desktop *desktop);
const char *data;
} custom_desktop_exec = { NULL, NULL };
e_configure_registry_item_add("extensions/modules", 10, _("Modules"), NULL, "preferences-plugin", e_int_config_modules);
maug = e_int_menus_menu_augmentation_add_sorted
- ("config/1", _("Modules"), _e_configure_menu_add, NULL, NULL, NULL);
+ ("config/1", _("Modules"), _e_configure_menu_add, NULL, NULL, NULL);
if (update_job)
- {
- ecore_job_del(update_job);
- update_job = NULL;
- }
+ {
+ ecore_job_del(update_job);
+ update_job = NULL;
+ }
ecore_timer_add(0.0, _configure_init_timer, NULL);
}
EINA_LIST_FOREACH(e_configure_registry, l, ecat)
if (!strcmp(cat, ecat->cat))
{
- E_Configure_It *eci;
- Eina_List *ll;
-
- EINA_LIST_FOREACH(ecat->items, ll, eci)
- if (!strcmp(item, eci->item))
- {
- if (!params) params = eci->params;
-
- if (eci->func) eci->func(con, params);
- else if (eci->generic_func) eci->generic_func(con, params);
- else if (eci->desktop)
- {
- if (custom_desktop_exec.func)
- custom_desktop_exec.func(custom_desktop_exec.data,
- con, params, eci->desktop);
- else
- e_exec(e_util_zone_current_get(con->manager),
- eci->desktop, NULL, NULL, "config");
- }
- break;
- }
- break;
+ E_Configure_It *eci;
+ Eina_List *ll;
+
+ EINA_LIST_FOREACH(ecat->items, ll, eci)
+ if (!strcmp(item, eci->item))
+ {
+ if (!params) params = eci->params;
+
+ if (eci->func) eci->func(con, params);
+ else if (eci->generic_func)
+ eci->generic_func(con, params);
+ else if (eci->desktop)
+ {
+ if (custom_desktop_exec.func)
+ custom_desktop_exec.func(custom_desktop_exec.data,
+ con, params, eci->desktop);
+ else
+ e_exec(e_util_zone_current_get(con->manager),
+ eci->desktop, NULL, NULL, "config");
+ }
+ break;
+ }
+ break;
}
free(cat);
}
EAPI void
-e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params))
+e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func)(E_Container * con, const char *params))
{
_e_configure_registry_item_full_add(path, pri, label, icon_file, icon, func, NULL, NULL, NULL);
}
EAPI void
-e_configure_registry_generic_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, void (*generic_func) (E_Container *con, const char *params))
+e_configure_registry_generic_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, void (*generic_func)(E_Container *con, const char *params))
{
_e_configure_registry_item_full_add(path, pri, label, icon_file, icon, NULL, generic_func, NULL, NULL);
}
EAPI void
-e_configure_registry_item_params_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params), const char *params)
+e_configure_registry_item_params_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func)(E_Container * con, const char *params), const char *params)
{
_e_configure_registry_item_full_add(path, pri, label, icon_file, icon, func, NULL, NULL, params);
}
EINA_LIST_FOREACH(e_configure_registry, l, ecat)
if (!strcmp(cat, ecat->cat))
{
- E_Configure_It *eci;
- Eina_List *ll;
+ E_Configure_It *eci;
+ Eina_List *ll;
- EINA_LIST_FOREACH(ecat->items, ll, eci)
- if (!strcmp(item, eci->item))
- {
- ecat->items = eina_list_remove_list(ecat->items, ll);
+ EINA_LIST_FOREACH(ecat->items, ll, eci)
+ if (!strcmp(item, eci->item))
+ {
+ ecat->items = eina_list_remove_list(ecat->items, ll);
_e_configure_registry_item_free(eci);
- break;
- }
- break;
+ break;
+ }
+ break;
}
free(cat);
}
EINA_LIST_FOREACH(e_configure_registry, l, ecat2)
if (ecat2->pri > ecat->pri)
{
- e_configure_registry =
+ e_configure_registry =
eina_list_prepend_relative_list(e_configure_registry, ecat, l);
- return;
+ return;
}
e_configure_registry = eina_list_append(e_configure_registry, ecat);
}
EINA_LIST_FOREACH(e_configure_registry, l, ecat)
if (!strcmp(cat, ecat->cat))
{
- if (ecat->items) break;
- e_configure_registry = eina_list_remove_list(e_configure_registry, l);
- eina_stringshare_del(ecat->cat);
- eina_stringshare_del(ecat->label);
- if (ecat->icon) eina_stringshare_del(ecat->icon);
- if (ecat->icon_file) eina_stringshare_del(ecat->icon_file);
- free(ecat);
- break;
+ if (ecat->items) break;
+ e_configure_registry = eina_list_remove_list(e_configure_registry, l);
+ eina_stringshare_del(ecat->cat);
+ eina_stringshare_del(ecat->label);
+ if (ecat->icon) eina_stringshare_del(ecat->icon);
+ if (ecat->icon_file) eina_stringshare_del(ecat->icon_file);
+ free(ecat);
+ break;
}
free(cat);
}
EAPI void
-e_configure_registry_custom_desktop_exec_callback_set(void (*func) (const void *data, E_Container *con, const char *params, Efreet_Desktop *desktop), const void *data)
+e_configure_registry_custom_desktop_exec_callback_set(void (*func)(const void *data, E_Container *con, const char *params, Efreet_Desktop *desktop), const void *data)
{
custom_desktop_exec.func = func;
custom_desktop_exec.data = data;
EINA_LIST_FOREACH(e_configure_registry, l, ecat)
if (!strcmp(cat, ecat->cat))
{
- E_Configure_It *eci;
- Eina_List *ll;
-
- if (!item)
- {
- ret = 1;
- break;
- }
- EINA_LIST_FOREACH(ecat->items, ll, eci)
- if (!strcmp(item, eci->item))
- {
- ret = 1;
- break;
- }
- break;
+ E_Configure_It *eci;
+ Eina_List *ll;
+
+ if (!item)
+ {
+ ret = 1;
+ break;
+ }
+ EINA_LIST_FOREACH(ecat->items, ll, eci)
+ if (!strcmp(item, eci->item))
+ {
+ ret = 1;
+ break;
+ }
+ break;
}
free(cat);
_configure_init_timer(void *data __UNUSED__)
{
handlers = eina_list_append
- (handlers, ecore_event_handler_add
+ (handlers, ecore_event_handler_add
(EFREET_EVENT_DESKTOP_CACHE_UPDATE, _e_configure_cb_efreet_desktop_cache_update, NULL));
if (update_job) ecore_job_del(update_job);
update_job = ecore_job_add(_configure_job, NULL);
E_Configure_Cat *ecat;
// printf("_e_configure_efreet_desktop_cleanup\n");
- /* remove anything with a desktop entry */
+/* remove anything with a desktop entry */
EINA_LIST_FOREACH(e_configure_registry, l, ecat)
{
- E_Configure_It *eci;
- Eina_List *ll, *ln;
-
- EINA_LIST_FOREACH_SAFE(ecat->items, ll, ln, eci)
- if (eci->desktop)
- {
- _e_configure_registry_item_free(eci);
- ecat->items = eina_list_remove_list(ecat->items, ll);
- }
+ E_Configure_It *eci;
+ Eina_List *ll, *ln;
+
+ EINA_LIST_FOREACH_SAFE (ecat->items, ll, ln, eci)
+ if (eci->desktop)
+ {
+ _e_configure_registry_item_free(eci);
+ ecat->items = eina_list_remove_list(ecat->items, ll);
+ }
}
}
system_desktops = efreet_util_desktop_category_list("System");
if ((!settings_desktops) && (!system_desktops))
{
- EINA_LIST_FREE(settings_desktops, desktop)
- efreet_desktop_free(desktop);
- EINA_LIST_FREE(system_desktops, desktop)
- efreet_desktop_free(desktop);
- return;
+ EINA_LIST_FREE(settings_desktops, desktop)
+ efreet_desktop_free(desktop);
+ EINA_LIST_FREE(system_desktops, desktop)
+ efreet_desktop_free(desktop);
+ return;
}
/* get ones in BOTH lists */
EINA_LIST_FOREACH(settings_desktops, l, desktop)
{
- char *s;
- char *cfg_cat_name;
- const char *cfg_cat_icon;
- char *cfg_cat;
- char *cfg_cat_cfg;
- const char *cfg_icon;
- char *label;
- int cfg_pri;
+ char *s;
+ char *cfg_cat_name;
+ const char *cfg_cat_icon;
+ char *cfg_cat;
+ char *cfg_cat_cfg;
+ const char *cfg_icon;
+ char *label;
+ int cfg_pri;
int dopref;
dopref = 0;
- cfg_cat = NULL;
- cfg_icon = NULL;
- cfg_cat_cfg = NULL;
- cfg_pri = 1000;
- cfg_cat_name = NULL;
- cfg_cat_icon = NULL;
- label = NULL;
- if (!eina_list_data_find(system_desktops, desktop))
+ cfg_cat = NULL;
+ cfg_icon = NULL;
+ cfg_cat_cfg = NULL;
+ cfg_pri = 1000;
+ cfg_cat_name = NULL;
+ cfg_cat_icon = NULL;
+ label = NULL;
+ if (!eina_list_data_find(system_desktops, desktop))
{
/* settings desktop but not in system -> put in preferences */
dopref = 1;
}
- if (desktop->x)
- {
- cfg_cat_cfg = eina_hash_find(desktop->x, "X-Enlightenment-Config-Category");
- s = eina_hash_find(desktop->x, "X-Enlightenment-Config-Priority");
- if (s) cfg_pri = atoi(s);
- cfg_cat_name = eina_hash_find(desktop->x, "X-Enlightenment-Config-Category-Name");
- cfg_cat_icon = eina_hash_find(desktop->x, "X-Enlightenment-Config-Category-Icon");
- if ((cfg_cat_icon) && (cfg_cat_icon[0] != '/'))
+ if (desktop->x)
+ {
+ cfg_cat_cfg = eina_hash_find(desktop->x, "X-Enlightenment-Config-Category");
+ s = eina_hash_find(desktop->x, "X-Enlightenment-Config-Priority");
+ if (s) cfg_pri = atoi(s);
+ cfg_cat_name = eina_hash_find(desktop->x, "X-Enlightenment-Config-Category-Name");
+ cfg_cat_icon = eina_hash_find(desktop->x, "X-Enlightenment-Config-Category-Icon");
+ if ((cfg_cat_icon) && (cfg_cat_icon[0] != '/'))
cfg_cat_icon = efreet_icon_path_find(e_config->icon_theme,
cfg_cat_icon, 64);
- }
- if (desktop->icon)
- {
- if (desktop->icon[0] == '/')
- cfg_icon = desktop->icon;
- else
- cfg_icon = efreet_icon_path_find(e_config->icon_theme,
- desktop->icon, 64);
- }
- if (desktop->name) label = desktop->name;
- else if (desktop->generic_name) label = desktop->generic_name;
- else label = "???";
+ }
+ if (desktop->icon)
+ {
+ if (desktop->icon[0] == '/')
+ cfg_icon = desktop->icon;
+ else
+ cfg_icon = efreet_icon_path_find(e_config->icon_theme,
+ desktop->icon, 64);
+ }
+ if (desktop->name) label = desktop->name;
+ else if (desktop->generic_name)
+ label = desktop->generic_name;
+ else label = "???";
if (!cfg_cat_cfg)
{
const char *ic = cfg_cat_icon;
NULL, NULL, desktop, NULL);
}
EINA_LIST_FREE(settings_desktops, desktop)
- efreet_desktop_free(desktop);
+ efreet_desktop_free(desktop);
EINA_LIST_FREE(system_desktops, desktop)
- efreet_desktop_free(desktop);
+ efreet_desktop_free(desktop);
}
static Eina_Bool
}
static void
-_e_configure_registry_item_full_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params), void (*generic_func) (E_Container *con, const char *params), Efreet_Desktop *desktop, const char *params)
+_e_configure_registry_item_full_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func)(E_Container * con, const char *params), void (*generic_func)(E_Container *con, const char *params), Efreet_Desktop *desktop, const char *params)
{
Eina_List *l;
char *cat;
EINA_LIST_FOREACH(e_configure_registry, l, ecat)
if (!strcmp(cat, ecat->cat))
{
- E_Configure_It *eci2;
- Eina_List *ll;
-
- EINA_LIST_FOREACH(ecat->items, ll, eci2)
- if (eci2->pri > eci->pri)
- {
- ecat->items = eina_list_prepend_relative_list(ecat->items, eci, ll);
- goto done;
- }
- ecat->items = eina_list_append(ecat->items, eci);
- goto done;
+ E_Configure_It *eci2;
+ Eina_List *ll;
+
+ EINA_LIST_FOREACH(ecat->items, ll, eci2)
+ if (eci2->pri > eci->pri)
+ {
+ ecat->items = eina_list_prepend_relative_list(ecat->items, eci, ll);
+ goto done;
+ }
+ ecat->items = eina_list_append(ecat->items, eci);
+ goto done;
}
- done:
+done:
free(cat);
}
if (eci->params) eina_stringshare_del(eci->params);
free(eci);
}
+