Move ICS-engine analyze and AnalyzeGame code to shared back-end
[xboard.git] / winboard / wedittags.c
index 781d2cf..bdfa78c 100644 (file)
@@ -1,7 +1,7 @@
 /*\r
  * wedittags.c -- EditTags window for WinBoard\r
  *\r
 /*\r
  * wedittags.c -- EditTags window for WinBoard\r
  *\r
- * Copyright 1995, 2009, 2010 Free Software Foundation, Inc.\r
+ * Copyright 1995, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.\r
  *\r
  * Enhancements Copyright 2005 Alessandro Scotti\r
  *\r
  *\r
  * Enhancements Copyright 2005 Alessandro Scotti\r
  *\r
 #include "backend.h"\r
 #include "winboard.h"\r
 \r
 #include "backend.h"\r
 #include "winboard.h"\r
 \r
+#define _(s) T_(s)\r
+\r
 /* Module globals */\r
 /* Module globals */\r
-static char *editTagsText;\r
+static char *editTagsText, **resPtr;\r
 BOOL editTagsUp = FALSE;\r
 BOOL canEditTags = FALSE;\r
 \r
 BOOL editTagsUp = FALSE;\r
 BOOL canEditTags = FALSE;\r
 \r
@@ -63,18 +65,23 @@ EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
   switch (message) {\r
   case WM_INITDIALOG: /* message: initialize dialog box */\r
     /* Initialize the dialog items */\r
   switch (message) {\r
   case WM_INITDIALOG: /* message: initialize dialog box */\r
     /* Initialize the dialog items */\r
-    hwndText = GetDlgItem(hDlg, OPT_TagsText);\r
+    Translate(hDlg, DLG_EditTags);\r
+   hwndText = GetDlgItem(hDlg, OPT_TagsText);\r
     SendMessage(hwndText, WM_SETFONT, \r
       (WPARAM)font[boardSize][EDITTAGS_FONT]->hf, MAKELPARAM(FALSE, 0));\r
     SetDlgItemText(hDlg, OPT_TagsText, editTagsText);\r
     EnableWindow(GetDlgItem(hDlg, OPT_TagsCancel), canEditTags);\r
     EnableWindow(GetDlgItem(hDlg, OPT_EditTags), !canEditTags);\r
     SendMessage(hwndText, EM_SETREADONLY, !canEditTags, 0);\r
     SendMessage(hwndText, WM_SETFONT, \r
       (WPARAM)font[boardSize][EDITTAGS_FONT]->hf, MAKELPARAM(FALSE, 0));\r
     SetDlgItemText(hDlg, OPT_TagsText, editTagsText);\r
     EnableWindow(GetDlgItem(hDlg, OPT_TagsCancel), canEditTags);\r
     EnableWindow(GetDlgItem(hDlg, OPT_EditTags), !canEditTags);\r
     SendMessage(hwndText, EM_SETREADONLY, !canEditTags, 0);\r
+    if (bookUp) {\r
+      SetWindowText(hDlg, _("Edit Book"));\r
+      SetFocus(hwndText);\r
+    } else\r
     if (canEditTags) {\r
     if (canEditTags) {\r
-      SetWindowText(hDlg, "Edit Tags");\r
+      SetWindowText(hDlg, _("Edit Tags"));\r
       SetFocus(hwndText);\r
     } else {\r
       SetFocus(hwndText);\r
     } else {\r
-      SetWindowText(hDlg, "Tags");\r
+      SetWindowText(hDlg, _("Tags"));\r
       SetFocus(GetDlgItem(hDlg, IDOK));\r
     }\r
     if (!editTagsDialog) {\r
       SetFocus(GetDlgItem(hDlg, IDOK));\r
     }\r
     if (!editTagsDialog) {\r
@@ -119,14 +126,16 @@ EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
        GetWindowText(hwndText, str, len + 1);\r
        p = q = str;\r
        while (*q) {\r
        GetWindowText(hwndText, str, len + 1);\r
        p = q = str;\r
        while (*q) {\r
-         if (*q == '\r'|| *q == '\n')\r
+         if (*q == '\r')\r
            q++;\r
          else\r
            *p++ = *q++;\r
        }\r
            q++;\r
          else\r
            *p++ = *q++;\r
        }\r
-       *p = NULLCHAR;\r
+       *p = NULLCHAR; err = 0;\r
+        if(resPtr) *resPtr = strdup(str); else\r
+       if(bookUp) SaveToBook(str); else\r
        err = ReplaceTags(str, &gameInfo);\r
        err = ReplaceTags(str, &gameInfo);\r
-       if (err) DisplayError("Error replacing tags.", err);\r
+       if (err) DisplayError(_("Error replacing tags."), err);\r
 \r
        free(str);\r
       }\r
 \r
        free(str);\r
       }\r
@@ -168,8 +177,8 @@ EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 VOID TagsPopDown(void)\r
 {\r
   if (editTagsDialog) ShowWindow(editTagsDialog, SW_HIDE);\r
 VOID TagsPopDown(void)\r
 {\r
   if (editTagsDialog) ShowWindow(editTagsDialog, SW_HIDE);\r
-  CheckMenuItem(GetMenu(hwndMain), IDM_EditTags, MF_UNCHECKED);\r
-  editTagsUp = FALSE;\r
+  CheckMenuItem(GetMenu(hwndMain), IDM_Tags, MF_UNCHECKED);\r
+  editTagsUp = bookUp = FALSE;\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -198,10 +207,11 @@ VOID EitherTagsPopUp(char *tags, char *msg, BOOLEAN edit)
   editTagsText = p;\r
   canEditTags = edit;\r
   \r
   editTagsText = p;\r
   canEditTags = edit;\r
   \r
-  CheckMenuItem(GetMenu(hwndMain), IDM_EditTags, MF_CHECKED);\r
+  CheckMenuItem(GetMenu(hwndMain), IDM_Tags, MF_CHECKED);\r
   if (editTagsDialog) {\r
     SendMessage(editTagsDialog, WM_INITDIALOG, 0, 0);\r
     ShowWindow(editTagsDialog, SW_SHOW);\r
   if (editTagsDialog) {\r
     SendMessage(editTagsDialog, WM_INITDIALOG, 0, 0);\r
     ShowWindow(editTagsDialog, SW_SHOW);\r
+    if(bookUp) SetFocus(hwndMain);\r
   } else {\r
     lpProc = MakeProcInstance((FARPROC)EditTagsDialog, hInst);\r
     CreateDialog(hInst, MAKEINTRESOURCE(DLG_EditTags),\r
   } else {\r
     lpProc = MakeProcInstance((FARPROC)EditTagsDialog, hInst);\r
     CreateDialog(hInst, MAKEINTRESOURCE(DLG_EditTags),\r
@@ -218,14 +228,15 @@ VOID TagsPopUp(char *tags, char *msg)
   SetActiveWindow(hwnd);\r
 }\r
 \r
   SetActiveWindow(hwnd);\r
 }\r
 \r
-VOID EditTagsPopUp(char *tags)\r
+VOID EditTagsPopUp(char *tags, char **dest)\r
 {\r
 {\r
+  resPtr = dest;\r
   EitherTagsPopUp(tags, "", TRUE);\r
 }\r
 \r
 VOID EditTagsProc()\r
 {\r
   EitherTagsPopUp(tags, "", TRUE);\r
 }\r
 \r
 VOID EditTagsProc()\r
 {\r
-  if (editTagsUp) {\r
+  if (editTagsUp && !bookUp) {\r
     TagsPopDown();\r
   } else {\r
     EditTagsEvent();\r
     TagsPopDown();\r
   } else {\r
     EditTagsEvent();\r