X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=badad64d6e77fb8794fcf00b101eed4835bb5a35;hb=bf20302f6fa856f6c2d3f3feb5dfbf3fd1ab9652;hp=0c430ddb66a16610141ba82b408ce20acce16aa0;hpb=40bd473b68412069ea05a386974828c8538ee27c;p=xboard.git diff --git a/dialogs.c b/dialogs.c index 0c430dd..badad64 100644 --- a/dialogs.c +++ b/dialogs.c @@ -697,11 +697,14 @@ IcsOptionsProc () static char *modeNames[] = { N_("Exact position match"), N_("Shown position is subset"), N_("Same material with exactly same Pawn chain"), N_("Same material"), N_("Material range (top board half optional)"), N_("Material difference (optional stuff balanced)"), NULL }; static char *modeValues[] = { "1", "2", "3", "4", "5", "6" }; -static char *searchMode; +static char *searchMode, *countRange; static int LoadOptionsOK () { + appData.minPieces = appData.maxPieces = 0; + sscanf(countRange, "%d-%d", &appData.minPieces, &appData.maxPieces); + if(appData.maxPieces < appData.minPieces) appData.maxPieces = appData.minPieces; appData.searchMode = atoi(searchMode); return 1; } @@ -718,6 +721,7 @@ static Option loadOptions[] = { { 0, 0,5000, NULL, (void*) &appData.eloThreshold2, "", NULL, Spin, N_("Elo of weakest player at least:") }, { 0, 0,5000, NULL, (void*) &appData.dateThreshold, "", NULL, Spin, N_("No games before year:") }, { 0, 1,50, NULL, (void*) &appData.stretch, "", NULL, Spin, N_("Minimum nr consecutive positions:") }, +{ 0, 0,197, NULL, (void*) &countRange, "", NULL, TextBox, "Final nr of pieces" }, { 0, 0,205, NULL, (void*) &searchMode, (char*) modeValues, modeNames, ComboBox, N_("Search mode:") }, { 0, 0, 0, NULL, (void*) &appData.ignoreColors, "", NULL, CheckBox, N_("Also match reversed colors") }, { 0, 0, 0, NULL, (void*) &appData.findMirror, "", NULL, CheckBox, N_("Also match left-right flipped position") }, @@ -727,6 +731,7 @@ static Option loadOptions[] = { void LoadOptionsPopUp (DialogClass parent) { + ASSIGN(countRange, ""); ASSIGN(searchMode, modeValues[appData.searchMode-1]); GenericPopUp(loadOptions, _("Load Game Options"), TransientDlg, parent, MODAL, 0); } @@ -1218,6 +1223,7 @@ NewTagsPopup (char *text, char *msg) char *title = bookUp ? _("Edit book") : _("Tags"); tagsOptions[2].type = bookUp ? Button : Skip; + tagsOptions[3].min = bookUp ? SAME_ROW : 0; if(DialogExists(TagsDlg)) { // if already exists, alter title and content SetWidgetText(&tagsOptions[1], text, TagsDlg); SetDialogTitle(TagsDlg, title); @@ -2106,7 +2112,7 @@ static void GLT_Button P((int n)); static int GLT_OK P((int n)); static Option listOptions[] = { -{300, LR|TB, 200, NULL, (void*) strings, "", NULL, ListBox, "" }, // For GTK we need to specify a height, as default would just show 3 lines +{300, LR|TB, 200, NULL, (void*) strings, NULL, NULL, ListBox, "" }, // For GTK we need to specify a height, as default would just show 3 lines { 0, 0, 0, NULL, (void*) &GLT_Button, NULL, NULL, Button, N_("factory") }, { 0, SAME_ROW, 0, NULL, (void*) &GLT_Button, NULL, NULL, Button, N_("up") }, { 0, SAME_ROW, 0, NULL, (void*) &GLT_Button, NULL, NULL, Button, N_("down") },