support menus to select in ~/.config/menus
authorCarsten Haitzler <raster@rasterman.com>
Thu, 12 May 2011 03:02:55 +0000 (03:02 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 12 May 2011 03:02:55 +0000 (03:02 +0000)
SVN revision: 59336

src/modules/conf_menus/e_int_config_menus.c
src/modules/wizard/page_030.c

index deebf66..d5d3fa8 100644 (file)
@@ -120,8 +120,11 @@ get_menus(Eina_List **menus)
      };
    int i, newdir;
    
-   for (i = 0; dirs[i]; i++)
-     check_menu_dir(dirs[i], menus);
+   e_user_homedir_concat(buf, sizeof(buf), ".config");
+   check_menu_dir(buf, menus);
+   
+   for (i = 0; dirs[i]; i++) check_menu_dir(dirs[i], menus);
+   
    newdir = 1;
    snprintf(buf, sizeof(buf), "%s/etc/xdg", e_prefix_get());
    for (i = 0; dirs[i]; i++)
@@ -157,11 +160,21 @@ _create_menus_list(Evas *evas, E_Config_Dialog_Data *cfdata)
         label = file;
         tlabel = NULL;
         tdesc = NULL;
+        e_user_homedir_concat(buf, sizeof(buf), 
+                              ".config/menus/applications.menu");
         if (!strcmp("/etc/xdg/menus/applications.menu", file))
           {
              label = _("System Default");
              if (!cfdata->default_system_menu) sel = i;
           }
+        else if (!strcmp(buf, file))
+          {
+             label = _("Personal Default");
+             if (cfdata->default_system_menu)
+               {
+                  if (!strcmp(cfdata->default_system_menu, file)) sel = i;
+               }
+          }
         else
           {
              p = strrchr(file, '/');
index 881e65e..f8d9420 100644 (file)
@@ -44,8 +44,11 @@ wizard_page_init(E_Wizard_Page *pg __UNUSED__)
      };
    int i, newdir;
 
-   for (i = 0; dirs[i]; i++) 
-     check_menu_dir(dirs[i]);
+   e_user_homedir_concat(buf, sizeof(buf), ".config");
+   check_menu_dir(buf);
+   
+   for (i = 0; dirs[i]; i++) check_menu_dir(dirs[i]);
+   
    newdir = 1;
    snprintf(buf, sizeof(buf), "%s/etc/xdg", e_prefix_get());
    for (i = 0; dirs[i]; i++)
@@ -116,12 +119,18 @@ wizard_page_show(E_Wizard_Page *pg)
             label = file;
             tlabel = NULL;
             tdesc = NULL;
-            if (!strcmp("/etc/xdg/menus/applications.menu", file))
+             e_user_homedir_concat(buf, sizeof(buf),
+                                   ".config/menus/applications.menu");
+             if (!strcmp("/etc/xdg/menus/applications.menu", file))
               {
                  label = _("System Default");
                  sel = i;
               }
-            else
+             else if (!strcmp(buf, file))
+               {
+                  label = _("Personal Default");
+               }
+             else
               {
                  p = strrchr(file, '/');
                  if (p)