Add option Display Logo in WB general-options menu
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 23 Feb 2010 12:46:25 +0000 (13:46 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 23 Feb 2010 14:03:13 +0000 (15:03 +0100)
Changing the option requires InitDrawingSizes to be called for
re-formatting the board window. Switching it off requires clearing of
the cps->programLogo fields to take effect immediately. Switching it on
only takes effect the next session, as we will need some refactoring to
redo the figuring out what logos to display.

winboard/resource.h
winboard/winboard.rc
winboard/woptions.c

index fdad534..940e367 100644 (file)
 #define OPT_OutOfBookInfo               1436\r
 #define OPT_ExtraInfoInMoveHistory      1437\r
 #define OPT_HighlightMoveArrow          1438\r
+#define OPT_AutoLogo                   1439\r
 #define IDC_BUTTON1                     1440\r
 #define IDC_BrowseForPolyglotDir        1440\r
 #define IDC_BrowseForEGTB               1441\r
index a94ca09..0bffd9b 100644 (file)
@@ -420,13 +420,13 @@ BEGIN
     PUSHBUTTON      "&Play",OPT_PlaySound,188,47,50,14\r
 END\r
 \r
-DLG_GeneralOptions DIALOG DISCARDABLE  0, 0, 250, 183\r
+DLG_GeneralOptions DIALOG DISCARDABLE  0, 0, 250, 197\r
 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
 CAPTION "General Options"\r
 FONT 8, "MS Sans Serif"\r
 BEGIN\r
-    DEFPUSHBUTTON   "OK",IDOK,110,164,50,14\r
-    PUSHBUTTON      "Cancel",IDCANCEL,166,164,50,14\r
+    DEFPUSHBUTTON   "OK",IDOK,110,178,50,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,166,178,50,14\r
     CONTROL         "Always on &Top",OPT_AlwaysOnTop,"Button",\r
                     BS_AUTOCHECKBOX | WS_TABSTOP,4,6,126,10\r
     CONTROL         "Highlight Last &Move",OPT_HighlightLastMove,"Button",\r
@@ -471,6 +471,8 @@ BEGIN
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,146,126,10\r
     CONTROL         "Highlight with Arro&w",OPT_HighlightMoveArrow,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,131,145,126,10\r
+    CONTROL         "Displa&y Logos",OPT_AutoLogo,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,4,160,126,10\r
 END\r
 \r
 DLG_IcsOptions DIALOGEX 0, 0, 302, 268\r
index fd0ac4c..f5dbb3e 100644 (file)
@@ -146,12 +146,14 @@ GeneralOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
   static Boolean oldShowCoords;\r
   static Boolean oldBlindfold;\r
   static Boolean oldShowButtonBar;\r
+  static Boolean oldAutoLogo;\r
 \r
   switch (message) {\r
   case WM_INITDIALOG: /* message: initialize dialog box */\r
     oldShowCoords = appData.showCoords;\r
     oldBlindfold  = appData.blindfold;\r
     oldShowButtonBar = appData.showButtonBar;\r
+    oldAutoLogo  = appData.autoLogo;\r
 \r
     /* Center the dialog over the application window */\r
     CenterWindow (hDlg, GetWindow (hDlg, GW_OWNER));\r
@@ -181,6 +183,7 @@ GeneralOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
     CHECK_BOX(OPT_SaveExtPGN, appData.saveExtendedInfoInPGN);\r
     CHECK_BOX(OPT_ExtraInfoInMoveHistory, appData.showEvalInMoveHistory);\r
     CHECK_BOX(OPT_HighlightMoveArrow, appData.highlightMoveWithArrow);\r
+    CHECK_BOX(OPT_AutoLogo, appData.autoLogo); // [HGM] logo\r
 \r
 #undef CHECK_BOX\r
 \r
@@ -228,6 +231,7 @@ GeneralOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
       ShowThinkingEvent(); // [HGM] thinking: tests four options\r
       appData.testLegality         = IS_CHECKED(OPT_TestLegality);\r
       appData.highlightMoveWithArrow=IS_CHECKED(OPT_HighlightMoveArrow);\r
+      appData.autoLogo             =IS_CHECKED(OPT_AutoLogo); // [HGM] logo\r
 \r
 #undef IS_CHECKED\r
 \r
@@ -249,7 +253,10 @@ GeneralOptionsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
        */\r
       EndDialog(hDlg, TRUE);\r
 \r
-      if (oldShowButtonBar != appData.showButtonBar) {\r
+      if (oldAutoLogo != appData.autoLogo) { // [HGM] logo: remove any logos when we switch autologo off\r
+       if(oldAutoLogo) first.programLogo = second.programLogo = NULL;\r
+       InitDrawingSizes(boardSize, 0);\r
+      } else if (oldShowButtonBar != appData.showButtonBar) {\r
        InitDrawingSizes(boardSize, 0);\r
       } else if ((oldShowCoords != appData.showCoords) || \r
                 (oldBlindfold != appData.blindfold)) {\r