Add quit-after-game checkbox in ICS options dialog XB
authorH.G. Muller <h.g.muller@hccnet.nl>
Sun, 16 Jun 2013 12:49:55 +0000 (14:49 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Sun, 16 Jun 2013 16:00:21 +0000 (18:00 +0200)
This checkbox can be used to log out from a busy ICS where your engine
running in zippy mode is in much demand, without having to abort a game.
The state of the box is checked in GameEnd, and when checked will cause
an ExitEvent (only in ICS mode).

backend.c
common.h
dialogs.c

index 2156091..6d243d7 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -10861,6 +10861,7 @@ GameEnds (ChessMove result, char *resultDetails, int whosays)
                    PlayIcsUnfinishedSound();
                }
            }
+           if(appData.quitNext) { ExitEvent(0); return; }
        } else if (gameMode == EditGame ||
                   gameMode == PlayFromGameFile ||
                   gameMode == AnalyzeMode ||
index d56dbf9..12f9d4d 100644 (file)
--- a/common.h
+++ b/common.h
@@ -653,6 +653,7 @@ typedef struct {
     int zippyShortGame; /* [HGM] aborter   */
 #endif
     Boolean lowTimeWarning; /* [HGM] low time */
+    Boolean quitNext;
     char *lowTimeWarningColor;
 
     char *serverFileName;
index d6cf378..acc75bf 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -579,6 +579,7 @@ Option icsOptions[] = {
 { 0, 0, 0, NULL, (void*) &appData.seekGraph, "",   NULL, CheckBox, N_("Seek Graph") },
 { 0, 0, 0, NULL, (void*) &appData.autoRefresh, "", NULL, CheckBox, N_("Auto-Refresh Seek Graph") },
 { 0, 0, 0, NULL, (void*) &appData.autoBox, "", NULL, CheckBox, N_("Auto-InputBox PopUp") },
+{ 0, 0, 0, NULL, (void*) &appData.quitNext, "", NULL, CheckBox, N_("Quit after game") },
 { 0, 0, 0, NULL, (void*) &appData.premove, "",     NULL, CheckBox, N_("Premove") },
 { 0, 0, 0, NULL, (void*) &appData.premoveWhite, "", NULL, CheckBox, N_("Premove for White") },
 { 0, 0, 0, NULL, (void*) &appData.premoveWhiteText, "", NULL, TextBox, N_("First White Move:") },