Add Save button to Edit Tags dialog
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 26 Aug 2013 10:03:30 +0000 (12:03 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Mon, 26 Aug 2013 10:03:30 +0000 (12:03 +0200)
When editing an opening book it is very anoying if the Edit Book dialog closes
every time you add a move or change a weight, and closing the dialog was
(in WB) the only way to save the changes. A separate button now is added for
this. Pressing it will also cause a refresh of the list of book moves, so
the user can see if his change were accepted, and the consequences for the
playing percentages.

dialogs.c
winboard/resource.h
winboard/wedittags.c
winboard/winboard.rc

index acc75bf..96f85e2 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -1028,7 +1028,7 @@ static char *tagsText;
 static int
 NewTagsCallback (int n)
 {
-    ReplaceTags(tagsText, &gameInfo);
+    if(!bookUp) ReplaceTags(tagsText, &gameInfo);
     return 1;
 }
 
@@ -1043,7 +1043,7 @@ static void
 changeTags (int n)
 {
     GenericReadout(tagsOptions, 1);
-    if(bookUp) SaveToBook(tagsText); else
+    if(bookUp) SaveToBook(tagsText), DisplayBook(currentMove); else
     ReplaceTags(tagsText, &gameInfo);
 }
 
index d9f2ce4..7bc3e69 100644 (file)
 #define IDC_NFG_Edit                    1023\r
 #define IDC_EpDrawMoveCount             1023\r
 #define IDC_PolyglotDir                 1023\r
+#define OPT_TagsSave                    1023\r
 #define OPT_ConsoleText                 1024\r
 #define OPT_LightSquareColor            1024\r
 #define OPT_CommandInput                1025\r
index 2968710..bd34038 100644 (file)
@@ -118,6 +118,7 @@ EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
   case WM_COMMAND:\r
     switch (LOWORD(wParam)) {\r
     case IDOK:\r
+    case OPT_TagsSave:\r
       if (canEditTags) {\r
        char *p, *q;\r
        /* Read changed options from the dialog box */\r
@@ -133,13 +134,13 @@ EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
        }\r
        *p = NULLCHAR; err = 0;\r
         if(resPtr) *resPtr = strdup(str); else\r
-       if(bookUp) SaveToBook(str); else\r
+       if(bookUp) SaveToBook(str), DisplayBook(currentMove); else\r
        err = ReplaceTags(str, &gameInfo);\r
        if (err) DisplayError(_("Error replacing tags."), err);\r
 \r
        free(str);\r
       }\r
-      TagsPopDown();\r
+      if(LOWORD(wParam) == IDOK) TagsPopDown();\r
       return TRUE;\r
       \r
     case IDCANCEL:\r
index e75cc19..7c2d4be 100644 (file)
@@ -275,16 +275,17 @@ BEGIN
     EDITTEXT        IDC_GameListFilter,201,136,78,14,ES_AUTOHSCROLL\r
 END\r
 \r
-DLG_EditTags DIALOG DISCARDABLE  6, 18, 167, 140\r
+DLG_EditTags DIALOG DISCARDABLE  6, 18, 223, 140\r
 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME\r
 CAPTION "Edit Tags"\r
 FONT 8, "MS Sans Serif"\r
 BEGIN\r
-    PUSHBUTTON      "OK",IDOK,58,122,50,14\r
-    PUSHBUTTON      "Cancel",OPT_TagsCancel,114,122,50,14\r
+    PUSHBUTTON      "OK",IDOK,114,122,50,14\r
+    PUSHBUTTON      "Cancel",OPT_TagsCancel,170,122,50,14\r
+    PUSHBUTTON      "Save",OPT_TagsSave,58,122,50,14\r
     CONTROL         "",OPT_TagsText,"RICHEDIT",ES_MULTILINE | ES_AUTOVSCROLL | \r
                     ES_AUTOHSCROLL | ES_WANTRETURN | WS_BORDER | WS_VSCROLL | \r
-                    WS_HSCROLL | WS_TABSTOP,2,2,162,115\r
+                    WS_HSCROLL | WS_TABSTOP,2,2,218,115\r
     PUSHBUTTON      "&Edit",OPT_EditTags,2,122,50,14\r
 END\r
 \r