Add tab stops in WB generic popup
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 23 Jun 2011 12:02:50 +0000 (14:02 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Sun, 26 Jun 2011 12:36:05 +0000 (14:36 +0200)
The WinBoard generic popup did not put tab stops on push buttons,
including the OK and cancel button, with as a consequence that these were
skipped when tabbing through the dialog controls. In addition the tabbing
could not begin before the user selected one of the controls with the mouse.
  Now all buttons have tab stops, and the cancel button is given focus
when the dialog pops up.

winboard/wsettings.c

index ae0f99c..a1909ac 100644 (file)
@@ -425,7 +425,7 @@ LRESULT CALLBACK SettingsProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa
 //        CenterWindow(hDlg, GetWindow(hDlg, GW_OWNER));\r
        SetOptionValues(hDlg, activeCps, activeList);\r
 \r
-//        SetFocus(GetDlgItem(hDlg, IDC_NFG_Edit));\r
+        SetFocus(GetDlgItem(hDlg, IDCANCEL));\r
 \r
         break;\r
 \r
@@ -555,7 +555,7 @@ void AddOption(int x, int y, Control type, int i)
        case Button:\r
        case ResetButton:\r
        case SaveButton:\r
-           AddControl(x-2, y, 65, 13, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, i);\r
+           AddControl(x-2, y, 65, 13, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD | WS_TABSTOP, i);\r
        case Message:\r
        default:\r
            break;\r
@@ -595,12 +595,12 @@ CreateDialogTemplate(int *layoutList, int nr, Option *optionList)
     // add butons at the bottom of dialog window\r
     y += 13*(nr>>1)+5;\r
 \r
-    AddControl(x+225, y+18*(buttonRows-1), 30, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, IDOK-2000);\r
-    AddControl(x+260, y+18*(buttonRows-1), 40, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, IDCANCEL-2000);\r
     for(i=0; i<buttons; i++) {\r
-       AddControl(x+70*(i%4)+5, y+18*(i/4), 65, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD, 2*(nr+i));\r
+       AddControl(x+70*(i%4)+5, y+18*(i/4), 65, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD | WS_TABSTOP, 2*(nr+i));\r
        layoutList[nr+i] = buttonList[i];\r
     }\r
+    AddControl(x+225, y+18*(buttonRows-1), 30, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD | WS_TABSTOP, IDOK-2000);\r
+    AddControl(x+260, y+18*(buttonRows-1), 40, 15, 0x0080, BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD | WS_TABSTOP, IDCANCEL-2000);\r
     template.title[8] = optionList == first.option ? '1' :  '2';\r
     template.header.cy = y += 18*buttonRows+2;\r
     template.header.style &= ~WS_VSCROLL;\r