/*\r
* wedittags.c -- EditTags window for WinBoard\r
*\r
- * Copyright 1995, 2009, 2010 Free Software Foundation, Inc.\r
+ * Copyright 1995, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.\r
*\r
* Enhancements Copyright 2005 Alessandro Scotti\r
*\r
#define _(s) T_(s)\r
\r
/* Module globals */\r
-static char *editTagsText;\r
+static char *editTagsText, **resPtr;\r
BOOL editTagsUp = FALSE;\r
BOOL canEditTags = FALSE;\r
\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
SetWindowText(hDlg, _("Edit Tags"));\r
SetFocus(hwndText);\r
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
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
- *p = NULLCHAR;\r
+ *p = NULLCHAR; err = 0;\r
+ if(resPtr) *resPtr = strdup(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
{\r
if (editTagsDialog) ShowWindow(editTagsDialog, SW_HIDE);\r
CheckMenuItem(GetMenu(hwndMain), IDM_Tags, MF_UNCHECKED);\r
- editTagsUp = FALSE;\r
+ editTagsUp = bookUp = FALSE;\r
}\r
\r
\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
SetActiveWindow(hwnd);\r
}\r
\r
-VOID EditTagsPopUp(char *tags)\r
+VOID EditTagsPopUp(char *tags, char **dest)\r
{\r
+ resPtr = dest;\r
EitherTagsPopUp(tags, "", TRUE);\r
}\r
\r
VOID EditTagsProc()\r
{\r
- if (editTagsUp) {\r
+ if (editTagsUp && !bookUp) {\r
TagsPopDown();\r
} else {\r
EditTagsEvent();\r