---
 src/menureader.c |  391 ------------------------------------------------------
 1 files changed, 0 insertions(+), 391 deletions(-)
 delete mode 100644 src/menureader.c

diff --git a/src/menureader.c b/src/menureader.c
deleted file mode 100644
index 5f35036..0000000
--- a/src/menureader.c
+++ /dev/null
@@ -1,391 +0,0 @@
-/* menureader.c- root menu definition readers
- *
- *  Window Maker window manager
- *
- *  Copyright (c) 2000-2003 Alfredo K. Kojima
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- *  USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "WindowMaker.h"
-
-#include "misc.h"
-
-#include "rootmenu.h"
-
-typedef struct PLMenuReaderData {
-       WRootMenuReader *reader;
-
-       WMPropList *pl;
-       int curIndex;
-
-       WMPropList **submenu;
-       int *curSubIndex;
-       int submenuDepth;
-
-} PLMenuReaderData;
-
-typedef struct TextMenuReaderData {
-       WRootMenuReader *reader;
-
-       FILE *file;
-
-} TextMenuReaderData;
-
-typedef struct PipeMenuReaderData {
-       WRootMenuReader *reader;
-
-} PipeMenuReaderData;
-
-typedef struct DirMenuReaderData {
-       WRootMenuReader *reader;
-
-       char **dirList;
-       int dirCount;
-
-} DirMenuReaderData;
-
-/*
- typedef struct GNOMEMenuReaderData {
- } GNOMEMenuReaderData;
- */
-
-static WRootMenuData *pl_openMenu(WMPropList * pl);
-static Bool pl_hasMoreData(WRootMenuData * data);
-static Bool pl_nextCommand(WRootMenuData * data, char **title, char **command, 
char **parameter, char **shortcut);
-static void pl_closeMenuFile(WRootMenuData * data);
-
-static WRootMenuData *text_openMenuFile(char *path);
-static Bool text_hasMoreData(WRootMenuData * data);
-static Bool text_nextCommand(WRootMenuData * data,
-                            char **title, char **command, char **parameter, 
char **shortcut);
-static void text_closeMenuFile(WRootMenuData * data);
-
-static WRootMenuData *dir_openMenuFile(char *path);
-static Bool dir_hasMoreData(WRootMenuData * data);
-static Bool dir_nextCommand(WRootMenuData * data, char **title, char 
**command, char **parameter, char **shortcut);
-static void dir_closeMenuFile(WRootMenuData * data);
-
-static WRootMenuReader PLMenuReader = {
-       pl_hasMoreData,
-       pl_nextCommand,
-       pl_closeMenuFile
-};
-
-static WRootMenuReader TextMenuReader = {
-       text_hasMoreData,
-       text_nextCommand,
-       text_closeMenuFile
-};
-
-static WRootMenuReader DirMenuReaderData = {
-       dir_hasMoreData,
-       dir_nextCommand,
-       dir_closeMenuFile
-};
-
-/*
- WRootMenuReader GNOMEMenuReaderData = {
- };
- */
-
-#define LINESIZE 1024
-
-static char linebuf[LINESIZE];
-
-/* ---------- proplist ---------- */
-
-static WRootMenuData *pl_openMenuFile(WMPropList * pl)
-{
-       PLRootMenuData *data = wmalloc(sizeof(PLRootMenuData));
-
-       data->reader = PLMenuReader;
-
-       data->pl = pl;
-       data->curIndex = 0;
-
-       data->submenu = NULL;
-       data->curSubIndex = NULL;
-       data->submenuDepth = 0;
-
-       return data;
-}
-
-static Bool pl_hasMoreData(WRootMenuData * data)
-{
-}
-
-static Bool pl_nextCommand(WRootMenuData * data, char **title, char **command, 
char **parameter, char **shortcut)
-{
-}
-
-static void pl_closeMenuFile(WRootMenuData * data)
-{
-       if (data->submenu)
-               wfree(data->submenu);
-       if (data->curSubIndex)
-               wfree(data->curSubIndex);
-
-       WMReleasePropList(data->pl);
-
-       wfree(data);
-}
-
-/* ---------- text ---------- */
-
-static WRootMenuData *text_openMenuFile(char *path)
-{
-       TextMenuReaderData *data;
-
-       data = wmalloc(sizeof(TextMenuReaderData));
-       data->reader = TextMenuReader;
-
-       data->file = fopen(path, "rb");
-       if (!data->file) {
-
-               return NULL;
-       }
-}
-
-static Bool text_hasMoreData(WRootMenuData * data)
-{
-}
-
-static Bool text_nextCommand(WRootMenuData * data, char **title, char 
**command, char **parameter, char **shortcut)
-{
-}
-
-static void text_closeMenuFile(WRootMenuData * data)
-{
-}
-
-/* ---------- directory ---------- */
-
-static WRootMenuData *dir_openMenuFile(char *paths, time_t * timestamp)
-{
-       DirMenuReaderData *data;
-       char **dirs;
-       int dirN;
-       time_t checksum = 0;
-       int i, c;
-
-       /* timestamp for directory is a "checksum" of the directory times */
-
-       wtokensplit(paths, &dirs, &dirN);
-
-       if (dirN == 0) {
-               return NULL;
-       }
-
-       for (c = 0, i = 0; i < dirN; i++) {
-               char *tmp;
-
-               if (strcmp(dirs[i], "-noext") == 0) {
-                       i++;
-                       continue;
-               }
-
-               tmp = wexpandpath(dirs[i]);
-               wfree(dirs[i]);
-               dirs[i] = tmp;
-
-               if (stat(dirs[i], &stat_buf) < 0) {
-                       wsyserror(_("%s:could not stat menu"), dirs[i]);
-                       wfree(dirs[i]);
-                       dirs[i] = NULL;
-               } else {
-                       c++;
-                       checksum += stat_buf.st_mtime;
-               }
-       }
-
-       if (*timestamp == checksum && *timestamp != 0) {
-               return NULL;
-       }
-
-       if (c == 0) {
-               for (i = 0; i < dirN; i++) {
-                       if (dirs[i])
-                               wfree(dirs[i]);
-               }
-               wfree(dirs);
-
-               return NULL;
-       }
-
-       data = wmalloc(sizeof(DirMenuReaderData));
-       data->reader = DirMenuReader;
-
-}
-
-static Bool dir_hasMoreData(WRootMenuData * data)
-{
-}
-
-static Bool dir_nextCommand(WRootMenuData * data, char **title, char 
**command, char **parameter, char **shortcut)
-{
-}
-
-static void dir_closeMenuFile(WRootMenuData * data)
-{
-}
-
-WRootMenuData *OpenMenu(char *path, time_t * menuTime)
-{
-       proplist pl;
-       struct stat stat_buf;
-       WRootMenuData *data;
-
-       /* check whether it's a piped menu */
-       if (*path == '|') {
-               /* piped menus have the following semantics for menuTime:
-                * if it's 0, then it wasnt loaded yet
-                * if it's 1, it was already loaded, so do not reload
-                *      (would be too slow)
-                * now, menuTime will only be set to 1 if the pipe command is
-                *      specified as ||command instead of |command
-                * in other words ||command means force the submenu to always 
refresh
-                */
-               if (*menuTime == 0) {
-                       data = pipe_openMenu(path);
-               }
-               if (path[1] != '|') {
-                       *menuTime = 1;
-               }
-               return data;
-       }
-
-       if (stat(path, &stat_buf) < 0) {
-               wsyserror(_("could not stat() menu file '%s'"));
-               return NULL;
-       }
-
-       /* check whether it's a directory */
-       if (S_ISDIR(stat_buf.st_mode)) {
-               return dir_openMenuFile(path, menuTime);
-       }
-
-       if (*menuTime >= stat_buf.st_mtime && *menuTime != 0) {
-               /* no changes in the menu file */
-               return NULL;
-       }
-
-       /* then check whether it's a proplist menu */
-       pl = WMReadPropListFromFile(path);
-       if (pl && WMIsPLArray(pl)) {
-               *menuTime = stat_buf.st_mtime;
-               return pl_openMenu(pl);
-       }
-
-       *menuTime = stat_buf.st_mtime;
-       /* assume its a plain text menu */
-       return text_openMenuFile(path);
-}
-
-WRootMenuData *ReopenRootMenu(time_t * checkTime, char **menuPath, time_t * 
menuTimestamp)
-{
-       proplist pl;
-       struct stat stat_buf;
-       char *path;
-
-       if (stat(path, &stat_buf) < 0) {
-               wsyserror(_("could not stat() menu file '%s'"));
-               return NULL;
-       }
-
-       if (*menuTime >= stat_buf.st_mtime && *checkTime != 0) {
-               /* no changes in WMRootMenu, see if the contents changed */
-               if (*menuPath != NULL) {
-                       return OpenMenu(*menuPath, menuTimestamp);
-               } else {
-                       return NULL;
-               }
-       }
-
-       *checkTime = stat_buf.st_mtime;
-
-       pl = WMReadPropListFromFile(path);
-       if (!pl) {
-               wwarning(_("could not load domain %s from user defaults 
database"), "WMRootMenu");
-               return NULL;
-       }
-
-       if (WMIsPLString(pl)) {
-               char *tmp;
-               char *path;
-               Bool menu_is_default = False;
-
-               tmp = wexpandpath(WMGetFromPLString(pl));
-
-               path = getLocalizedMenuFile(tmp);
-
-               if (!path) {
-                       path = wfindfile(DEF_CONFIG_PATHS, tmp);
-               }
-
-               if (!path) {
-                       wwarning(_("could not find menu file '%s' referenced in 
WMRootMenu"), tmp);
-                       path = wfindfile(DEF_CONFIG_PATHS, DEF_MENU_FILE);
-                       menu_is_default = True;
-               }
-
-               if (!path) {
-                       wwarning(_("could not find any usable menu files. 
Please check '%s'"), tmp);
-                       wfree(tmp);
-                       return NULL;
-               }
-
-               wfree(tmp);
-
-               if (*menuPath) {
-                       if (strcmp(*menuPath, path) != 0) {
-                               *menuTimestamp = 0;
-                               wfree(*menuPath);
-                               *menuPath = path;
-
-                               if (menu_is_default) {
-                                       wwarning(_
-                                                ("using default menu file 
\"%s\" as the menu referenced in WMRootMenu could not be found "),
-                                                path);
-                               }
-                       } else {
-                               /* the menu path didn't change, but the
-                                * pointed file might have changed, so we don't 
return
-                                */
-                       }
-               } else {
-                       *menuPath = path;
-               }
-
-               return OpenMenu(*menuPath, menuTimestamp);
-       } else if (WMIsPLArray(pl)) {
-
-               *menuTimestamp = stat_buf.st_mtime;
-
-               return pl_openMenu(pl);
-       } else {
-               wwarning(_
-                        ("invalid content in menu file '%s'.\nIt should either 
be a property list menu or the path to the file, enclosed in \"."),
-                        path);
-               return NULL;
-       }
-}
-- 
1.6.6.rc0.61.g41d5b


-- 
To unsubscribe, send mail to [email protected].

Reply via email to