Implement separate engine list for WinBoard
[xboard.git] / winboard / wsettings.c
index c825d24..04957e7 100644 (file)
@@ -541,6 +541,12 @@ LRESULT CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa
                     GetOptionValues(hDlg, activeCps, activeList);\r
                else if( activeList[j].type  != Button) break;\r
                else if( !activeCps ) { (*(ButtonCallback*) activeList[j].target)(hDlg); break; }\r
+               if(j == 0) { // WinBoard save button\r
+                   SaveEngineSettings(activeCps == &second);\r
+                   EndDialog( hDlg, 0 );\r
+                   comboCallback = NULL; activeCps = NULL; settingsDlg = NULL;\r
+                   return TRUE;\r
+               }\r
                snprintf(buf, MSG_SIZ, "option %s\n", activeList[j].name);\r
                SendToProgram(buf, activeCps);\r
            }\r
@@ -735,7 +741,7 @@ Option installOptions[] = {
   {   0,  0,    0, NULL, (void*) &storeVariant, NULL, NULL, CheckBox, N_("Force current variant with this engine") },\r
   {   0,  0,    0, NULL, (void*) &isUCI, NULL, NULL, CheckBox, N_("UCI") },\r
   {   0,  0,    0, NULL, (void*) &v1, NULL, NULL, CheckBox, N_("WB protocol v1 (skip waiting for features)") },\r
-  {   0,  0,    0, NULL, (void*) &isUCCI, NULL, NULL, CheckBox, N_("UCCI / USI (uses specified /uxiAdapter)") },\r
+  {   0,  0,    0, NULL, (void*) &isUCCI, NULL, NULL, CheckBox, N_("UCCI/USI/Arena960 (through /uxiAdapter)") },\r
   {   0,  1,    0, NULL, (void*) &InstallOK, "", NULL, EndMark , "" }\r
 };\r
 \r
@@ -784,6 +790,7 @@ EnterGroup(HWND hDlg)
 \r
 void LoadEnginePopUp(HWND hwnd, int nr)\r
 {\r
+    if(*engineListFile) ParseSettingsFile(engineListFile, &engineListFile); // contains engine list\r
     isUCI = isUCCI = storeVariant = v1 = useNick = FALSE; addToList = hasBook = TRUE; // defaults\r
     engineNr = nr;\r
     if(engineDir)    free(engineDir);    engineDir = strdup("");\r