X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=menus.c;h=e2bf5636bdecad5d2f0dcdd54f596b788262d109;hb=b8dda57c7dbcd5942d43523e7e1dbb3755348649;hp=f5e188579c4395f8e1e929ab0c5e20aea4be8caf;hpb=164666db4ca950b4f08dd424166ef6be3e3494c2;p=xboard.git diff --git a/menus.c b/menus.c index f5e1885..e2bf563 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]; @@ -455,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 @@ -616,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); } /* @@ -689,6 +697,7 @@ MenuItem viewMenu[] = { {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}, @@ -733,7 +742,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}, @@ -854,14 +864,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; @@ -929,6 +939,7 @@ Enables ncpEnables[] = { { "Mode.ICSClient", False }, { "View.ICStextmenu", False }, { "View.ICSInputBox", False }, + { "View.OpenChatWindow", False }, { "Action.", False }, { "Edit.Revert", False }, { "Edit.Annotate", False }, @@ -955,6 +966,7 @@ Enables gnuEnables[] = { { "Mode.ICSClient", False }, { "View.ICStextmenu", False }, { "View.ICSInputBox", False }, + { "View.OpenChatWindow", False }, { "Action.Accept", False }, { "Action.Decline", False }, { "Action.Rematch", False }, @@ -1071,8 +1083,8 @@ SetICSMode () #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 } @@ -1130,7 +1142,7 @@ SetMachineThinkingEnables () case MachinePlaysBlack: case MachinePlaysWhite: case TwoMachinesPlay: - EnableMenuItem(ModeToWidgetName(gameMode), True); + EnableNamedMenuItem(ModeToWidgetName(gameMode), True); break; default: break;