Boolean saveSettingsOnExit;
char *settingsFileName;
+static int
+LoadGamePopUp (FILE *f, int gameNumber, char *title)
+{
+ cmailMsgLoaded = FALSE;
+ if (gameNumber == 0) {
+ int error = GameListBuild(f);
+ if (error) {
+ DisplayError(_("Cannot build game list"), error);
+ } else if (!ListEmpty(&gameList) &&
+ ((ListGame *) gameList.tailPred)->number > 1) {
+ GameListPopUp(f, title);
+ return TRUE;
+ }
+ GameListDestroy();
+ gameNumber = 1;
+ }
+ return LoadGame(f, gameNumber, title, FALSE);
+}
+
void
LoadGameProc ()
{
void
FlipViewProc ()
{
+ if(twoBoards) { partnerUp = 1; DrawPosition(True, NULL); partnerUp = 0; }
flipView = !flipView;
DrawPosition(True, NULL);
}
void
SaveOnExitProc ()
{
- Arg args[16];
+ saveSettingsOnExit = !saveSettingsOnExit;
- saveSettingsOnExit = !saveSettingsOnExit;
-
- MarkMenuItem("Options.SaveSettingsonExit", saveSettingsOnExit);
+ MarkMenuItem("Options.SaveSettingsonExit", saveSettingsOnExit);
}
void
SaveSettingsProc ()
{
- SaveSettings(settingsFileName);
+ SaveSettings(settingsFileName);
}
void
}
void
-ManProc ()
-{ // called from menu
- ManInner(NULL, NULL, NULL, NULL);
-}
-
-void
BugReportProc ()
{
char buf[MSG_SIZ];
DebugProc ()
{
appData.debugMode = !appData.debugMode;
+ if(!strcmp(appData.nameOfDebugFile, "stderr")) return; // stderr is already open, and should never be closed
+ if(!appData.debugMode) fclose(debugFP);
+ else {
+ debugFP = fopen(appData.nameOfDebugFile, "w");
+ if(debugFP == NULL) debugFP = stderr;
+ else setbuf(debugFP, NULL);
+ }
}
void
void
PonderNextMoveProc ()
{
- Arg args[16];
-
- PonderNextMoveEvent(!appData.ponderNextMove);
- MARK_MENU_ITEM("Options.PonderNextMove", appData.ponderNextMove);
+ PonderNextMoveEvent(!appData.ponderNextMove);
+ MARK_MENU_ITEM("Options.PonderNextMove", appData.ponderNextMove);
}
void
void
HideThinkingProc ()
{
- Arg args[16];
+ appData.hideThinkingFromHuman = !appData.hideThinkingFromHuman; // [HGM] thinking: taken out of ShowThinkingEvent
+ ShowThinkingEvent();
- appData.hideThinkingFromHuman = !appData.hideThinkingFromHuman; // [HGM] thinking: taken out of ShowThinkingEvent
- ShowThinkingEvent();
-
- MARK_MENU_ITEM("Options.HideThinking", appData.hideThinkingFromHuman);
+ MARK_MENU_ITEM("Options.HideThinking", appData.hideThinkingFromHuman);
}
/*
{N_("Tags"), "Tags", EditTagsProc},
{N_("Comments"), "Comments", EditCommentProc},
{N_("ICS Input Box"), "ICSInputBox", IcsInputBoxProc},
+ {N_("Open Chat Window"), "OpenChatWindow", ChatProc},
{"----", NULL, NothingProc},
{N_("Board..."), "Board", BoardOptionsProc},
{N_("Game List Tags..."), "GameListTags", GameListOptionsProc},
};
MenuItem engineMenu[] = {
- {N_("Load New Engine ..."), "LoadEngine", LoadEngineProc},
+ {N_("Load New 1st Engine ..."), "LoadNew1stEngine", LoadEngine1Proc},
+ {N_("Load New 2nd Engine ..."), "LoadNew2ndEngine", LoadEngine2Proc},
{"----", NULL, NothingProc},
{N_("Engine #1 Settings ..."), "Engine#1Settings", FirstSettingsProc},
{N_("Engine #2 Settings ..."), "Engine#2Settings", SecondSettingsProc},
{ "", "TestLegality", TestLegalityProc },
#endif
{ "", "AboutGame", AboutGameEvent },
- { "", "Debug", DebugProc },
+ { "", "DebugProc", DebugProc },
{ "", "Nothing", NothingProc },
{NULL, NULL, NULL}
};
MenuItem *
MenuNameToItem (char *menuName)
{
- int i;
+ int i=0;
char buf[MSG_SIZ], *p;
MenuItem *menuTab;
static MenuItem a = { NULL, NULL, NothingProc };
extern Option mainOptions[];
safeStrCpy(buf, menuName, MSG_SIZ);
p = strchr(buf, '.');
- if(!p) menuTab = noMenu; else {
+ if(!p) menuTab = noMenu, p = menuName; else {
*p++ = NULLCHAR;
for(i=0; menuBar[i].name; i++)
if(!strcmp(buf, menuBar[i].name)) break;
#endif
{ "Engine.Engine#1Settings", False },
{ "Engine.Engine#2Settings", False },
- { "Engine.LoadEngine", False },
+ { "Engine.Load1stEngine", False },
+ { "Engine.Load2ndEngine", False },
{ "Edit.Annotate", False },
{ "Options.Match", False },
{ NULL, False }
{ "Mode.ICSClient", False },
{ "View.ICStextmenu", False },
{ "View.ICSInputBox", False },
+ { "View.OpenChatWindow", False },
{ "Action.", False },
{ "Edit.Revert", False },
{ "Edit.Annotate", False },
{ "Mode.ICSClient", False },
{ "View.ICStextmenu", False },
{ "View.ICSInputBox", False },
+ { "View.OpenChatWindow", False },
{ "Action.Accept", False },
{ "Action.Decline", False },
{ "Action.Rematch", False },
#if ZIPPY
if (appData.zippyPlay && !appData.noChessProgram) { /* [DM] icsEngineAnalyze */
- EnableMenuItem("Analysis Mode", True);
- EnableMenuItem("Engine #1 Settings", True);
+ EnableNamedMenuItem("Mode.AnalysisMode", True);
+ EnableNamedMenuItem("Engine.Engine#1Settings", True);
}
#endif
}
case MachinePlaysBlack:
case MachinePlaysWhite:
case TwoMachinesPlay:
- EnableMenuItem(ModeToWidgetName(gameMode), True);
+ EnableNamedMenuItem(ModeToWidgetName(gameMode), True);
break;
default:
break;