Move fixed menu entries into modules.

SVN revision: 31139
This commit is contained in:
Miculcy Brian 2007-08-03 15:57:27 +00:00
parent 7815990fd9
commit 3bfec3d628
5 changed files with 103 additions and 59 deletions

View File

@ -760,30 +760,12 @@ _e_int_menus_virtuals_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
e_desk_show(desk);
}
static void
_e_int_menus_background_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("appearance/wallpaper", m->zone->container, NULL);
}
static void
_e_int_menus_theme_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("appearance/theme", m->zone->container, NULL);
}
static void
_e_int_menus_module_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("extensions/modules", m->zone->container, NULL);
}
static void
_e_int_menus_shelf_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("extensions/shelves", m->zone->container, NULL);
}
static void
_e_int_menus_config_pre_cb(void *data, E_Menu *m)
{
@ -800,34 +782,9 @@ _e_int_menus_config_pre_cb(void *data, E_Menu *m)
e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration");
e_menu_item_callback_set(mi, _e_int_menus_config_item_cb, NULL);
l = evas_hash_find(_e_int_menus_augmentation, "config/1");
if (l)
{
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
_e_int_menus_augmentation_add(m, l);
}
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
if (e_configure_registry_exists("appearance/wallpaper"))
{
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Wallpaper"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/background");
e_menu_item_callback_set(mi, _e_int_menus_background_item_cb, NULL);
}
if (e_configure_registry_exists("appearance/theme"))
{
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Theme"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/themes");
e_menu_item_callback_set(mi, _e_int_menus_theme_item_cb, NULL);
}
if (e_configure_registry_exists("extensions/modules"))
{
mi = e_menu_item_new(m);
@ -836,14 +793,12 @@ _e_int_menus_config_pre_cb(void *data, E_Menu *m)
e_menu_item_callback_set(mi, _e_int_menus_module_item_cb, NULL);
}
if (e_configure_registry_exists("extensions/shelves"))
l = evas_hash_find(_e_int_menus_augmentation, "config/1");
if (l)
{
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Shelves"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/shelf");
e_menu_item_callback_set(mi, _e_int_menus_shelf_item_cb, NULL);
_e_int_menus_augmentation_add(m, l);
}
l = evas_hash_find(_e_int_menus_augmentation, "config/2");
if (l)
{
@ -1515,22 +1470,12 @@ _e_int_menus_augmentation_add(E_Menu *m, Evas_List *augmentation)
{
Evas_List *l;
E_Menu_Item *mi;
int i = 0;
for (l = augmentation; l; l = l->next)
{
E_Int_Menu_Augmentation *aug;
aug = l->data;
if (i)
{
mi = e_menu_item_new(m);
e_menu_item_separator_set(mi, 1);
}
else
i++;
if (aug->add.func)
aug->add.func(aug->add.data, m);
}

View File

@ -48,6 +48,12 @@ EAPI int
e_modapi_shutdown(E_Module *m)
{
E_Config_Dialog *cfd;
/* remove module-supplied menu additions */
if (maug)
{
e_int_menus_menu_augmentation_del("config/1", maug);
maug = NULL;
}
while ((cfd = e_config_dialog_get("E", "_config_profiles_dialog"))) e_object_del(E_OBJECT(cfd));
e_configure_registry_item_del("advanced/profiles");
e_configure_registry_category_del("advanced");

View File

@ -8,7 +8,11 @@
/**/
/* actual module specifics */
static void _e_mod_run_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_Int_Menu_Augmentation *maug = NULL;
/**/
/***************************************************************************/
@ -33,6 +37,8 @@ e_modapi_init(E_Module *m)
{
e_configure_registry_category_add("extensions", 90, _("Extensions"), NULL, "enlightenment/extensions");
e_configure_registry_item_add("extensions/shelves", 20, _("Shelves"), NULL, "enlightenment/shelf", e_int_config_shelf);
maug = e_int_menus_menu_augmentation_add("config/1", _e_mod_menu_add, NULL, NULL, NULL);
conf_module = m;
e_module_delayed_set(m, 1);
return m;
@ -42,6 +48,12 @@ EAPI int
e_modapi_shutdown(E_Module *m)
{
E_Config_Dialog *cfd;
/* remove module-supplied menu additions */
if (maug)
{
e_int_menus_menu_augmentation_del("config/1", maug);
maug = NULL;
}
while ((cfd = e_config_dialog_get("E", "_config_shelf_dialog"))) e_object_del(E_OBJECT(cfd));
e_configure_registry_item_del("extensions/shelves");
e_configure_registry_category_del("extensions");
@ -63,3 +75,22 @@ e_modapi_about(E_Module *m)
_("Configuration dialog for shelves."));
return 1;
}
/* menu item callback(s) */
static void
_e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("extensions/shelves", m->zone->container, NULL);
}
/* menu item add hook */
static void
_e_mod_menu_add(void *data, E_Menu *m)
{
E_Menu_Item *mi;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Shelves"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/shelf");
e_menu_item_callback_set(mi, _e_mod_run_cb, NULL);
}

View File

@ -8,7 +8,11 @@
/**/
/* actual module specifics */
static void _e_mod_run_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_Int_Menu_Augmentation *maug = NULL;
/**/
/***************************************************************************/
@ -33,6 +37,8 @@ e_modapi_init(E_Module *m)
{
e_configure_registry_category_add("appearance", 10, _("Appearance"), NULL, "enlightenment/appearance");
e_configure_registry_item_add("appearance/theme", 20, _("Theme"), NULL, "enlightenment/themes", e_int_config_theme);
maug = e_int_menus_menu_augmentation_add("config/1", _e_mod_menu_add, NULL, NULL, NULL);
conf_module = m;
e_module_delayed_set(m, 1);
return m;
@ -42,6 +48,12 @@ EAPI int
e_modapi_shutdown(E_Module *m)
{
E_Config_Dialog *cfd;
/* remove module-supplied menu additions */
if (maug)
{
e_int_menus_menu_augmentation_del("config/1", maug);
maug = NULL;
}
while ((cfd = e_config_dialog_get("E", "_config_theme_dialog"))) e_object_del(E_OBJECT(cfd));
e_configure_registry_item_del("appearance/theme");
e_configure_registry_category_del("appearance");
@ -63,3 +75,22 @@ e_modapi_about(E_Module *m)
_("Configuration dialog for theme."));
return 1;
}
/* menu item callback(s) */
static void
_e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("appearance/theme", m->zone->container, NULL);
}
/* menu item add hook */
static void
_e_mod_menu_add(void *data, E_Menu *m)
{
E_Menu_Item *mi;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Theme"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/themes");
e_menu_item_callback_set(mi, _e_mod_run_cb, NULL);
}

View File

@ -8,7 +8,11 @@
/**/
/* actual module specifics */
static void _e_mod_run_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_Int_Menu_Augmentation *maug = NULL;
/**/
/***************************************************************************/
@ -35,6 +39,8 @@ e_modapi_init(E_Module *m)
e_configure_registry_item_add("appearance/wallpaper", 10, _("Wallpaper"), NULL, "enlightenment/background", e_int_config_wallpaper);
e_configure_registry_category_add("internal", -1, _("Internal"), NULL, "enlightenment/internal");
e_configure_registry_item_add("internal/wallpaper_desk", -1, _("Wallpaper"), NULL, "enlightenment/windows", e_int_config_wallpaper_desk);
maug = e_int_menus_menu_augmentation_add("config/1", _e_mod_menu_add, NULL, NULL, NULL);
conf_module = m;
e_module_delayed_set(m, 1);
return m;
@ -44,6 +50,12 @@ EAPI int
e_modapi_shutdown(E_Module *m)
{
E_Config_Dialog *cfd;
/* remove module-supplied menu additions */
if (maug)
{
e_int_menus_menu_augmentation_del("config/1", maug);
maug = NULL;
}
while ((cfd = e_config_dialog_get("E", "_config_wallpaper_dialog"))) e_object_del(E_OBJECT(cfd));
e_configure_registry_item_del("internal/wallpaper_desk");
e_configure_registry_category_del("internal");
@ -67,3 +79,22 @@ e_modapi_about(E_Module *m)
_("Configuration dialog for wallpaper configuration."));
return 1;
}
/* menu item callback(s) */
static void
_e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi)
{
e_configure_registry_call("appearance/wallpaper", m->zone->container, NULL);
}
/* menu item add hook */
static void
_e_mod_menu_add(void *data, E_Menu *m)
{
E_Menu_Item *mi;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Wallpaper"));
e_util_menu_item_edje_icon_set(mi, "enlightenment/background");
e_menu_item_callback_set(mi, _e_mod_run_cb, NULL);
}