X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=menus.c;h=d5744f7090277f73602c02855349e1be989bcdb8;hb=df04542efd5b686f8c9f382315eb3fb619866da7;hp=f802215bef52f76ec7b4244184d23158d4b7ca4c;hpb=86932d68dc115d304fddb290947fd04323d62cbd;p=xboard.git diff --git a/menus.c b/menus.c index f802215..d5744f7 100644 --- a/menus.c +++ b/menus.c @@ -110,6 +110,25 @@ char *gameCopyFilename, *gamePasteFilename; 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 () { @@ -336,6 +355,7 @@ AnnotateProc () void FlipViewProc () { + if(twoBoards) { partnerUp = 1; DrawPosition(True, NULL); partnerUp = 0; } flipView = !flipView; DrawPosition(True, NULL); } @@ -343,17 +363,15 @@ FlipViewProc () void SaveOnExitProc () { - Arg args[16]; + saveSettingsOnExit = !saveSettingsOnExit; - saveSettingsOnExit = !saveSettingsOnExit; - - MarkMenuItem("Options.SaveSettingsonExit", saveSettingsOnExit); + MarkMenuItem("Options.SaveSettingsonExit", saveSettingsOnExit); } void SaveSettingsProc () { - SaveSettings(settingsFileName); + SaveSettings(settingsFileName); } void @@ -431,6 +449,13 @@ void 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 @@ -448,10 +473,8 @@ NothingProc () 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 @@ -609,12 +632,10 @@ ShowThinkingProc () 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); } /* @@ -726,7 +747,8 @@ MenuItem actionMenu[] = { }; MenuItem engineMenu[] = { - {N_("Load New Engine ..."), "LoadEngine", LoadEngineProc}, + {N_("Load New 1st Engine ..."), "LoadEngine", LoadEngine1Proc}, + {N_("Load New 2nd Engine ..."), "LoadEngine", LoadEngine2Proc}, {"----", NULL, NothingProc}, {N_("Engine #1 Settings ..."), "Engine#1Settings", FirstSettingsProc}, {N_("Engine #2 Settings ..."), "Engine#2Settings", SecondSettingsProc}, @@ -872,17 +894,15 @@ AppendEnginesToMenu (char *list) { int i=0; char *p; -#if 0 if(appData.icsActive || appData.recentEngines <= 0) return; recentEngines = strdup(list); while (*list) { p = strchr(list, '\n'); if(p == NULL) break; - if(i == 0) AppendMenuItem("----", "----", NULL); // at least one valid item to add + if(i == 0) AppendMenuItem("----", 0); // at least one valid item to add *p = 0; - AppendMenuItem(list, "recent", (MenuProc *) i); + AppendMenuItem(list, i); i++; *p = '\n'; list = p + 1; } -#endif } Enables icsEnables[] = {