Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: menus-misc.c menus.c menus.h Log Message: Prepare to move menus in menus.cfg to simple files. =================================================================== RCS file: /cvs/e/e16/e/src/menus-misc.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- menus-misc.c 28 May 2007 22:05:29 -0000 1.43 +++ menus-misc.c 2 Jun 2007 10:01:34 -0000 1.44 @@ -37,8 +37,6 @@ static char menu_scan_recursive = 0; -static Menu *MenuCreateFromFlatFile(const char *name, Menu * parent, - MenuStyle * ms, const char *file); static Menu *MenuCreateFromDirectory(const char *name, Menu * parent, MenuStyle * ms, const char *dir); @@ -277,12 +275,12 @@ ScanBackgroundMenu(void) { menu_scan_recursive = 1; - MenuLoad(MenuFind("BACKGROUNDS_MENU")); + MenuLoad(MenuFind("BACKGROUNDS_MENU", NULL)); menu_scan_recursive = 0; } static void -FillFlatFileMenu(Menu * m, const char *name, const char *file) +FillFlatFileMenu(Menu * m, const char *file) { FILE *f; char first = 1; @@ -354,8 +352,7 @@ } else if ((act) && (!strcmp(act, "menu")) && (params)) { - Esnprintf(wd, sizeof(wd), "__FM.%s.%i", name, count++); - mm = MenuCreateFromFlatFile(wd, m, NULL, params); + mm = MenuFind(params, NULL); if (mm) { mi = MenuItemCreate(txt, icc, NULL, mm); @@ -385,7 +382,7 @@ MenuSetTimestamp(m, lastmod); MenuEmpty(m, 0); - FillFlatFileMenu(m, MenuGetName(m), ff); + FillFlatFileMenu(m, ff); return 1; } @@ -402,19 +399,27 @@ return NULL; calls++; - ff = FindFile(file, NULL, 0); - if (!ff) + if (!file) + file = name; + + if (isabspath(file)) + { + ff = FindFile(file, NULL, 0); + } + else { - if (isabspath(file)) - goto done; - /* Check also menus subdir */ + /* Check menus subdir first */ Esnprintf(buf, sizeof(buf), "menus/%s", file); ff = FindFile(buf, NULL, 0); if (!ff) - goto done; + ff = FindFile(file, NULL, 0); } + if (!ff) + goto done; - m = MenuCreate(name, NULL, parent, ms); + m = MenuCreate(file, NULL, parent, ms); + if (name != file) + MenuSetAlias(m, name); MenuSetData(m, ff); MenuSetLoader(m, MenuLoadFromFlatFile); @@ -598,6 +603,7 @@ MenuItem *mi; m = MenuCreate(name, NULL, NULL, ms); + MenuSetTitle(m, _("Border")); lst = BordersGetList(&num); if (lst) @@ -804,7 +810,13 @@ if (style) ms = MenuStyleFind(style); - if (!strcmp(type, "file")) + if (!type) + { + if (!strstr(name, ".menu")) + type = name; + } + + if (!type || !strcmp(type, "file")) { m = MenuCreateFromFlatFile(name, NULL, ms, prm); } =================================================================== RCS file: /cvs/e/e16/e/src/menus.c,v retrieving revision 1.276 retrieving revision 1.277 diff -u -3 -r1.276 -r1.277 --- menus.c 19 May 2007 08:41:40 -0000 1.276 +++ menus.c 2 Jun 2007 10:01:34 -0000 1.277 @@ -460,10 +460,6 @@ MenuSetName(Menu * m, const char *name) { _EFDUP(m->name, name); - - if (!menu_list) - menu_list = ecore_list_new(); - ecore_list_prepend(menu_list, m); } void @@ -553,6 +549,10 @@ MenuSetStyle(m, ms); m->icon_size = -1; /* Use image size */ + if (!menu_list) + menu_list = ecore_list_new(); + ecore_list_prepend(menu_list, m); + return m; } @@ -1075,7 +1075,7 @@ } Menu * -MenuFind(const char *name) +MenuFind(const char *name, const char *param) { Menu *m; @@ -1084,13 +1084,13 @@ return (m); /* Not in list - try if we can load internal */ - m = MenusCreateInternal(name, name, NULL, NULL); + m = MenusCreateInternal(NULL, name, NULL, param); return m; } static void -MenusShowNamed(const char *name) +MenusShowNamed(const char *name, const char *param) { Menu *m; @@ -1098,7 +1098,7 @@ if (MenusActive()) MenusHide(); - m = MenuFind(name); + m = MenuFind(name, param); if (!m) return; @@ -1846,7 +1846,6 @@ int i1, i2; Menu *m = NULL, *mm; MenuItem *mi; - MenuStyle *ms; ImageClass *ic = NULL; int fields, len2, len; @@ -1901,13 +1900,10 @@ MenuSetName(m, s2); break; case MENU_USE_STYLE: - ms = MenuStyleFind(s2); - if (ms) - MenuSetStyle(m, ms); + MenuSetStyle(m, MenuStyleFind(s2)); break; case MENU_TITLE: - if (m) - MenuSetTitle(m, s + len2); + MenuSetTitle(m, s + len2); break; case MENU_ITEM: #if 0 /* FIXME - Why ? */ @@ -1951,7 +1947,7 @@ ic = NULL; if (strcmp("NULL", s3)) ic = ImageclassFind(s3, 0); - mm = MenuFind(s2); + mm = MenuFind(s2, NULL); #if 0 /* FIXME - Remove? */ /* if submenu empty - dont put it in - only if menu found */ if (MenuIsEmpty(mm)) @@ -2116,7 +2112,9 @@ } else if (!strncmp(cmd, "list", 2)) { - ECORE_LIST_FOR_EACH(menu_list, m) IpcPrintf("%s\n", m->name); +#define SS(s) ((s) ? (s) : "-") + ECORE_LIST_FOR_EACH(menu_list, m) + IpcPrintf("%s(%s): %s\n", m->name, SS(m->alias), SS(m->title)); } else if (!strncmp(cmd, "reload", 2)) { @@ -2125,10 +2123,12 @@ } else if (!strncmp(cmd, "show", 2)) { - if (strcmp(prm, "named")) - p = prm; + if (*p == '\0') + p = NULL; + if (p && !strcmp(prm, "named")) + Esnprintf(prm, sizeof(prm), "%s", p); SoundPlay("SOUND_MENU_SHOW"); - MenusShowNamed(p); + MenusShowNamed(prm, p); } } =================================================================== RCS file: /cvs/e/e16/e/src/menus.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- menus.h 25 Feb 2007 01:38:30 -0000 1.10 +++ menus.h 2 Jun 2007 10:01:34 -0000 1.11 @@ -44,7 +44,7 @@ void MenuEmpty(Menu * m, int destroying); void MenuRepack(Menu * m); int MenuLoad(Menu * m); -Menu *MenuFind(const char *name); +Menu *MenuFind(const char *name, const char *param); MenuItem *MenuItemCreate(const char *text, ImageClass * ic, const char *action_params, Menu * child); void MenuSetInternal(Menu * m); ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs