Enlightenment CVS committal

Author  : morlenxus
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/conf_shelves


Modified Files:
        e_mod_main.c 


Log Message:
Move fixed menu entries into modules.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/modules/conf_shelves/e_mod_main.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_mod_main.c        29 Jul 2007 10:24:56 -0000      1.2
+++ e_mod_main.c        3 Aug 2007 15:57:27 -0000       1.3
@@ -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_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 @@
 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");
@@ -62,4 +74,23 @@
                        _("Enlightenment Configuration Module - Shelves"),
                        _("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);
 }



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to