From 857baca4338aa3fa563561206c0c16cbb00c52b1 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Sat, 27 Feb 2010 22:38:35 +0000 Subject: [PATCH] Use custom edj icon if it's specified (for menus & items). Use EINA_* macros for lists. Fix formatting. Remove Whitespace. SVN revision: 46623 --- src/modules/conf/e_mod_main.c | 183 ++++++++++++++++++---------------- 1 file changed, 95 insertions(+), 88 deletions(-) diff --git a/src/modules/conf/e_mod_main.c b/src/modules/conf/e_mod_main.c index 2368871c1..35b8bb35b 100644 --- a/src/modules/conf/e_mod_main.c +++ b/src/modules/conf/e_mod_main.c @@ -10,10 +10,6 @@ static void _e_mod_action_conf_cb(E_Object *obj, const char *params); static void _e_mod_conf_cb(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_mod_menu_add(void *data, E_Menu *m); -static E_Module *conf_module = NULL; -static E_Action *act = NULL; -static E_Int_Menu_Augmentation *maug = NULL; - /* gadcon requirements */ static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style); static void _gc_shutdown(E_Gadcon_Client *gcc); @@ -27,6 +23,9 @@ static void _conf_new(void); static void _conf_free(void); static int _conf_timer(void *data); +static E_Module *conf_module = NULL; +static E_Action *act = NULL; +static E_Int_Menu_Augmentation *maug = NULL; static E_Config_DD *conf_edd = NULL; Config *conf = NULL; @@ -72,7 +71,6 @@ _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient) { Evas_Coord mw, mh; - mw = 0, mh = 0; edje_object_size_min_get(gcc->o_base, &mw, &mh); if ((mw < 1) || (mh < 1)) edje_object_size_min_calc(gcc->o_base, &mw, &mh); @@ -119,58 +117,60 @@ _cb_button_click(void *data, void *data2) static void _e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - Eina_List *l; - char buf[1024]; - - for (l = e_configure_registry; l; l = l->next) - { - Eina_List *ll; - E_Configure_Cat *ecat; - - ecat = l->data; - if ((ecat->pri >= 0) && (ecat->items)) - { - for (ll = ecat->items; ll; ll = ll->next) - { - E_Configure_It *eci; - char buf[1024]; - - eci = ll->data; - if (eci->pri >= 0 && eci == data) - { - snprintf(buf, sizeof(buf), "%s/%s", ecat->cat, eci->item); - e_configure_registry_call(buf, m->zone->container, NULL); - } - } - } - } + Eina_List *l; + E_Configure_Cat *ecat; + char buf[1024]; + + EINA_LIST_FOREACH(e_configure_registry, l, ecat) + { + if ((ecat->pri >= 0) && (ecat->items)) + { + E_Configure_It *eci; + Eina_List *ll; + + EINA_LIST_FOREACH(ecat->items, ll, eci) + { + char buf[1024]; + + if ((eci->pri >= 0) && (eci == data)) + { + snprintf(buf, sizeof(buf), "%s/%s", ecat->cat, eci->item); + e_configure_registry_call(buf, m->zone->container, NULL); + } + } + } + } } static void _config_pre_activate_cb(void *data, E_Menu *m) { - E_Configure_Cat *ecat = data; - Eina_List *l; - E_Menu_Item *mi; - /*XXX is this the right way to not initiate the menu a second time ?*/ - if (e_menu_item_nth(m, 0)) return; - - for (l = ecat->items; l; l = l->next) - { - E_Configure_It *eci; - char buf[1024]; + E_Configure_Cat *ecat = data; + E_Configure_It *eci; + Eina_List *l; + E_Menu_Item *mi; + + /*XXX is this the right way to not initiate the menu a second time ?*/ + if (e_menu_item_nth(m, 0)) return; + + EINA_LIST_FOREACH(ecat->items, l, eci) + { + char buf[1024]; - eci = l->data; - if (eci->pri >= 0) - { - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, eci->label); - if(eci->icon) - e_util_menu_item_theme_icon_set(mi, eci->icon); - - e_menu_item_callback_set(mi, _e_mod_run_cb, eci); - } - } + if (eci->pri >= 0) + { + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, eci->label); + if(eci->icon) + { + if (eci->icon_file) + e_menu_item_icon_edje_set(mi, eci->icon_file, eci->icon); + else + e_util_menu_item_theme_icon_set(mi, eci->icon); + } + e_menu_item_callback_set(mi, _e_mod_run_cb, eci); + } + } } @@ -178,32 +178,33 @@ _config_pre_activate_cb(void *data, E_Menu *m) void e_mod_config_menu_add(void *data, E_Menu *m) { - E_Menu_Item *mi; - E_Menu *sub; - - Eina_List *l; + E_Menu_Item *mi; + E_Menu *sub; + Eina_List *l; + E_Configure_Cat *ecat; - mi = e_menu_item_new(m); - e_menu_item_separator_set(mi, 1); - - for (l = e_configure_registry; l; l = l->next) - { - Eina_List *ll; - E_Configure_Cat *ecat; - - ecat = l->data; - if ((ecat->pri >= 0) && (ecat->items)) - { - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, ecat->label); - if(ecat->icon) - e_util_menu_item_theme_icon_set(mi, ecat->icon); + mi = e_menu_item_new(m); + e_menu_item_separator_set(mi, 1); - sub = e_menu_new(); - e_menu_item_submenu_set(mi, sub); - e_menu_pre_activate_callback_set(sub, _config_pre_activate_cb, ecat); - } - } + EINA_LIST_FOREACH(e_configure_registry, l, ecat) + { + if ((ecat->pri >= 0) && (ecat->items)) + { + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, ecat->label); + if (ecat->icon) + { + if (ecat->icon_file) + e_menu_item_icon_edje_set(mi, ecat->icon_file, ecat->icon); + else + e_util_menu_item_theme_icon_set(mi, ecat->icon); + } + + sub = e_menu_new(); + e_menu_item_submenu_set(mi, sub); + e_menu_pre_activate_callback_set(sub, _config_pre_activate_cb, ecat); + } + } } /* module setup */ @@ -213,7 +214,9 @@ EAPI void * e_modapi_init(E_Module *m) { char buf[PATH_MAX]; + conf_module = m; + /* add module supplied action */ act = e_action_add("configuration"); if (act) @@ -226,10 +229,10 @@ e_modapi_init(E_Module *m) e_int_menus_menu_augmentation_add_sorted("config/0", _("Settings Panel"), _e_mod_menu_add, NULL, NULL, NULL); e_module_delayed_set(m, 1); - + snprintf(buf, sizeof(buf), "%s/e-module-conf.edj", e_module_dir_get(conf_module)); - + e_configure_registry_category_add("advanced", 80, "Advanced", NULL, "preferences-advanced"); e_configure_registry_item_add("advanced/conf", 110, _("Configuration Panel"), @@ -285,8 +288,10 @@ e_modapi_init(E_Module *m) if (conf->menu_augmentation) { - conf->aug = e_int_menus_menu_augmentation_add("config/0", e_mod_config_menu_add, NULL, NULL, NULL); - e_int_menus_menu_augmentation_point_disabled_set("config/1", 1); + conf->aug = + e_int_menus_menu_augmentation_add("config/0", e_mod_config_menu_add, + NULL, NULL, NULL); + e_int_menus_menu_augmentation_point_disabled_set("config/1", 1); } else e_int_menus_menu_augmentation_point_disabled_set("config/1", 0); @@ -302,11 +307,12 @@ e_modapi_shutdown(E_Module *m) e_configure_registry_item_del("advanced/conf"); e_configure_registry_category_del("advanced"); - + if (conf->cfd) e_object_del(E_OBJECT(conf->cfd)); conf->cfd = NULL; - + e_gadcon_provider_unregister(&_gadcon_class); + /* remove module-supplied menu additions */ if (maug) { @@ -315,10 +321,11 @@ e_modapi_shutdown(E_Module *m) } if (conf->aug) { - e_int_menus_menu_augmentation_del("config/0", conf->aug); - conf->aug = NULL; - e_int_menus_menu_augmentation_point_disabled_set("config/1", 0); + e_int_menus_menu_augmentation_del("config/0", conf->aug); + conf->aug = NULL; + e_int_menus_menu_augmentation_point_disabled_set("config/1", 0); } + /* remove module-supplied action */ if (act) { @@ -327,10 +334,10 @@ e_modapi_shutdown(E_Module *m) act = NULL; } conf_module = NULL; - + E_FREE(conf); E_CONFIG_DD_FREE(conf_edd); - + return 1; } @@ -415,9 +422,9 @@ _e_mod_submenu_modes_fill(void *data __UNUSED__, E_Menu *m) static E_Menu * _e_mod_submenu_modes_get(void) { - E_Menu *m = e_menu_new(); + E_Menu *m; - if (!m) return NULL; + if (!(m = e_menu_new())) return NULL; e_menu_pre_activate_callback_set(m, _e_mod_submenu_modes_fill, NULL); return m; }