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_conf_cb(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_mod_menu_add(void *data, E_Menu *m); 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 */ /* gadcon requirements */
static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style); 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); static void _gc_shutdown(E_Gadcon_Client *gcc);
@ -27,6 +23,9 @@ static void _conf_new(void);
static void _conf_free(void); static void _conf_free(void);
static int _conf_timer(void *data); 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; static E_Config_DD *conf_edd = NULL;
Config *conf = NULL; Config *conf = NULL;
@ -72,7 +71,6 @@ _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
{ {
Evas_Coord mw, mh; Evas_Coord mw, mh;
mw = 0, mh = 0;
edje_object_size_min_get(gcc->o_base, &mw, &mh); edje_object_size_min_get(gcc->o_base, &mw, &mh);
if ((mw < 1) || (mh < 1)) if ((mw < 1) || (mh < 1))
edje_object_size_min_calc(gcc->o_base, &mw, &mh); edje_object_size_min_calc(gcc->o_base, &mw, &mh);
@ -119,58 +117,60 @@ _cb_button_click(void *data, void *data2)
static void static void
_e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi) _e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{ {
Eina_List *l; Eina_List *l;
char buf[1024]; E_Configure_Cat *ecat;
char buf[1024];
for (l = e_configure_registry; l; l = l->next)
{ EINA_LIST_FOREACH(e_configure_registry, l, ecat)
Eina_List *ll; {
E_Configure_Cat *ecat; if ((ecat->pri >= 0) && (ecat->items))
{
ecat = l->data; E_Configure_It *eci;
if ((ecat->pri >= 0) && (ecat->items)) Eina_List *ll;
{
for (ll = ecat->items; ll; ll = ll->next) EINA_LIST_FOREACH(ecat->items, ll, eci)
{ {
E_Configure_It *eci; char buf[1024];
char buf[1024];
if ((eci->pri >= 0) && (eci == data))
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);
snprintf(buf, sizeof(buf), "%s/%s", ecat->cat, eci->item); }
e_configure_registry_call(buf, m->zone->container, NULL); }
} }
} }
}
}
} }
static void static void
_config_pre_activate_cb(void *data, E_Menu *m) _config_pre_activate_cb(void *data, E_Menu *m)
{ {
E_Configure_Cat *ecat = data; E_Configure_Cat *ecat = data;
Eina_List *l; E_Configure_It *eci;
E_Menu_Item *mi; Eina_List *l;
/*XXX is this the right way to not initiate the menu a second time ?*/ E_Menu_Item *mi;
if (e_menu_item_nth(m, 0)) return;
/*XXX is this the right way to not initiate the menu a second time ?*/
for (l = ecat->items; l; l = l->next) if (e_menu_item_nth(m, 0)) return;
{
E_Configure_It *eci; EINA_LIST_FOREACH(ecat->items, l, eci)
char buf[1024]; {
char buf[1024];
eci = l->data; if (eci->pri >= 0)
if (eci->pri >= 0) {
{ mi = e_menu_item_new(m);
mi = e_menu_item_new(m); e_menu_item_label_set(mi, eci->label);
e_menu_item_label_set(mi, eci->label); if(eci->icon)
if(eci->icon) {
e_util_menu_item_theme_icon_set(mi, eci->icon); if (eci->icon_file)
e_menu_item_icon_edje_set(mi, eci->icon_file, eci->icon);
e_menu_item_callback_set(mi, _e_mod_run_cb, eci); 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 void
e_mod_config_menu_add(void *data, E_Menu *m) e_mod_config_menu_add(void *data, E_Menu *m)
{ {
E_Menu_Item *mi; E_Menu_Item *mi;
E_Menu *sub; E_Menu *sub;
Eina_List *l;
Eina_List *l; E_Configure_Cat *ecat;
mi = e_menu_item_new(m); mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1); 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);
sub = e_menu_new(); EINA_LIST_FOREACH(e_configure_registry, l, ecat)
e_menu_item_submenu_set(mi, sub); {
e_menu_pre_activate_callback_set(sub, _config_pre_activate_cb, 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 */ /* module setup */
@ -213,7 +214,9 @@ EAPI void *
e_modapi_init(E_Module *m) e_modapi_init(E_Module *m)
{ {
char buf[PATH_MAX]; char buf[PATH_MAX];
conf_module = m; conf_module = m;
/* add module supplied action */ /* add module supplied action */
act = e_action_add("configuration"); act = e_action_add("configuration");
if (act) if (act)
@ -226,10 +229,10 @@ e_modapi_init(E_Module *m)
e_int_menus_menu_augmentation_add_sorted("config/0", _("Settings Panel"), e_int_menus_menu_augmentation_add_sorted("config/0", _("Settings Panel"),
_e_mod_menu_add, NULL, NULL, NULL); _e_mod_menu_add, NULL, NULL, NULL);
e_module_delayed_set(m, 1); e_module_delayed_set(m, 1);
snprintf(buf, sizeof(buf), "%s/e-module-conf.edj", snprintf(buf, sizeof(buf), "%s/e-module-conf.edj",
e_module_dir_get(conf_module)); e_module_dir_get(conf_module));
e_configure_registry_category_add("advanced", 80, "Advanced", e_configure_registry_category_add("advanced", 80, "Advanced",
NULL, "preferences-advanced"); NULL, "preferences-advanced");
e_configure_registry_item_add("advanced/conf", 110, _("Configuration Panel"), e_configure_registry_item_add("advanced/conf", 110, _("Configuration Panel"),
@ -285,8 +288,10 @@ e_modapi_init(E_Module *m)
if (conf->menu_augmentation) if (conf->menu_augmentation)
{ {
conf->aug = e_int_menus_menu_augmentation_add("config/0", e_mod_config_menu_add, NULL, NULL, NULL); conf->aug =
e_int_menus_menu_augmentation_point_disabled_set("config/1", 1); 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 else
e_int_menus_menu_augmentation_point_disabled_set("config/1", 0); 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_item_del("advanced/conf");
e_configure_registry_category_del("advanced"); e_configure_registry_category_del("advanced");
if (conf->cfd) e_object_del(E_OBJECT(conf->cfd)); if (conf->cfd) e_object_del(E_OBJECT(conf->cfd));
conf->cfd = NULL; conf->cfd = NULL;
e_gadcon_provider_unregister(&_gadcon_class); e_gadcon_provider_unregister(&_gadcon_class);
/* remove module-supplied menu additions */ /* remove module-supplied menu additions */
if (maug) if (maug)
{ {
@ -315,10 +321,11 @@ e_modapi_shutdown(E_Module *m)
} }
if (conf->aug) if (conf->aug)
{ {
e_int_menus_menu_augmentation_del("config/0", conf->aug); e_int_menus_menu_augmentation_del("config/0", conf->aug);
conf->aug = NULL; conf->aug = NULL;
e_int_menus_menu_augmentation_point_disabled_set("config/1", 0); e_int_menus_menu_augmentation_point_disabled_set("config/1", 0);
} }
/* remove module-supplied action */ /* remove module-supplied action */
if (act) if (act)
{ {
@ -327,10 +334,10 @@ e_modapi_shutdown(E_Module *m)
act = NULL; act = NULL;
} }
conf_module = NULL; conf_module = NULL;
E_FREE(conf); E_FREE(conf);
E_CONFIG_DD_FREE(conf_edd); E_CONFIG_DD_FREE(conf_edd);
return 1; return 1;
} }
@ -415,9 +422,9 @@ _e_mod_submenu_modes_fill(void *data __UNUSED__, E_Menu *m)
static E_Menu * static E_Menu *
_e_mod_submenu_modes_get(void) _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); e_menu_pre_activate_callback_set(m, _e_mod_submenu_modes_fill, NULL);
return m; return m;
} }