X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=menus.c;h=d38eeaf791d09d6c060376e011d258a7c6d6c6d1;hb=9e76d58957a505620e6c5395989ad4f9bbbffe93;hp=1d0e23d0d6aa30feb718ab52afc1ea4823e9faa6;hpb=bdb4175a5cbca3f506502f644ab1f027f8e636f2;p=xboard.git diff --git a/menus.c b/menus.c index 1d0e23d..d38eeaf 100644 --- a/menus.c +++ b/menus.c @@ -87,7 +87,6 @@ extern char *getenv(); #include "frontend.h" #include "backend.h" -#include "xhistory.h" #include "menus.h" #include "gettext.h" @@ -568,6 +567,12 @@ HideThinkingProc () MARK_MENU_ITEM("Options.HideThinking", appData.hideThinkingFromHuman); } +void +CreateBookDelayed () +{ + ScheduleDelayedEvent(CreateBookEvent, 50); +} + /* * Menu definition tables */ @@ -588,6 +593,7 @@ MenuItem fileMenu[] = { // {N_("Reload Same Position"), "Reload Same Position", ReloadPositionProc}, {N_("Save Game Ctrl+S"), "SaveGame", SaveGameProc}, {N_("Save Position Ctrl+Shift+S"), "SavePosition", SavePositionProc}, + {N_("Save Games as Book"), "CreateBook", CreateBookDelayed}, {"----", NULL, NothingProc}, {N_("Mail Move"), "MailMove", MailMoveEvent}, {N_("Reload CMail Message"), "ReloadCMailMessage", ReloadCmailMsgProc}, @@ -677,7 +683,7 @@ MenuItem actionMenu[] = { {NULL, NULL, NULL} }; -MenuItem engineMenu[] = { +MenuItem engineMenu[100] = { {N_("Load New 1st Engine ..."), "LoadNew1stEngine", LoadEngine1Proc}, {N_("Load New 2nd Engine ..."), "LoadNew2ndEngine", LoadEngine2Proc}, {"----", NULL, NothingProc}, @@ -820,18 +826,22 @@ MenuNameToItem (char *menuName) return NULL; // item not found } +int firstEngineItem; + void AppendEnginesToMenu (char *list) { int i=0; char *p; if(appData.icsActive || appData.recentEngines <= 0) return; + for(firstEngineItem=0; engineMenu[firstEngineItem].string; firstEngineItem++); recentEngines = strdup(list); while (*list) { p = strchr(list, '\n'); if(p == NULL) break; - if(i == 0) AppendMenuItem("----", 0); // at least one valid item to add + if(i == 0) engineMenu[firstEngineItem++].string = "----"; // at least one valid item to add *p = 0; - AppendMenuItem(list, i); + if(firstEngineItem + i < 99) + engineMenu[firstEngineItem+i].string = strdup(list); // just set name; MenuProc stays NULL i++; *p = '\n'; list = p + 1; } } @@ -845,7 +855,7 @@ Enables icsEnables[] = { { "Mode.AnalyzeFile", False }, { "Mode.TwoMachines", False }, { "Mode.MachineMatch", False }, -#ifndef ZIPPY +#if !ZIPPY { "Engine.Hint", False }, { "Engine.Book", False }, { "Engine.MoveNow", False },