Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e.h e_fdo_menu_to_order.c e_main.c 


Log Message:


fdo header and src more e compliant :)

onefang - some data to go on for debian - segv land galore though deep inside
ecore_desktop. cant track right now. also leaks... i smell leaks.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e.h,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -3 -r1.51 -r1.52
--- e.h 14 Aug 2006 21:56:13 -0000      1.51
+++ e.h 22 Aug 2006 23:39:08 -0000      1.52
@@ -62,6 +62,7 @@
 #include <Ecore_File.h>
 #include <Ecore_X_Atoms.h>
 #include <Ecore_X_Cursor.h>
+#include <Ecore_Desktop.h>
 #include <Eet.h>
 #include <Edje.h>
 
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_fdo_menu_to_order.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_fdo_menu_to_order.c       22 Aug 2006 23:20:12 -0000      1.2
+++ e_fdo_menu_to_order.c       22 Aug 2006 23:39:08 -0000      1.3
@@ -1,22 +1,4 @@
-/* This file currently lives in two places, the source code for E and the 
source code for e_utils e17genmenu
- *
- * It will soon go away from e17genmenu.  It still needs to be cleaned up to E 
coding specs.
- *
- * The standard includes will be replaced with "e.h" when this is no longer 
needed for e17genmenu.
- *
- * FIXME: .order file usage in here and in e_apps.c need to be reviewed.
- */
-
-#include "config.h"
-#include "e_fdo_menu_to_order.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
-#include <Ecore.h>
-#include <Ecore_Desktop.h>
-#include <Ecore_File.h>
+#include "e.h"
 
 //#define DEBUG 1
 
@@ -29,29 +11,52 @@
 EAPI void
 e_fdo_menu_to_order(void)
 {
+   int i;
+   /* i added all the files i see in /etc/xdg/menus on debian. maybe we
+    * should list the contents of the xdg menu dir and load every *.menu file
+    * ?
+    */
+   const char *menu_names[9] = 
+     {
+       "applications.menu",
+         "gnome-applications.menu",
+         "gnome-preferences.menu",
+         "gnome-settings.menu",
+         "kde-applications.menu",
+         "kde-information.menu",
+         "kde-screensavers.menu",
+         "kde-settings.menu",
+         "debian-menu.menu"
+     };
    char *menu_file;
-
-    /* Find the main menu file. */
-    menu_file = ecore_desktop_paths_file_find(ecore_desktop_paths_menus, 
"applications.menu", -1, NULL, NULL);
-    if (menu_file)
-      {
-         char *path;
-
-         path = ecore_file_get_dir(menu_file);
-         if (path)
-           {
-              Ecore_Desktop_Tree *menus;
-
-              /* convert the xml into menus */
-              menus = ecore_desktop_menu_get(menu_file);
-              if (menus)
-                {
-                   /* create the .eap and order files from the menu */
-                   ecore_desktop_tree_foreach(menus, 0, _e_menu_make_apps, 
path);
-                }
-              free(path);
-           }
-      }
+   
+   for (i = 0; i < 9; i++)
+     {
+       /* Find the main menu file. */
+       menu_file = ecore_desktop_paths_file_find(ecore_desktop_paths_menus, 
+                                                 menu_names[i], -1, NULL, 
NULL);
+       if (menu_file)
+         {
+            char *path;
+            
+            path = ecore_file_get_dir(menu_file);
+            if (path)
+              {
+                 Ecore_Desktop_Tree *menus;
+                 
+                 /* convert the xml into menus */
+                 menus = ecore_desktop_menu_get(menu_file);
+                 if (menus)
+                   {
+                      /* create the .eap and order files from the menu */
+                      ecore_desktop_tree_foreach(menus, 0, _e_menu_make_apps, 
path);
+                   }
+                 free(path);
+                 // FIXME: leak: menus?
+              }
+            // FIXME: leak: menu_file?
+         }
+     }
 }
 
 static int
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -3 -r1.179 -r1.180
--- e_main.c    22 Aug 2006 00:56:03 -0000      1.179
+++ e_main.c    22 Aug 2006 23:39:08 -0000      1.180
@@ -885,7 +885,8 @@
    snprintf(buf, sizeof(buf), "%s/.e/e/applications/menu/all/.order", homedir);
    if (!ecore_file_exists(buf))
      {
-        e_fdo_menu_to_order();
+// leave it to manual generation for now - ecore_desktop segv's badly. 
+//        e_fdo_menu_to_order();
      }
    /* FIXME: THIS is to get people started - shoudl be in a wizard */
    snprintf(buf, sizeof(buf), "%s/.e/e/fileman/favorites", homedir);



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to