Add -onlyOwnGames option
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 18 Feb 2013 10:38:29 +0000 (11:38 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Mon, 18 Feb 2013 10:39:54 +0000 (11:39 +0100)
This suppresses auto-saving of ICS observed games.

args.h
backend.c
common.h
dialogs.c
xboard.texi

diff --git a/args.h b/args.h
index 4634031..43d5203 100644 (file)
--- a/args.h
+++ b/args.h
@@ -272,6 +272,7 @@ ArgDescriptor argDescriptors[] = {
   { "autosave", ArgTrue, (void *) &appData.autoSaveGames, FALSE, INVALID },
   { "xautosave", ArgFalse, (void *) &appData.autoSaveGames, FALSE, INVALID },
   { "-autosave", ArgFalse, (void *) &appData.autoSaveGames, FALSE, INVALID },
+  { "onlyOwnGames", ArgBoolean, (void *) &appData.onlyOwn, TRUE, (ArgIniType) FALSE },
   { "loadPositionFile", ArgFilename, (void *) &appData.loadPositionFile, FALSE, (ArgIniType) "" },
   { "lpf", ArgFilename, (void *) &appData.loadPositionFile, FALSE, INVALID },
   { "loadPositionIndex", ArgInt, (void *) &appData.loadPositionIndex, FALSE, (ArgIniType) 1 },
index 61a9f1e..42d9d19 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -10749,7 +10749,7 @@ GameEnds (ChessMove result, char *resultDetails, int whosays)
                        else
                        SaveGameToFile(appData.saveGameFile, TRUE);
                    } else if (appData.autoSaveGames) {
-                       AutoSaveGame();
+                       if(gameMode != IcsObserving || !appData.onlyOwn) AutoSaveGame();
                    }
                    if (*appData.savePositionFile != NULLCHAR) {
                        SavePositionToFile(appData.savePositionFile);
index 755df78..4df1a46 100644 (file)
--- a/common.h
+++ b/common.h
@@ -449,6 +449,7 @@ typedef struct {
     int loadGameIndex;      /* game # within file */
     char *saveGameFile;
     Boolean autoSaveGames;
+    Boolean onlyOwn;        /* [HGM] suppress auto-saving of observed games */
     char *loadPositionFile;
     int loadPositionIndex;  /* position # within file */
     char *savePositionFile;
index 4aa6478..ffaad6d 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -655,6 +655,7 @@ LoadOptionsProc ()
 
 static Option saveOptions[] = {
 { 0, 0, 0, NULL, (void*) &appData.autoSaveGames, "", NULL, CheckBox, N_("Auto-Save Games") },
+{ 0, 0, 0, NULL, (void*) &appData.onlyOwn, "", NULL, CheckBox, N_("Own Games Only") },
 { 0, 0, 0, NULL, (void*) &appData.saveGameFile, ".pgn", NULL, FileName,  N_("Save Games on File:") },
 { 0, 0, 0, NULL, (void*) &appData.savePositionFile, ".fen", NULL, FileName,  N_("Save Final Positions on File:") },
 { 0, 0, 0, NULL, (void*) &appData.pgnEventHeader, "", NULL, TextBox,  N_("PGN Event Header:") },
index 069ecc6..b9a793e 100644 (file)
@@ -1609,11 +1609,13 @@ have expired (or in Xiangqi).
 @item Save Game Options
 @cindex Save Game Options, Menu Item
 Summons a dialog where you can specify the files on which XBoard should
-automtically save any played or entered games, 
+automatically save any played or entered games, 
 (the @code{saveGameFile} option), 
 or the final position of such games (the @code{savePositionfile} option).
 You can also select 'auto-save' without a file name,
 in which case XBoard will prompt the user for a file name after each game.
+In ICS mode you can limit the auto-saving to your own games
+(i.e. suppress saving of observed games).
 You can also set the default value for the PGN Event tag that will
 be used for each new game you start.
 Various options for the format of the game can be specified as well,
@@ -2761,6 +2763,9 @@ standard output.
 @cindex autoSaveGames, option
 Sets the Auto Save menu option.  @xref{Options Menu}.  Default: false.
 Ignored if @code{saveGameFile} is set.
+@item -onlyOwnGames true/false
+@cindex onlyOwnGames, option
+Suppresses auto-saving of ICS observed games. Default: false.
 @item -lpf or -loadPositionFile file
 @itemx -lpi or -loadPositionIndex index
 @cindex lpf, option