Use custom edj icon if it's specified (for menus & items).

Use EINA_* macros for lists.
Fix formatting.
Remove Whitespace.



SVN revision: 46623
This commit is contained in:
Christopher Michael 2010-02-27 22:38:35 +00:00
parent 87fb47f7da
commit 857baca433
1 changed files with 95 additions and 88 deletions

View File

@ -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;
}