X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxboard.c;h=8dc5253e5afae3ff4bbb4f60406a632eb8a05ea1;hb=981710835fb91625593928380d26952642118781;hp=1599cf4fff7fb77381018bb7fe1c4a3ff83bf621;hpb=acc20410790b81b01914ba3e66d10114ac9ab012;p=xboard.git diff --git a/gtk/xboard.c b/gtk/xboard.c index 1599cf4..8dc5253 100644 --- a/gtk/xboard.c +++ b/gtk/xboard.c @@ -5,7 +5,8 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free + * Software Foundation, Inc. * * The following terms apply to Digital Equipment Corporation's copyright * interest in XBoard: @@ -174,15 +175,12 @@ extern char *getenv(); # define IMG ".png" // redefine some defaults # undef ICS_LOGON -# undef DATADIR # undef LOCALEDIR # undef SETTINGS_FILE # define ICS_LOGON "Library/Preferences/XboardICS.conf" -# define DATADIR dataDir # define LOCALEDIR localeDir # define SETTINGS_FILE masterSettings # define SYNC_MENUBAR gtkosx_application_sync_menubar(theApp) - char dataDir[MSG_SIZ]; // for expanding ~~ char localeDir[MSG_SIZ]; char masterSettings[MSG_SIZ]; #else @@ -258,6 +256,7 @@ GtkAccelGroup *GtkAccelerators; typedef unsigned int BoardSize; BoardSize boardSize; Boolean chessProgram; +static int initialSquareSize; int minX, minY; // [HGM] placement: volatile limits on upper-left corner int smallLayout = 0, tinyLayout = 0, @@ -518,9 +517,9 @@ SaveFontArg (FILE *f, ArgDescriptor *ad) return; } for(i=0; i 1 && !strcmp(argv[1], "--show-config")) { // [HGM] install: called to print config info typedef struct {char *name, *value; } Config; static Config configList[] = { - { "Datadir", DATADIR }, + { "Datadir", dataDir }, + { "Mandir", manDir }, { "Sysconfdir", SYSCONFDIR }, { NULL } }; @@ -959,7 +960,7 @@ main (int argc, char **argv) { // [HGM] initstring: kludge to fix bad bug. expand '\n' characters in init string and computer string. static char buf[MSG_SIZ]; - snprintf(buf, MSG_SIZ, appData.sysOpen, DATADIR); + snprintf(buf, MSG_SIZ, appData.sysOpen, dataDir); ASSIGN(appData.sysOpen, buf); // expand %s in -openCommand to DATADIR (usefull for OS X configuring) EscapeExpand(buf, appData.firstInitString); appData.firstInitString = strdup(buf); @@ -1073,6 +1074,7 @@ main (int argc, char **argv) tinyLayout = szd->tinyLayout; // [HGM] font: use defaults from settings file if available and not overruled } + initialSquareSize = squareSize; // [HGM] remember for saving font info if(BOARD_WIDTH != 8) { squareSize = (squareSize*8 + BOARD_WIDTH/2)/BOARD_WIDTH; // keep width the same lineGap = (squareSize < 37 ? 1 : squareSize < 59 ? 2 : squareSize < 116 ? 3 : 4); @@ -1138,7 +1140,7 @@ main (int argc, char **argv) boardWidget = optList[W_BOARD].handle; menuBarWidget = optList[W_MENU].handle; dropMenu = optList[W_DROP].handle; - titleWidget = optList[optList[W_TITLE].type != -1 ? W_TITLE : W_SMALL].handle; + titleWidget = optList[optList[W_TITLE].type != Skip ? W_TITLE : W_SMALL].handle; #ifdef TODO_GTK formWidget = XtParent(boardWidget); XtSetArg(args[0], XtNbackground, &timerBackgroundPixel); @@ -1697,6 +1699,12 @@ ReSize (WindowPlacement *wp) if(optList[W_BOARD].max > w) optList[W_BOARD].max = w; if(optList[W_BOARD].value > h) optList[W_BOARD].value = h; first = appData.fixedSize; + if(twoBoards && shellUp[DummyDlg]) { + SlavePopUp(); dualOptions[3].max = 0; DoEvents(); // calls SlaveResize, kludge to force assigning new canvas + partnerUp = !partnerUp; flipView = !flipView; + DrawPosition(True, NULL); + partnerUp = !partnerUp; flipView = !flipView; + } } static guint delayedDragTag = 0; @@ -1886,7 +1894,7 @@ PasteGameProc () { gchar *text=NULL; GtkClipboard *cb; - guint len=0; + guint len=0; int flip = appData.flipView; FILE* f; // get game from clipboard @@ -1910,7 +1918,9 @@ PasteGameProc () fclose(f); // load from file + if(!appData.autoFlipView) appData.flipView = flipView; LoadGameFromFile(gamePasteFilename, 0, gamePasteFilename, TRUE); + appData.flipView = flip; return; } @@ -2319,15 +2329,15 @@ UpdateLogos (int displ) return; } -void FileNamePopUpWrapper(label, def, filter, proc, pathFlag, openMode, name, fp) - char *label; - char *def; - char *filter; - FileProc proc; - char *openMode; - Boolean pathFlag; - char **name; - FILE **fp; +void FileNamePopUpWrapper( + char *label, + char *def, + char *filter, + FileProc proc, + Boolean pathFlag, + char *openMode, + char **name, + FILE **fp) { GtkWidget *dialog; GtkFileFilter *gtkfilter;