X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=menus.c;h=304d3c419999af0ff3fbd2ddf7e374212030c736;hb=76a31cef74e7f1f84d9d3c0b76971ca1633321cf;hp=f802215bef52f76ec7b4244184d23158d4b7ca4c;hpb=86932d68dc115d304fddb290947fd04323d62cbd;p=xboard.git diff --git a/menus.c b/menus.c index f802215..304d3c4 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 @@ -366,12 +384,6 @@ InfoProc () } void -ManProc () -{ // called from menu - ManInner(NULL, NULL, NULL, NULL); -} - -void BugReportProc () { char buf[MSG_SIZ]; @@ -431,6 +443,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 +467,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 +626,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 +741,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}, @@ -847,14 +863,14 @@ Menu menuBar[] = { 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; @@ -872,17 +888,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[] = {