diff -rc xpaint-2.8.19/app-defaults/XPaint.ad.in xpaint-2.8.19.2/app-defaults/XPaint.ad.in *** xpaint-2.8.19/app-defaults/XPaint.ad.in 2010-04-09 17:00:05.642875433 +0200 --- xpaint-2.8.19.2/app-defaults/XPaint.ad.in 2010-04-08 15:51:21.000000000 +0200 *************** *** 352,359 **** xpaint*toolbox*canvas.label: Canvas xpaint*toolbox*canvas*new.label: New Canvas xpaint*toolbox*canvas*new-size.label: New With Size... ! xpaint*toolbox*canvas*open.label: Open Image... ! xpaint*toolbox*canvas*loaded.label: Loaded files... xpaint*toolbox*canvas*magnifier.label: Magnifier... xpaint*toolbox*canvas*screenshot.label: Take Screenshot... xpaint*toolbox*canvas*about.label: About... --- 352,359 ---- xpaint*toolbox*canvas.label: Canvas xpaint*toolbox*canvas*new.label: New Canvas xpaint*toolbox*canvas*new-size.label: New With Size... ! xpaint*toolbox*canvas*open.label: File Browser... ! xpaint*toolbox*canvas*loaded.label: List of Loaded Files... xpaint*toolbox*canvas*magnifier.label: Magnifier... xpaint*toolbox*canvas*screenshot.label: Take Screenshot... xpaint*toolbox*canvas*about.label: About... *************** *** 492,497 **** --- 492,498 ---- ! Canvas area menu pulldowns ! Canvas*menu*file.label: File + Canvas*menu*file*open.label: Open Image Canvas*menu*file*save.label: Save Canvas*menu*file*saveas.label: Save As... Canvas*menu*file*saveregion.label: Save Region... *************** *** 693,698 **** --- 694,700 ---- !Popup File Menu *paintBox*popup-menu.File.label: File *paintBox*popup-menu.File-right.label: File + *paintBox*popup-menu.File-right*open.label: Open Image... *paintBox*popup-menu.File-right*save.label: Save *paintBox*popup-menu.File-right*saveas.label: Save As... *paintBox*popup-menu.File-right*saveregion.label: Save Region... diff -rc xpaint-2.8.19/app-defaults/XPaint_es.ad.in xpaint-2.8.19.2/app-defaults/XPaint_es.ad.in *** xpaint-2.8.19/app-defaults/XPaint_es.ad.in 2010-04-09 17:00:05.642875433 +0200 --- xpaint-2.8.19.2/app-defaults/XPaint_es.ad.in 2010-04-08 15:56:31.000000000 +0200 *************** *** 354,360 **** xpaint*toolbox*canvas.label: Lienzos xpaint*toolbox*canvas*new.label: Nuevo Lienzo xpaint*toolbox*canvas*new-size.label: Lienzo de dimensiones específicas... ! xpaint*toolbox*canvas*open.label: Abrir Imagen... xpaint*toolbox*canvas*loaded.label: Archivos Cargados... xpaint*toolbox*canvas*magnifier.label: Lupa... xpaint*toolbox*canvas*screenshot.label: Captura de Pantalla... --- 354,360 ---- xpaint*toolbox*canvas.label: Lienzos xpaint*toolbox*canvas*new.label: Nuevo Lienzo xpaint*toolbox*canvas*new-size.label: Lienzo de dimensiones específicas... ! xpaint*toolbox*canvas*open.label: Selector de Archivos... xpaint*toolbox*canvas*loaded.label: Archivos Cargados... xpaint*toolbox*canvas*magnifier.label: Lupa... xpaint*toolbox*canvas*screenshot.label: Captura de Pantalla... *************** *** 491,496 **** --- 491,497 ---- ! Canvas area menu pulldowns ! Canvas*menu*file.label: Archivo + Canvas*menu*file*open.label: Abrir Imagen Canvas*menu*file*save.label: Guardar Canvas*menu*file*saveas.label: Guardar como... Canvas*menu*file*saveregion.label: Guardar Región... *************** *** 690,695 **** --- 691,697 ---- !Popup File Menu *paintBox*popup-menu.File.label: Archivo *paintBox*popup-menu.File-right.label: Archivo + *paintBox*popup-menu.File-right.open.label: Abrir Imagen... *paintBox*popup-menu.File-right.save.label: Guardar *paintBox*popup-menu.File-right.saveas.label: Guardar como... *paintBox*popup-menu.File-right.saveregion.label: Guardar Región... diff -rc xpaint-2.8.19/app-defaults/XPaint_fr.ad.in xpaint-2.8.19.2/app-defaults/XPaint_fr.ad.in *** xpaint-2.8.19/app-defaults/XPaint_fr.ad.in 2010-04-09 17:00:05.642875433 +0200 --- xpaint-2.8.19.2/app-defaults/XPaint_fr.ad.in 2010-04-08 23:23:46.000000000 +0200 *************** *** 352,359 **** xpaint*toolbox*canvas.label: Canevas xpaint*toolbox*canvas*new.label: Nouveau Canevas xpaint*toolbox*canvas*new-size.label: Canevas de taille spécifiée... ! xpaint*toolbox*canvas*open.label: Ouvrir Image... ! xpaint*toolbox*canvas*loaded.label: Fichiers chargés... xpaint*toolbox*canvas*magnifier.label: Loupe... xpaint*toolbox*canvas*screenshot.label: Capture d'Ecran... xpaint*toolbox*canvas*about.label: A Propos... --- 352,359 ---- xpaint*toolbox*canvas.label: Canevas xpaint*toolbox*canvas*new.label: Nouveau Canevas xpaint*toolbox*canvas*new-size.label: Canevas de taille spécifiée... ! xpaint*toolbox*canvas*open.label: Sélecteur de Fichiers... ! xpaint*toolbox*canvas*loaded.label: Fichiers déjà chargés... xpaint*toolbox*canvas*magnifier.label: Loupe... xpaint*toolbox*canvas*screenshot.label: Capture d'Ecran... xpaint*toolbox*canvas*about.label: A Propos... *************** *** 492,497 **** --- 492,498 ---- ! Canvas area menu pulldowns ! Canvas*menu*file.label: Fichier + Canvas*menu*file*open.label: Ouvrir Image... Canvas*menu*file*save.label: Sauvegarder Canvas*menu*file*saveas.label: Sauvegarder sous... Canvas*menu*file*saveregion.label: Sauvegarder Région... *************** *** 687,692 **** --- 688,694 ---- !Popup File Menu *paintBox*popup-menu.File.label: Fichier *paintBox*popup-menu.File-right.label: Fichier + *paintBox*popup-menu.File-right.open.label: Ouvrir Image... *paintBox*popup-menu.File-right.save.label: Sauvegarder *paintBox*popup-menu.File-right.saveas.label: Sauvegarder sous... *paintBox*popup-menu.File-right.saveregion.label: Sauvegarder Région... diff -rc xpaint-2.8.19/Doc/Operator.doc xpaint-2.8.19.2/Doc/Operator.doc *** xpaint-2.8.19/Doc/Operator.doc 2005-04-10 10:02:48.000000000 +0200 --- xpaint-2.8.19.2/Doc/Operator.doc 2010-04-09 08:09:36.000000000 +0200 *************** *** 1,6 **** This is a "rough" document, but hopefully if you are interested in adding a new paint operator to xpaint, it should make a good ! staring point. The interface to add new functions is as follows, all operations have two functions named (where OP == Function name, ## == concatination): --- 1,7 ---- + \*text:900 2250*\\ This is a "rough" document, but hopefully if you are interested in adding a new paint operator to xpaint, it should make a good ! starting point. The interface to add new functions is as follows, all operations have two functions named (where OP == Function name, ## == concatination): diff -rc xpaint-2.8.19/Doc/TextFormat.doc xpaint-2.8.19.2/Doc/TextFormat.doc *** xpaint-2.8.19/Doc/TextFormat.doc 2010-04-05 10:58:35.000000000 +0200 --- xpaint-2.8.19.2/Doc/TextFormat.doc 2010-04-09 07:46:38.000000000 +0200 *************** *** 1,4 **** ! \*text:1500 2121*\\ \*font:Liberation-24:style=Bold*\\*color:red*\\ Use of enriched text files as input of Xpaint \*font:Liberation-18*\\*color:black*\\ --- 1,4 ---- ! \*text:1500 2121*\\*zoom:-2*\\ \*font:Liberation-24:style=Bold*\\*color:red*\\ Use of enriched text files as input of Xpaint \*font:Liberation-18*\\*color:black*\\ diff -rc xpaint-2.8.19/fileBrowser.c xpaint-2.8.19.2/fileBrowser.c *** xpaint-2.8.19/fileBrowser.c 2010-04-09 17:00:05.642875433 +0200 --- xpaint-2.8.19.2/fileBrowser.c 2010-04-09 07:45:10.000000000 +0200 *************** *** 71,78 **** #endif #endif /* _Xconst */ - #define LOADED 4 - typedef struct { Widget shell, pane, name, program, cclog; int mode; --- 71,76 ---- *************** *** 86,91 **** --- 84,90 ---- extern int file_numpages; extern int file_force; extern int file_bbox; + extern int file_specified_zoom; void * GetFileNameGetLastId() *************** *** 207,213 **** Widget paint = (Widget) paintArg; if (PwRegionGet(paint, NULL, NULL)) ! GetFileName(paint, 1, NULL, saveRegionFileCallback, NULL); else Notice(paint, msgText[NO_REGION_SELECTED_PRESENTLY]); } --- 206,212 ---- Widget paint = (Widget) paintArg; if (PwRegionGet(paint, NULL, NULL)) ! GetFileName(paint, BROWSER_SAVE, NULL, saveRegionFileCallback, NULL); else Notice(paint, msgText[NO_REGION_SELECTED_PRESENTLY]); } *************** *** 228,234 **** if (strcmp(name, msgText[DEFAULT_TITLE]) == 0 || strcmp(nm, name) == 0) name = NULL; ! GetFileName(paint, 1, name, saveFileCallback, NULL); } void --- 227,233 ---- if (strcmp(name, msgText[DEFAULT_TITLE]) == 0 || strcmp(nm, name) == 0) name = NULL; ! GetFileName(paint, BROWSER_SAVE, name, saveFileCallback, NULL); } void *************** *** 262,268 **** return; } } ! GetFileName(paint, 1, name, saveFileCallback, NULL); } /* --- 261,267 ---- return; } } ! GetFileName(paint, BROWSER_SAVE, name, saveFileCallback, NULL); } /* *************** *** 391,402 **** XtVaGetValues(l->cwd_w, XtNx, &x, NULL); if (l->home) { XtMoveWidget(l->home, 5, height-84); ! XtMoveWidget(l->root, 30, height-84); ! XtMoveWidget(l->dot, 55, height-84); ! XtMoveWidget(l->hidden, 80, height-84); if (l->ongoing) { XtVaGetValues(l->hidden, XtNwidth, &width1, NULL); ! XtMoveWidget(l->ongoing, 80+width1+3, height-84); } XtMoveWidget(l->cwd_w, x, height-52); XtMoveWidget(l->info, x, height-30); --- 390,401 ---- XtVaGetValues(l->cwd_w, XtNx, &x, NULL); if (l->home) { XtMoveWidget(l->home, 5, height-84); ! XtMoveWidget(l->root, 29, height-84); ! XtMoveWidget(l->dot, 53, height-84); ! XtMoveWidget(l->hidden, 77, height-84); if (l->ongoing) { XtVaGetValues(l->hidden, XtNwidth, &width1, NULL); ! XtMoveWidget(l->ongoing, 80+width1, height-84); } XtMoveWidget(l->cwd_w, x, height-52); XtMoveWidget(l->info, x, height-30); *************** *** 537,543 **** Widget sb; Boolean state; ! if (arg->browserType == LOADED) { emptyList(arg); fileCount = Global.numfiles; list = (String *) XtCalloc(sizeof(String *), fileCount+2); --- 536,542 ---- Widget sb; Boolean state; ! if (arg->browserType == BROWSER_LOADED) { emptyList(arg); fileCount = Global.numfiles; list = (String *) XtCalloc(sizeof(String *), fileCount+2); *************** *** 648,654 **** XawListChange(arg->list, list, i, 0, True); XtVaSetValues(arg->info, XtNlabel, infoStr, NULL); ! if (arg->browserType != LOADED || arg->isToRefresh) { XtVaSetValues(arg->name, XtNstring, "", NULL); if ((sb = XtNameToWidget(arg->vport, "vertical")) != None) { float top = 0.0; --- 647,653 ---- XawListChange(arg->list, list, i, 0, True); XtVaSetValues(arg->info, XtNlabel, infoStr, NULL); ! if (arg->browserType != BROWSER_LOADED || arg->isToRefresh) { XtVaSetValues(arg->name, XtNstring, "", NULL); if ((sb = XtNameToWidget(arg->vport, "vertical")) != None) { float top = 0.0; *************** *** 719,727 **** *cp = '\0'; if (stat(file, &statbuf) >= 0 && (statbuf.st_mode & S_IFDIR) != 0 && !ongoing) { ! if (arg->browserType != LOADED || arg->isToRefresh) setCWD(arg, file); ! if (arg->browserType != LOADED) browserResized(arg->parent, arg, NULL, False); } *cp = '/'; --- 718,726 ---- *cp = '\0'; if (stat(file, &statbuf) >= 0 && (statbuf.st_mode & S_IFDIR) != 0 && !ongoing) { ! if (arg->browserType != BROWSER_LOADED || arg->isToRefresh) setCWD(arg, file); ! if (arg->browserType != BROWSER_LOADED) browserResized(arg->parent, arg, NULL, False); } *cp = '/'; *************** *** 730,736 **** arg->isToRefresh = False; arg->oldwidth = 0; ! if (arg->browserType == LOADED) { char *dpistr, *pagestr, *zoomstr, *alphastr, *bboxstr; Widget paint = GetNonDirtyCanvas(); XtVaGetValues(arg->dpi, XtNstring, &dpistr, NULL); --- 729,735 ---- arg->isToRefresh = False; arg->oldwidth = 0; ! if (arg->browserType == BROWSER_LOADED) { char *dpistr, *pagestr, *zoomstr, *alphastr, *bboxstr; Widget paint = GetNonDirtyCanvas(); XtVaGetValues(arg->dpi, XtNstring, &dpistr, NULL); *************** *** 764,776 **** } else { if (ongoing) { Widget paint = GetNonDirtyCanvas(); - int oldzoom = Global.default_zoom; if (paint) { ! XtVaGetValues(paint, XtNzoom, &zoom, NULL); Global.default_zoom = zoom; loadPrescribedFile(paint, file); setZoomButtonLabel(paint, zoom); ! Global.default_zoom = oldzoom; return; } } else --- 763,778 ---- } else { if (ongoing) { Widget paint = GetNonDirtyCanvas(); if (paint) { ! if (file_specified_zoom) ! zoom = file_specified_zoom; ! else ! XtVaGetValues(paint, XtNzoom, &zoom, NULL); Global.default_zoom = zoom; loadPrescribedFile(paint, file); + AddFileToGlobalList(file); setZoomButtonLabel(paint, zoom); ! Global.default_zoom = zoom_prev; return; } } else *************** *** 803,808 **** --- 805,812 ---- AddFileToGlobalList(file); } else { Image *image = f(file); + if (file_specified_zoom) + Global.default_zoom = file_specified_zoom; if (image == NULL) Notice(w, msgText[UNABLE_TO_OPEN_INPUT_FILE], file, RWGetMsg()); *************** *** 1047,1053 **** *ptr = '\0'; ++ptr; if (strcmp(ptr, "image.c")) return; ! GetFileName(w, 2, NULL, createLXPCallback, arg); free(dir); } --- 1051,1057 ---- *ptr = '\0'; ++ptr; if (strcmp(ptr, "image.c")) return; ! GetFileName(w, BROWSER_SIMPLESAVE, NULL, createLXPCallback, arg); free(dir); } *************** *** 1071,1077 **** arg->okFunc = GraphicOpenFile; okCallback(bar, argArg, NULL); } else { ! if (arg->browserType == LOADED) { static char value[2]; Global.numpage = 1; *value = '1'; value[1] = '\0'; --- 1075,1081 ---- arg->okFunc = GraphicOpenFile; okCallback(bar, argArg, NULL); } else { ! if (arg->browserType == BROWSER_LOADED) { static char value[2]; Global.numpage = 1; *value = '1'; value[1] = '\0'; *************** *** 1165,1171 **** NULL); arg->list = list; ! if (arg->browserType != LOADED) { arg->home = XtVaCreateManagedWidget("home", commandWidgetClass, form, XtNlabel, "~", --- 1169,1175 ---- NULL); arg->list = list; ! if (arg->browserType != BROWSER_LOADED) { arg->home = XtVaCreateManagedWidget("home", commandWidgetClass, form, XtNlabel, "~", *************** *** 1180,1186 **** XtNlabel, "/", XtNfromVert, vport, XtNfromHoriz, arg->home, ! XtNhorizDistance, 4, XtNvertDistance, 0, XtNwidth, 20, XtNheight, 20, --- 1184,1190 ---- XtNlabel, "/", XtNfromVert, vport, XtNfromHoriz, arg->home, ! XtNhorizDistance, 3, XtNvertDistance, 0, XtNwidth, 20, XtNheight, 20, *************** *** 1190,1196 **** XtNlabel, ".", XtNfromVert, vport, XtNfromHoriz, arg->root, ! XtNhorizDistance, 4, XtNvertDistance, 0, XtNwidth, 20, XtNheight, 20, --- 1194,1200 ---- XtNlabel, ".", XtNfromVert, vport, XtNfromHoriz, arg->root, ! XtNhorizDistance, 3, XtNvertDistance, 0, XtNwidth, 20, XtNheight, 20, *************** *** 1199,1219 **** toggleWidgetClass, form, XtNfromVert, vport, XtNfromHoriz, arg->dot, ! XtNhorizDistance, 4, XtNvertDistance, 0, XtNheight, 20, NULL); ! if (arg->browserType) ! arg->ongoing = None; ! else arg->ongoing = XtVaCreateManagedWidget("ongoing", toggleWidgetClass, form, XtNfromVert, vport, XtNfromHoriz, arg->hidden, ! XtNhorizDistance, 4, XtNvertDistance, 0, XtNheight, 20, NULL); } cwd = XtVaCreateManagedWidget("cwd", --- 1203,1224 ---- toggleWidgetClass, form, XtNfromVert, vport, XtNfromHoriz, arg->dot, ! XtNhorizDistance, 3, XtNvertDistance, 0, XtNheight, 20, NULL); ! if (arg->browserType <= BROWSER_MULTIREAD) arg->ongoing = XtVaCreateManagedWidget("ongoing", toggleWidgetClass, form, XtNfromVert, vport, XtNfromHoriz, arg->hidden, ! XtNhorizDistance, 3, XtNvertDistance, 0, XtNheight, 20, + XtNstate, (arg->browserType==BROWSER_MULTIREAD), NULL); + else + arg->ongoing = None; } cwd = XtVaCreateManagedWidget("cwd", *************** *** 1255,1261 **** arg->first = True; ! if (arg->browserType != LOADED) XtSetKeyboardFocus(form, arg->name); setCWD(arg, doDirname(arg, NULL)); return form; --- 1260,1266 ---- arg->first = True; ! if (arg->browserType != BROWSER_LOADED) XtSetKeyboardFocus(form, arg->name); setCWD(arg, doDirname(arg, NULL)); return form; *************** *** 1277,1283 **** shell = XtVisCreatePopupShell("filebrowser", ! ((mode==LOADED)? topLevelShellWidgetClass: transientShellWidgetClass), GetToplevel(w), --- 1282,1288 ---- shell = XtVisCreatePopupShell("filebrowser", ! ((mode==BROWSER_LOADED)? topLevelShellWidgetClass: transientShellWidgetClass), GetToplevel(w), *************** *** 1364,1370 **** arg->isRead = True; arg->numformat = k; ! if (arg->browserType == LOADED) { arg->refresh = XtVaCreateManagedWidget("refresh", commandWidgetClass, browser, XtNborderWidth, 0, --- 1369,1375 ---- arg->isRead = True; arg->numformat = k; ! if (arg->browserType == BROWSER_LOADED) { arg->refresh = XtVaCreateManagedWidget("refresh", commandWidgetClass, browser, XtNborderWidth, 0, *************** *** 1653,1659 **** AddDestroyCallback(shell, (DestroyCallbackFunc) cancelCallback, (XtPointer) arg); ! if (arg->browserType != LOADED) XtSetKeyboardFocus(form, arg->name); XtInstallAccelerators(arg->name, okButton); --- 1658,1664 ---- AddDestroyCallback(shell, (DestroyCallbackFunc) cancelCallback, (XtPointer) arg); ! if (arg->browserType != BROWSER_LOADED) XtSetKeyboardFocus(form, arg->name); XtInstallAccelerators(arg->name, okButton); *************** *** 1864,1871 **** for (cur = argList; cur != NULL; cur = cur->next) if (cur->parent == w && ! (cur->browserType == 0 || ! cur->browserType == 1)) break; if (cur == NULL) --- 1869,1876 ---- for (cur = argList; cur != NULL; cur = cur->next) if (cur->parent == w && ! (cur->browserType >= BROWSER_READ && ! cur->browserType <= BROWSER_SAVE)) break; if (cur == NULL) *************** *** 1890,1916 **** memset(cur, 0, sizeof(arg_t)); cur->parent = p; cur->browserType = type; - /* - cur->isLoaded = False; - cur->isToRefresh = False; - */ switch (type) { ! case 0: ! shell = buildOpenBrowser(w, cur, 250, 380, 0); break; ! case 1: shell = buildSaveBrowser(w, cur); break; ! case 2: ! shell = buildSimpleBrowser(w, cur, True); ! break; ! case 3: shell = buildSimpleBrowser(w, cur, False); break; ! case LOADED: ! shell = buildOpenBrowser(w, cur, 300, 300, LOADED); ! break; } cur->next = argList; /* Add cur to front of list */ --- 1895,1920 ---- memset(cur, 0, sizeof(arg_t)); cur->parent = p; cur->browserType = type; switch (type) { ! case BROWSER_READ: ! shell = buildOpenBrowser(w, cur, 250, 380, BROWSER_READ); break; ! case BROWSER_MULTIREAD: ! shell = buildOpenBrowser(w, cur, 250, 380, BROWSER_MULTIREAD); ! break; ! case BROWSER_LOADED: ! shell = buildOpenBrowser(w, cur, 300, 300, BROWSER_LOADED); ! break; ! case BROWSER_SAVE: shell = buildSaveBrowser(w, cur); break; ! case BROWSER_SIMPLEREAD: shell = buildSimpleBrowser(w, cur, False); break; ! case BROWSER_SIMPLESAVE: ! shell = buildSimpleBrowser(w, cur, True); ! break; } cur->next = argList; /* Add cur to front of list */ *************** *** 1933,1943 **** Widget shell, *widget; int i, j, im; ! if (type == LOADED) { /* if (!Global.numfiles) return; */ /* Check whether "loaded files" browser is already popped up */ for (arg = argList; arg != NULL; arg = arg->next) ! if (arg->browserType == LOADED) { XWindowAttributes win_attributes; XGetWindowAttributes(XtDisplay(arg->bbox), XtWindow(arg->bbox), &win_attributes); --- 1937,1947 ---- Widget shell, *widget; int i, j, im; ! if (type == BROWSER_LOADED) { /* if (!Global.numfiles) return; */ /* Check whether "loaded files" browser is already popped up */ for (arg = argList; arg != NULL; arg = arg->next) ! if (arg->browserType == BROWSER_LOADED) { XWindowAttributes win_attributes; XGetWindowAttributes(XtDisplay(arg->bbox), XtWindow(arg->bbox), &win_attributes); diff -rc xpaint-2.8.19/fontSelect.c xpaint-2.8.19.2/fontSelect.c *** xpaint-2.8.19/fontSelect.c 2010-04-05 16:43:17.000000000 +0200 --- xpaint-2.8.19.2/fontSelect.c 2010-04-09 07:30:06.000000000 +0200 *************** *** 834,840 **** char buf[256]; *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); ! GetFileName(GetShell(w), 3, buf, (XtCallbackProc) loadFileCallbackOK, argArg); } --- 834,840 ---- char buf[256]; *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); ! GetFileName(GetShell(w), BROWSER_SIMPLEREAD, buf, (XtCallbackProc) loadFileCallbackOK, argArg); } *************** *** 873,879 **** char buf[256]; *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); ! GetFileName(GetShell(w), 2, buf, (XtCallbackProc) saveFileCallbackOK, argArg); } --- 873,879 ---- char buf[256]; *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); ! GetFileName(GetShell(w), BROWSER_SIMPLESAVE, buf, (XtCallbackProc) saveFileCallbackOK, argArg); } *************** *** 967,973 **** char buf[256]; *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); ! GetFileName(GetShell(w), 2, buf, (XtCallbackProc) saveFileCallbackOK, argArg); } --- 967,973 ---- char buf[256]; *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); ! GetFileName(GetShell(w), BROWSER_SIMPLESAVE, buf, (XtCallbackProc) saveFileCallbackOK, argArg); } diff -rc xpaint-2.8.19/graphic.c xpaint-2.8.19.2/graphic.c *** xpaint-2.8.19/graphic.c 2010-04-09 17:00:05.642875433 +0200 --- xpaint-2.8.19.2/graphic.c 2010-04-08 23:20:25.000000000 +0200 *************** *** 227,249 **** static PaintMenuItem fileMenu[] = { ! #define FILE_SAVE 0 MI_SIMPLE("save"), ! #define FILE_SAVEAS 1 MI_SIMPLE("saveas"), ! #define FILE_SAVE_REGION 2 MI_SIMPLE("saveregion"), ! #define FILE_LOAD_MEMORY 3 MI_SIMPLE("load-mem"), ! #define FILE_REVERT 4 MI_SIMPLE("revert"), ! #define FILE_LOADED 5 MI_SIMPLE("loaded"), ! #define FILE_PRINT 6 MI_SIMPLE("print"), ! #define FILE_EXTERN 7 MI_SIMPLE("extern"), ! #define FILE_CLOSE 8 MI_SIMPLE("close"), }; --- 227,251 ---- static PaintMenuItem fileMenu[] = { ! #define FILE_OPEN 0 ! MI_SIMPLE("open"), ! #define FILE_SAVE 1 MI_SIMPLE("save"), ! #define FILE_SAVEAS 2 MI_SIMPLE("saveas"), ! #define FILE_SAVE_REGION 3 MI_SIMPLE("saveregion"), ! #define FILE_LOAD_MEMORY 4 MI_SIMPLE("load-mem"), ! #define FILE_REVERT 5 MI_SIMPLE("revert"), ! #define FILE_LOADED 6 MI_SIMPLE("loaded"), ! #define FILE_PRINT 7 MI_SIMPLE("print"), ! #define FILE_EXTERN 8 MI_SIMPLE("extern"), ! #define FILE_CLOSE 9 MI_SIMPLE("close"), }; *************** *** 518,540 **** static PaintMenuItem popupFileMenu[] = { MI_SEPARATOR(), ! #define P_FILE_SAVE 1 MI_SIMPLE("save"), ! #define P_FILE_SAVEAS 2 MI_SIMPLE("saveas"), ! #define P_FILE_SAVE_REGION 3 MI_SIMPLE("saveregion"), ! #define P_FILE_LOAD_MEMORY 4 MI_SIMPLE("load-mem"), ! #define P_FILE_REVERT 5 MI_SIMPLE("revert"), ! #define P_FILE_LOADED 6 MI_SIMPLE("loaded"), ! #define P_FILE_PRINT 7 MI_SIMPLE("print"), ! #define P_FILE_EXTERN 8 MI_SIMPLE("extern"), ! #define P_FILE_CLOSE 9 MI_SIMPLE("close"), }; --- 520,544 ---- static PaintMenuItem popupFileMenu[] = { MI_SEPARATOR(), ! #define P_FILE_OPEN 1 ! MI_SIMPLE("open"), ! #define P_FILE_SAVE 2 MI_SIMPLE("save"), ! #define P_FILE_SAVEAS 3 MI_SIMPLE("saveas"), ! #define P_FILE_SAVE_REGION 4 MI_SIMPLE("saveregion"), ! #define P_FILE_LOAD_MEMORY 5 MI_SIMPLE("load-mem"), ! #define P_FILE_REVERT 6 MI_SIMPLE("revert"), ! #define P_FILE_LOADED 7 MI_SIMPLE("loaded"), ! #define P_FILE_PRINT 8 MI_SIMPLE("print"), ! #define P_FILE_EXTERN 9 MI_SIMPLE("extern"), ! #define P_FILE_CLOSE 10 MI_SIMPLE("close"), }; *************** *** 1049,1055 **** static void loadedCallback(Widget w, XtPointer paintArg, XtPointer junk2) { ! GetFileName(Global.toplevel, 4, NULL, GraphicOpenFile, NULL); } static void --- 1053,1059 ---- static void loadedCallback(Widget w, XtPointer paintArg, XtPointer junk2) { ! GetFileName(Global.toplevel, BROWSER_LOADED, NULL, GraphicOpenFile, NULL); } static void *************** *** 2176,2226 **** StateSetBusy(False); Notice(Global.toplevel, msgText[UNABLE_TO_OPEN_INPUT_FILE], file, RWGetMsg()); } - - #if 0 /* old way : close canvas - and reopen a new one - quite clumsy ! */ - void *v; - char *file; - Image * image; - RWreadFunc f; - Widget paint, top; - int zoom, snap_x, snap_y; - Boolean snapon; - Pixel background; - WidgetList wlist; - - XtVaGetValues(w, - XtNzoom, &zoom, - XtNsnapX, &snap_x, XtNsnapY, &snap_y, XtNsnapOn, &snapon, - XtNbackground, &background, XtNmenuwidgets, &wlist, - XtNfilename, &file, - NULL); - if ((file == NULL) || (*file == 0)) - return; - - StateSetBusy(True); - - top = GetToplevel(w); - workProcDone = 0; - workProcId = XtAppAddWorkProc(Global.appContext, workProc, (XtPointer) w); - - if ((v = ReadMagic(file)) != NULL) - paint = GraphicOpenFileZoom(top, file, v, zoom); - else { - StateSetBusy(False); - Notice(top, msgText[UNABLE_TO_OPEN_INPUT_FILE], file, RWGetMsg()); - return; - } - - XtVaSetValues(paint, - XtNsnapOn, snapon, XtNsnapX, snap_x, XtNsnapY, snap_y, - XtNbackground, background, XtNdirty, False, NULL); - - StateSetBusy(False); - XtVaGetValues(paint, XtNmenuwidgets, &wlist, NULL); - if (!wlist) return; - MenuCheckItem(wlist[W_SELECTOR_SNAP], snapon); - MenuCheckItem(wlist[W_TOPMENU+W_SELECTOR_SNAP], snapon); - #endif } static int xorig = 0; --- 2180,2185 ---- *************** *** 4528,4534 **** void loadMemory(Widget w, XtPointer junk, XtPointer junk2) { ! GetFileName(GetShell(w), 0, NULL, (XtCallbackProc) loadMemoryCallback, NULL); } --- 4487,4493 ---- void loadMemory(Widget w, XtPointer junk, XtPointer junk2) { ! GetFileName(GetShell(w), BROWSER_READ, NULL, (XtCallbackProc) loadMemoryCallback, NULL); } *************** *** 5233,5240 **** XtManageChild(paintbox); XtManageChild(viewport); ! ADDCALLBACK(fileMenu, FILE_SAVEAS, paint, StdSaveAsFile); ADDCALLBACK(fileMenu, FILE_SAVE, paint, StdSaveFile); ccpAddSaveRegion(fileMenu[FILE_SAVE_REGION].widget, paint); ADDCALLBACK(fileMenu, FILE_LOAD_MEMORY, info, loadMemory); ADDCALLBACK(fileMenu, FILE_REVERT, paint, revertCallback); --- 5192,5200 ---- XtManageChild(paintbox); XtManageChild(viewport); ! ADDCALLBACK(fileMenu, FILE_OPEN, paint, StdOpenFile); ADDCALLBACK(fileMenu, FILE_SAVE, paint, StdSaveFile); + ADDCALLBACK(fileMenu, FILE_SAVEAS, paint, StdSaveAsFile); ccpAddSaveRegion(fileMenu[FILE_SAVE_REGION].widget, paint); ADDCALLBACK(fileMenu, FILE_LOAD_MEMORY, info, loadMemory); ADDCALLBACK(fileMenu, FILE_REVERT, paint, revertCallback); *************** *** 5570,5576 **** EnableRevert((Widget) paint); XtVaSetValues((Widget)paint, XtNdirty, False, NULL); if (file_isSpecialImage) { ! GetFileName(Global.toplevel, 4, NULL, NULL, NULL); SetEditable((Widget)paint, !(alpha && Global.alpha_mode>=2), (alpha!=NULL && Global.alpha_mode==0)); --- 5530,5536 ---- EnableRevert((Widget) paint); XtVaSetValues((Widget)paint, XtNdirty, False, NULL); if (file_isSpecialImage) { ! GetFileName(Global.toplevel, BROWSER_LOADED, NULL, NULL, NULL); SetEditable((Widget)paint, !(alpha && Global.alpha_mode>=2), (alpha!=NULL && Global.alpha_mode==0)); *************** *** 5600,5624 **** * 2: Create new (blank) canvas, querying for size */ void ! GraphicCreate(Widget wid, int value) { switch (value) { case 0: ! graphicCreate(makeGraphicShell(wid), Global.default_width, Global.default_height, Global.default_zoom, None, None, NULL); break; case 1: ! WHZSizeSelect(wid, NULL, 1); break; case 2: ! GetFileName(GetToplevel(wid), 0, NULL, GraphicOpenFile, NULL); break; case 3: ! GetFileName(GetToplevel(wid), 4, NULL, GraphicOpenFile, NULL); break; case 4: ! StartMagnifier(wid); break; } } --- 5560,5586 ---- * 2: Create new (blank) canvas, querying for size */ void ! GraphicCreate(Widget w, int value) { switch (value) { case 0: ! graphicCreate(makeGraphicShell(w), Global.default_width, Global.default_height, Global.default_zoom, None, None, NULL); break; case 1: ! WHZSizeSelect(w, NULL, 1); break; case 2: ! GetFileName(GetToplevel(w), BROWSER_MULTIREAD, ! NULL, GraphicOpenFile, NULL); break; case 3: ! GetFileName(GetToplevel(w), BROWSER_LOADED, ! NULL, GraphicOpenFile, NULL); break; case 4: ! StartMagnifier(w); break; } } *************** *** 6428,6433 **** --- 6390,6402 ---- } void + StdOpenFile(Widget w, XtPointer paintArg, XtPointer junk) + { + GetFileName(GetToplevel(w), BROWSER_READ, + NULL, GraphicOpenFile, NULL); + } + + void StdWriteText(Widget w, XtPointer infoArg, XtPointer junk) { LocalInfo * info = (LocalInfo *) infoArg; *************** *** 7168,7173 **** --- 7137,7143 ---- XtAddEventHandler(paint, KeyPressMask, False, (XtEventHandler) selectKeyPress, NULL); + ADDCALLBACK(popupFileMenu, P_FILE_OPEN, paint, StdOpenFile); ADDCALLBACK(popupFileMenu, P_FILE_SAVE, paint, StdSaveFile); ADDCALLBACK(popupFileMenu, P_FILE_SAVEAS, paint, StdSaveAsFile); ccpAddSaveRegion(popupFileMenu[P_FILE_SAVE_REGION].widget, paint); diff -rc xpaint-2.8.19/iprocess.c xpaint-2.8.19.2/iprocess.c *** xpaint-2.8.19/iprocess.c 2010-03-25 20:10:16.000000000 +0100 --- xpaint-2.8.19.2/iprocess.c 2010-04-07 23:04:18.000000000 +0200 *************** *** 1952,1958 **** *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); Global.explore = True; ! GetFileName(GetShell(w), 3, buf, (XtCallbackProc) loadFileCallbackOK, wlArg); Global.explore = False; } --- 1952,1958 ---- *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); Global.explore = True; ! GetFileName(GetShell(w), BROWSER_SIMPLEREAD, buf, (XtCallbackProc) loadFileCallbackOK, wlArg); Global.explore = False; } *************** *** 1994,2000 **** if (getcwd(buf, 256)) strcat(buf, "/"); Global.explore = True; if (!info->scriptfile || !info->scriptfile[0]) ! GetFileName(GetShell(w), 2, buf, (XtCallbackProc) saveFileCallbackOK, wlArg); else saveFileCallbackOK(w, wlArg, info->scriptfile); --- 1994,2000 ---- if (getcwd(buf, 256)) strcat(buf, "/"); Global.explore = True; if (!info->scriptfile || !info->scriptfile[0]) ! GetFileName(GetShell(w), BROWSER_SIMPLESAVE, buf, (XtCallbackProc) saveFileCallbackOK, wlArg); else saveFileCallbackOK(w, wlArg, info->scriptfile); *************** *** 2008,2014 **** *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); Global.explore = True; ! GetFileName(GetShell(w), 2, buf, (XtCallbackProc) saveFileCallbackOK, wlArg); Global.explore = False; } --- 2008,2014 ---- *buf = '\0'; if (getcwd(buf, 256)) strcat(buf, "/"); Global.explore = True; ! GetFileName(GetShell(w), BROWSER_SIMPLESAVE, buf, (XtCallbackProc) saveFileCallbackOK, wlArg); Global.explore = False; } *************** *** 2031,2037 **** sprintf(directory, "%s/c_scripts/%s/", GetShareDir(), predefMenu[info->mode].name); ! GetFileName(GetShell(w), 3, directory, (XtCallbackProc) loadFileCallbackOK, wlArg); Global.explore = False; } --- 2031,2037 ---- sprintf(directory, "%s/c_scripts/%s/", GetShareDir(), predefMenu[info->mode].name); ! GetFileName(GetShell(w), BROWSER_SIMPLEREAD, directory, (XtCallbackProc) loadFileCallbackOK, wlArg); Global.explore = False; } diff -rc xpaint-2.8.19/main.c xpaint-2.8.19.2/main.c *** xpaint-2.8.19/main.c 2010-04-09 17:00:05.642875433 +0200 --- xpaint-2.8.19.2/main.c 2010-04-09 08:12:35.000000000 +0200 *************** *** 61,66 **** --- 61,67 ---- char *routine; extern int magnifier_closing_down; + extern int file_specified_zoom; extern char *fontNames[]; extern void BrushInit(Widget toplevel); *************** *** 401,412 **** processFile(char *file) { void *v; StateSetBusy(True); ! if ((v = ReadMagic(file)) != NULL) ! GraphicOpenFile(Global.toplevel, file, v); ! else Notice(Global.toplevel, msgText[UNABLE_TO_OPEN_INPUT_FILE], file, RWGetMsg()); --- 402,415 ---- processFile(char *file) { void *v; + int zoom = Global.default_zoom; StateSetBusy(True); ! if ((v = ReadMagic(file)) != NULL) { ! if (file_specified_zoom) zoom = file_specified_zoom; ! GraphicOpenFileZoom(Global.toplevel, file, v, zoom); ! } else Notice(Global.toplevel, msgText[UNABLE_TO_OPEN_INPUT_FILE], file, RWGetMsg()); diff -rc xpaint-2.8.19/misc.h xpaint-2.8.19.2/misc.h *** xpaint-2.8.19/misc.h 2010-04-09 17:00:05.652875600 +0200 --- xpaint-2.8.19.2/misc.h 2010-04-07 23:18:20.000000000 +0200 *************** *** 78,84 **** extern void FatbitsEditDestroy(Widget paint); extern void FatbitsEdit(Widget paint); ! /* fileName.c */ extern void *GetFileNameGetLastId(void); extern void StdSaveRegionFile(Widget w, XtPointer paintArg, XtPointer junk); extern void StdSaveAsFile(Widget w, XtPointer paintArg, XtPointer junk); --- 78,84 ---- extern void FatbitsEditDestroy(Widget paint); extern void FatbitsEdit(Widget paint); ! /* fileBrowser.c */ extern void *GetFileNameGetLastId(void); extern void StdSaveRegionFile(Widget w, XtPointer paintArg, XtPointer junk); extern void StdSaveAsFile(Widget w, XtPointer paintArg, XtPointer junk); *************** *** 191,196 **** --- 191,197 ---- extern void RemoveFileFromGlobalList(char * file); extern void setWriteTextSensitive(Widget w, Boolean bool); extern void StdWriteText(Widget w, XtPointer infoArg, XtPointer junk); + extern void StdOpenFile(Widget w, XtPointer paintArg, XtPointer junk); /* pattern.c */ extern void PatternEdit(Widget w, Pixel *pixels, diff -rc xpaint-2.8.19/operation.c xpaint-2.8.19.2/operation.c *** xpaint-2.8.19/operation.c 2010-04-09 17:00:05.652875600 +0200 --- xpaint-2.8.19.2/operation.c 2010-04-07 22:21:37.000000000 +0200 *************** *** 1255,1319 **** } } - #if 0 - static PaintMenuItem lineMenu[] = - { - #if 0 - MI_FLAGCB("0", MF_CHECK | MF_GROUP1, lineWidth, NULL), - #endif - MI_FLAGCB("1", MF_CHECK | MF_GROUP1, lineWidth, NULL), - MI_FLAGCB("2", MF_CHECK | MF_GROUP1, lineWidth, NULL), - MI_FLAGCB("4", MF_CHECK | MF_GROUP1, lineWidth, NULL), - MI_FLAGCB("6", MF_CHECK | MF_GROUP1, lineWidth, NULL), - MI_FLAGCB("8", MF_CHECK | MF_GROUP1, lineWidth, NULL), - #define LW_SELECT 5 - MI_FLAGCB("select", MF_CHECK | MF_GROUP1, lineWidth, NULL), - }; - - static PaintMenuItem fontMenu[] = - { - MI_FLAGCB("Times 8", MF_CHECK | MF_GROUP1, - fontSet, "-*-times-medium-r-normal-*-*-80-*-*-p-*-*-*"), - MI_FLAGCB("Times 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-times-medium-r-normal-*-*-120-*-*-p-*-*-*"), - MI_FLAGCB("Times 18", MF_CHECK | MF_GROUP1, - fontSet, "-*-times-medium-r-normal-*-*-180-*-*-p-*-*-*"), - MI_FLAGCB("Times Bold 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-times-bold-r-normal-*-*-120-*-*-p-*-*-*"), - MI_FLAGCB("Times Italic 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-times-bold-i-normal-*-*-120-*-*-p-*-*-*"), - MI_FLAGCB("Lucida 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-lucida-medium-r-normal-*-*-120-*-*-p-*-*-*"), - MI_FLAGCB("Helvetica 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-helvetica-medium-r-normal-*-*-120-*-*-p-*-*-*"), - MI_FLAGCB("Helvetica Bold 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-helvetica-bold-r-normal-*-*-120-*-*-p-*-*-*"), - #ifndef __NetBSD__ - MI_FLAGCB("Fixed 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-fixed-medium-r-normal-*-*-120-*-*-m-*-*-*"), - #else - MI_FLAGCB("Sony 16", MF_CHECK | MF_GROUP1, - fontSet, "-*-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1"), - MI_FLAGCB("Sony 24", MF_CHECK | MF_GROUP1, - fontSet, "-*-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1"); - #endif - MI_FLAGCB("Courier 12", MF_CHECK | MF_GROUP1, - fontSet, "-*-courier-medium-r-normal-*-*-120-*-*-m-*-*-*"), - MI_SEPARATOR(), - #define FM_SELECT 11 - MI_FLAGCB("select", MF_CHECK | MF_GROUP1, fontSet, NULL), - }; - #endif - - #if 0 - static PaintMenuItem otherMenu[] = - { - MI_SIMPLECB("brushSelect", BrushSelect, NULL), - #define SP_SELECT 1 - MI_SIMPLECB("sprayEdit", sprayMenuCallback, NULL), - }; - #endif - static PaintMenuItem canvasMenu[] = { MI_SIMPLECB("new", GraphicCreate, 0), --- 1255,1260 ---- diff -rc xpaint-2.8.19/pattern.c xpaint-2.8.19.2/pattern.c *** xpaint-2.8.19/pattern.c 2010-04-05 16:46:12.000000000 +0200 --- xpaint-2.8.19.2/pattern.c 2010-04-07 23:06:56.000000000 +0200 *************** *** 483,489 **** void saveConfigCallback(Widget w, LocalInfo * info, XtPointer junk) { ! GetFileName(Global.patternshell, 2, ".XPaintrc", (XtCallbackProc) saveConfigOkCallback, (XtPointer) info); } --- 483,489 ---- void saveConfigCallback(Widget w, LocalInfo * info, XtPointer junk) { ! GetFileName(Global.patternshell, BROWSER_SIMPLESAVE, ".XPaintrc", (XtCallbackProc) saveConfigOkCallback, (XtPointer) info); } *************** *** 510,516 **** void loadConfigCallback(Widget w, LocalInfo * info, XtPointer junk) { ! GetFileName(Global.patternshell, 3, ".XPaintrc", (XtCallbackProc) loadConfigOkCallback, (XtPointer) info); } --- 510,516 ---- void loadConfigCallback(Widget w, LocalInfo * info, XtPointer junk) { ! GetFileName(Global.patternshell, BROWSER_SIMPLEREAD, ".XPaintrc", (XtCallbackProc) loadConfigOkCallback, (XtPointer) info); } *************** *** 1400,1406 **** static void readCallback(Widget w, XtPointer paint, XtPointer junk) { ! GetFileName((Widget) paint, 0, NULL, readFileCallback, NULL); } static void --- 1400,1406 ---- static void readCallback(Widget w, XtPointer paint, XtPointer junk) { ! GetFileName((Widget) paint, BROWSER_READ, NULL, readFileCallback, NULL); } static void diff -rc xpaint-2.8.19/rw/readWritePS.c xpaint-2.8.19.2/rw/readWritePS.c *** xpaint-2.8.19/rw/readWritePS.c 2010-04-05 15:36:57.000000000 +0200 --- xpaint-2.8.19.2/rw/readWritePS.c 2010-04-09 07:48:44.000000000 +0200 *************** *** 61,66 **** --- 61,67 ---- extern int file_numpages; extern int file_force; extern int file_bbox; + extern int file_specified_zoom; extern int paper_sizes[15][2]; extern void * xmalloc(size_t n); *************** *** 674,680 **** static char * last_rad = NULL; static int last_type = 0; char buffer[2048]; ! char *sc, *dc; FILE *fp; int wth, hth, type_doc; int i, j; --- 675,681 ---- static char * last_rad = NULL; static int last_type = 0; char buffer[2048]; ! char *sc, *dc, *ptr; FILE *fp; int wth, hth, type_doc; int i, j; *************** *** 750,758 **** hth = 2172; if (!strncmp(buffer, "\\*text:", 7)) { sscanf(buffer+7, "%d %d*", &wth, &hth); } - if (wth<=0) wth = 1536; - if (hth<=0) hth = 2172; /* initialize pixmap and data structures */ sprintf(buffer, "%d %d", wth, hth); --- 751,762 ---- hth = 2172; if (!strncmp(buffer, "\\*text:", 7)) { sscanf(buffer+7, "%d %d*", &wth, &hth); + if (wth<=0) wth = 1536; + if (hth<=0) hth = 2172; + ptr = strstr(buffer, "\\*zoom:"); + if (ptr) + file_specified_zoom=atoi(ptr+7); } /* initialize pixmap and data structures */ sprintf(buffer, "%d %d", wth, hth); diff -rc xpaint-2.8.19/rw/rwTable.c xpaint-2.8.19.2/rw/rwTable.c *** xpaint-2.8.19/rw/rwTable.c 2010-04-05 17:53:48.000000000 +0200 --- xpaint-2.8.19.2/rw/rwTable.c 2010-04-09 07:27:03.000000000 +0200 *************** *** 148,153 **** --- 148,154 ---- int file_force = 1; int file_bbox = 1; int file_transparent = 0; + int file_specified_zoom = 0; RWwriteFunc RWtableGetWriterFromSuffix(char *suffix) *************** *** 175,180 **** --- 176,182 ---- file_isSpecialImage = 0; file_transparent = 0; file_numpages = 1; + file_specified_zoom = 0; for (i = 0; i < FMT_NUMBER; i++) { if (RWtable[i].read == NULL || RWtable[i].test == NULL) diff -rc xpaint-2.8.19/xpaint.h xpaint-2.8.19.2/xpaint.h *** xpaint-2.8.19/xpaint.h 2010-04-05 16:30:47.000000000 +0200 --- xpaint-2.8.19.2/xpaint.h 2010-04-07 23:12:33.000000000 +0200 *************** *** 45,50 **** --- 45,53 ---- #define NULL 0 #endif /* AIXV3 */ + enum {BROWSER_READ=0, BROWSER_MULTIREAD, BROWSER_LOADED, + BROWSER_SAVE, BROWSER_SIMPLEREAD, BROWSER_SIMPLESAVE}; + extern char *routine; typedef struct {