X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=0c430ddb66a16610141ba82b408ce20acce16aa0;hb=55cafba6c2f03dec96d41f7a85c03d4cd641190a;hp=5a904e56b13cb824fda693612062e85c3ee89bcb;hpb=f1549d478be5058606811dac414d79492d1ebe5c;p=xboard.git diff --git a/dialogs.c b/dialogs.c index 5a904e5..0c430dd 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1182,10 +1182,17 @@ NewTagsCallback (int n) return 1; } +static void +NewMove () +{ + addToBookFlag = !addToBookFlag; +} + static Option tagsOptions[] = { { 0, 0, 0, NULL, NULL, NULL, NULL, Label, NULL }, { 200, T_VSCRL | T_FILL | T_WRAP | T_TOP, 200, NULL, (void*) &tagsText, "", (char **) &TagsClick, TextBox, "" }, -{ 0, 0, 100, NULL, (void*) &changeTags, NULL, NULL, Button, N_("save changes") }, +{ 0, 0, 100, NULL, (void*) &NewMove, NULL, NULL, Button, N_("add next move") }, +{ 0,SAME_ROW,100,NULL, (void*) &changeTags, NULL, NULL, Button, N_("save changes") }, { 0,SAME_ROW, 0, NULL, (void*) &NewTagsCallback, "", NULL, EndMark , "" } }; @@ -1210,6 +1217,7 @@ NewTagsPopup (char *text, char *msg) { char *title = bookUp ? _("Edit book") : _("Tags"); + tagsOptions[2].type = bookUp ? Button : Skip; if(DialogExists(TagsDlg)) { // if already exists, alter title and content SetWidgetText(&tagsOptions[1], text, TagsDlg); SetDialogTitle(TagsDlg, title); @@ -1246,6 +1254,12 @@ EditTagsProc () if (bookUp || !PopDown(TagsDlg)) EditTagsEvent(); } +void +AddBookMove (char *text) +{ + AppendText(&tagsOptions[1], text); +} + //---------------------------------------------- ICS Input Box ---------------------------------- char *icsText; @@ -2491,6 +2505,7 @@ Exp (int n, int x, int y) { static int but1, but3, oldW, oldH; int menuNr = -3, sizing, f, r; + TimeMark now; if(n == 0) { // motion if(SeekGraphClick(Press, x, y, 1)) return NULL; @@ -2504,6 +2519,7 @@ Exp (int n, int x, int y) return NULL; } if(n != 10 && PopDown(PromoDlg)) fromX = fromY = -1; // user starts fiddling with board when promotion dialog is up + else GetTimeMark(&now); shiftKey = ShiftKeys(); controlKey = (shiftKey & 0xC) != 0; shiftKey = (shiftKey & 3) != 0; @@ -2518,7 +2534,7 @@ Exp (int n, int x, int y) sizing = (oldW != x || oldH != y); oldW = x; oldH = y; InitDrawingHandle(mainOptions + W_BOARD); - if(sizing) return NULL; // don't redraw while sizing + if(sizing && SubtractTimeMarks(&now, &programStartTime) > 10000) return NULL; // don't redraw while sizing (except at startup) DrawPosition(True, NULL); default: return NULL;