- Add accessibility control panel. Patch by <j_anderw@sbox.tugraz.at>
authorEric Kohl <eric.kohl@reactos.org>
Wed, 30 Jun 2004 12:16:27 +0000 (12:16 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Wed, 30 Jun 2004 12:16:27 +0000 (12:16 +0000)
- Use w32api.
- Add control panel icon.

svn path=/trunk/; revision=9945

12 files changed:
reactos/lib/cpl/access/Makefile [new file with mode: 0644]
reactos/lib/cpl/access/access.c [new file with mode: 0644]
reactos/lib/cpl/access/access.def [new file with mode: 0644]
reactos/lib/cpl/access/access.edf [new file with mode: 0644]
reactos/lib/cpl/access/access.h [new file with mode: 0644]
reactos/lib/cpl/access/access.rc [new file with mode: 0644]
reactos/lib/cpl/access/display.c [new file with mode: 0644]
reactos/lib/cpl/access/general.c [new file with mode: 0644]
reactos/lib/cpl/access/keyboard.c [new file with mode: 0644]
reactos/lib/cpl/access/mouse.c [new file with mode: 0644]
reactos/lib/cpl/access/resource.h [new file with mode: 0644]
reactos/lib/cpl/access/sound.c [new file with mode: 0644]

diff --git a/reactos/lib/cpl/access/Makefile b/reactos/lib/cpl/access/Makefile
new file mode 100644 (file)
index 0000000..a85b852
--- /dev/null
@@ -0,0 +1,49 @@
+# $Id: Makefile,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+
+PATH_TO_TOP = ../../..
+
+TARGET_TYPE = dynlink
+
+TARGET_EXTENSION = .cpl
+
+TARGET_NAME = access
+
+TARGET_INSTALLDIR = system32
+
+TARGET_BASE = 0x58760000
+
+TARGET_CFLAGS = \
+ -D_WIN32_IE=0x0600 \
+ -D_WIN32_WINNT=0x0501 \
+ -DUNICODE \
+ -D_UNICODE \
+ -D__REACTOS__ \
+ -D__USE_W32API \
+ -Wall \
+ -Werror \
+ -fno-builtin
+
+TARGET_LFLAGS = -nostartfiles
+
+TARGET_SDKLIBS = kernel32.a user32.a comctl32.a
+
+TARGET_GCCLIBS = gcc
+
+TARGET_PCH = 
+
+TARGET_CLEAN = 
+
+TARGET_OBJECTS = keyboard.o sound.o display.o mouse.o general.o access.o
+
+DEP_OBJECTS = $(TARGET_OBJECTS)
+
+include $(PATH_TO_TOP)/rules.mak
+
+include $(TOOLS_PATH)/helper.mk
+
+include $(TOOLS_PATH)/depend.mk
+
+%/TAGS:
+       etags -o $(@D)/TAGS $(@D)/\*.c
+
+etags: ./TAGS
diff --git a/reactos/lib/cpl/access/access.c b/reactos/lib/cpl/access/access.c
new file mode 100644 (file)
index 0000000..69de779
--- /dev/null
@@ -0,0 +1,182 @@
+/*
+ *  ReactOS
+ *  Copyright (C) 2004 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: access.c,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+ *
+ * PROJECT:         ReactOS System Control Panel
+ * FILE:            lib/cpl/system/sysdm.c
+ * PURPOSE:         ReactOS System Control Panel
+ * PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
+ * UPDATE HISTORY:
+ *      03-04-2004  Created
+ */
+#include <windows.h>
+#include <commctrl.h>
+#include <cpl.h>
+
+#include <stdlib.h>
+
+#include "resource.h"
+#include "access.h"
+
+#define NUM_APPLETS    (1)
+
+LONG CALLBACK SystemApplet(VOID);
+BOOL CALLBACK DisplayPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+BOOL CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+BOOL CALLBACK KeyboardPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+BOOL CALLBACK MousePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+BOOL CALLBACK SoundPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+HINSTANCE hApplet = 0;
+
+/* Applets */
+APPLET Applets[NUM_APPLETS] = 
+{
+  {IDI_CPLACCESS, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet}
+};
+
+static void
+InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
+{
+  ZeroMemory(psp, sizeof(PROPSHEETPAGE));
+  psp->dwSize = sizeof(PROPSHEETPAGE);
+  psp->dwFlags = PSP_DEFAULT;
+  psp->hInstance = hApplet;
+  psp->pszTemplate = MAKEINTRESOURCE(idDlg);
+  psp->pfnDlgProc = DlgProc;
+}
+
+/* Property Sheet Callback */
+int CALLBACK
+PropSheetProc(
+       HWND hwndDlg,
+       UINT uMsg,
+       LPARAM lParam
+)
+{
+  switch(uMsg)
+  {
+    case PSCB_BUTTONPRESSED:
+      switch(lParam)
+      {
+        case PSBTN_OK: /* OK */
+          break;
+        case PSBTN_CANCEL: /* Cancel */
+          break;
+        case PSBTN_APPLYNOW: /* Apply now */
+          break;
+        case PSBTN_FINISH: /* Close */
+          break;
+        default:
+          return FALSE;
+      }
+      break;
+      
+    case PSCB_INITIALIZED:
+      break;
+  }
+  return TRUE;
+}
+
+/* First Applet */
+
+LONG CALLBACK
+SystemApplet(VOID)
+{
+  PROPSHEETPAGE psp[5];
+  PROPSHEETHEADER psh;
+  TCHAR Caption[1024];
+  
+  LoadString(hApplet, IDS_CPLSYSTEMNAME, Caption, sizeof(Caption) / sizeof(TCHAR));
+  
+  ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
+  psh.dwSize = sizeof(PROPSHEETHEADER);
+  psh.dwFlags =  PSH_PROPSHEETPAGE | PSH_USECALLBACK | PSH_PROPTITLE;
+  psh.hwndParent = NULL;
+  psh.hInstance = hApplet;
+  psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLACCESS));
+  psh.pszCaption = Caption;
+  psh.nPages = sizeof(psp) / sizeof(PROPSHEETHEADER);
+  psh.nStartPage = 0;
+  psh.ppsp = psp;
+  psh.pfnCallback = PropSheetProc;
+  
+  InitPropSheetPage(&psp[0], IDD_PROPPAGEKEYBOARD, KeyboardPageProc);
+  InitPropSheetPage(&psp[1], IDD_PROPPAGESOUND, SoundPageProc);
+  InitPropSheetPage(&psp[2], IDD_PROPPAGEDISPLAY, DisplayPageProc);
+  InitPropSheetPage(&psp[3], IDD_PROPPAGEMOUSE, MousePageProc);
+  InitPropSheetPage(&psp[4], IDD_PROPPAGEGENERAL, GeneralPageProc);
+  
+  return (LONG)(PropertySheet(&psh) != -1);
+}
+
+/* Control Panel Callback */
+LONG CALLBACK
+CPlApplet(
+       HWND hwndCPl,
+       UINT uMsg,
+       LPARAM lParam1,
+       LPARAM lParam2)
+{
+  int i = (int)lParam1;
+  
+  switch(uMsg)
+  {
+    case CPL_INIT:
+    {
+      return TRUE;
+    }
+    case CPL_GETCOUNT:
+    {
+      return NUM_APPLETS;
+    }
+    case CPL_INQUIRE:
+    {
+      CPLINFO *CPlInfo = (CPLINFO*)lParam2;
+      CPlInfo->lData = 0;
+      CPlInfo->idIcon = Applets[i].idIcon;
+      CPlInfo->idName = Applets[i].idName;
+      CPlInfo->idInfo = Applets[i].idDescription;
+      break;
+    }
+    case CPL_DBLCLK:
+    {
+      Applets[i].AppletProc();
+      break;
+    }
+  }
+  return FALSE;
+}
+
+
+BOOL STDCALL
+DllMain(
+       HINSTANCE hinstDLL,
+       DWORD     dwReason,
+       LPVOID    lpvReserved)
+{
+  switch(dwReason)
+  {
+    case DLL_PROCESS_ATTACH:
+    case DLL_THREAD_ATTACH:
+      hApplet = hinstDLL;
+      break;
+  }
+  return TRUE;
+}
+
diff --git a/reactos/lib/cpl/access/access.def b/reactos/lib/cpl/access/access.def
new file mode 100644 (file)
index 0000000..1ed8431
--- /dev/null
@@ -0,0 +1,6 @@
+LIBRARY cplsample.cpl
+
+EXPORTS
+CPlApplet@16
+
+; EOF
diff --git a/reactos/lib/cpl/access/access.edf b/reactos/lib/cpl/access/access.edf
new file mode 100644 (file)
index 0000000..47e146a
--- /dev/null
@@ -0,0 +1,6 @@
+LIBRARY cplsample.cpl
+
+EXPORTS
+CPlApplet=CPlApplet@16
+
+; EOF
diff --git a/reactos/lib/cpl/access/access.h b/reactos/lib/cpl/access/access.h
new file mode 100644 (file)
index 0000000..337bc5b
--- /dev/null
@@ -0,0 +1,20 @@
+#ifndef __CPL_SYSDM_H
+#define __CPL_SYSDM_H
+
+typedef LONG (CALLBACK *APPLET_INITPROC)(VOID);
+
+typedef struct
+{
+  int idIcon;
+  int idName;
+  int idDescription;
+  APPLET_INITPROC AppletProc;
+} APPLET, *PAPPLET;
+
+extern HINSTANCE hApplet;
+
+void ShowLastWin32Error(HWND hWndOwner);
+
+#endif /* __CPL_SYSDM_H */
+
+/* EOF */
diff --git a/reactos/lib/cpl/access/access.rc b/reactos/lib/cpl/access/access.rc
new file mode 100644 (file)
index 0000000..f055a57
--- /dev/null
@@ -0,0 +1,144 @@
+#include <reactos/resource.h>
+#include <defines.h>
+#include "resource.h"
+
+LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
+
+VS_VERSION_INFO VERSIONINFO
+       FILEVERSION     RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
+       PRODUCTVERSION  RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD      
+       FILEFLAGSMASK   0x3fL
+#ifdef _DEBUG
+       FILEFLAGS       0x1L
+#else
+       FILEFLAGS       0x0L
+#endif
+       FILEOS          0x40004L
+       FILETYPE        0x2L
+       FILESUBTYPE     0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "CompanyName",       RES_STR_COMPANY_NAME
+            VALUE "FileDescription",   "ReactOS Accessibility Control Panel\0"
+            VALUE "FileVersion",       RES_STR_FILE_VERSION
+            VALUE "InternalName",      "access\0"
+            VALUE "LegalCopyright",    RES_STR_LEGAL_COPYRIGHT
+            VALUE "OriginalFilename",  "access.cpl\0"
+            VALUE "ProductName",       RES_STR_PRODUCT_NAME
+            VALUE "ProductVersion",    RES_STR_PRODUCT_VERSION
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+IDI_CPLACCESS ICON "resources/applet.ico"
+
+
+IDD_PROPPAGEKEYBOARD DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Keyboard"
+FONT 8, "MS Shell Dlg", 0, 0, 0x0
+BEGIN
+  GROUPBOX "StickyKeys",-1,PROPSHEETPADDING,LABELLINE(1),PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(6)+PROPSHEETPADDING
+  LTEXT "Use StickyKeys if you want to use Shift, Ctrl, or Alt key by pressing one key at at time.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+  CHECKBOX "Use StickyKeys",IDC_STICKY_BOX,(4*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+  PUSHBUTTON "&Settings",IDC_STICKY_BUTTON,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+  GROUPBOX "FilterKeys",-1,PROPSHEETPADDING,LABELLINE(8)+5,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(7)+2
+  LTEXT "Use FilterKeys if you want Reactos to ignore brief or repeated keystrokes, or slow the repeat rate.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(10)-3,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+  CHECKBOX "Use FilterKeys",IDC_FILTER_BOX,(4*PROPSHEETPADDING),LABELLINE(13)+2,(15*PROPSHEETPADDING),14
+  PUSHBUTTON "&Settings",IDC_FILTER_BUTTON,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(13)+2,(15*PROPSHEETPADDING),14
+  GROUPBOX "ToggleKeys",-1,PROPSHEETPADDING,LABELLINE(16)+3,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(6)+PROPSHEETPADDING
+  LTEXT "Use ToggleKeys if you want to hear tones when pressing Caps Lock, Num Lock, and Scroll Lock.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(18)-3,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(2)
+  CHECKBOX "Use ToggleKeys",IDC_TOGGLE_BOX,(4*PROPSHEETPADDING),LABELLINE(20)+2,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(2)
+  PUSHBUTTON "&Settings",IDC_TOGGLE_BUTTON,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(20)+2,(15*PROPSHEETPADDING),14
+//  CHECKBOX "Show extra keyboard help in programs",IDC_KEYBOARD_EXTRA
+END
+
+
+IDD_PROPPAGESOUND DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Sound"
+FONT 8, "MS Shell Dlg", 0, 0, 0x0
+BEGIN
+  GROUPBOX "SoundSentry",-1,PROPSHEETPADDING,LABELLINE(1),PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(6)+PROPSHEETPADDING
+  LTEXT "Use SoundSentry if you want Reactos to generate visual warnings when your system makes a sound.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+  CHECKBOX "Use &SoundSentry",IDC_SENTRY_BOX,(4*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+  PUSHBUTTON "&Settings",IDC_SENTRY_BUTTON,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+
+  GROUPBOX "ShowSounds",-1,PROPSHEETPADDING,LABELLINE(8)+5,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(7)+2
+  LTEXT "Use ShowSounds to tell your programs to display captions for the speech and sounds they make.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(10)-3,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+  CHECKBOX "Use S&howSounds",IDC_SSHOW_BOX,(4*PROPSHEETPADDING),LABELLINE(12)+2,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+END
+
+
+IDD_PROPPAGEDISPLAY DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Display"
+FONT 8, "MS Shell Dlg", 0, 0, 0x0
+BEGIN  
+  GROUPBOX "High Contrast",-1,PROPSHEETPADDING,LABELLINE(1),PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(6)+PROPSHEETPADDING
+  LTEXT "Use this option if you want Reactos to use colors and fonts designed for easy reading.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+  CHECKBOX "&Use High Contrast",IDC_CONTRAST_BOX,(4*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+  PUSHBUTTON "&Settings",IDC_CONTRAST_BUTTON,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+END
+
+
+IDD_PROPPAGEMOUSE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "Mouse"
+FONT 8, "MS Shell Dlg", 0, 0, 0x0
+BEGIN
+  GROUPBOX "MouseKeys",-1,PROPSHEETPADDING,LABELLINE(1),PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(6)+PROPSHEETPADDING
+  LTEXT "Use this option if you want to control the pointer with the numeric keypad on your keyboard.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
+  CHECKBOX "Use &MouseKeys",IDC_MOUSE_BOX,(4*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+  PUSHBUTTON "&Settings",IDC_MOUSE_BUTTON,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
+END
+
+
+IDD_PROPPAGEGENERAL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg", 0, 0, 0x0
+BEGIN
+  GROUPBOX "Automatic Reset",-1,PROPSHEETPADDING,LABELLINE(1),PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(5)
+  CHECKBOX "&Turn off accessbility features after idle for:",IDC_RESET_BOX,(2*PROPSHEETPADDING),LABELLINE(2)-2,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(2)
+
+  //POPUP IDC_RESET_POPUP, GRAYED
+  //{
+  //  MENUITEM "5 Minutes", IDC_RESET_5
+  //  MENUITEM "10 Minutes", IDC_RESET_10
+  //  MENUITEM "15 Minutes", IDC_RESET_15
+  //  MENUITEM "20 Minutes", IDC_RESET_20
+  //  MENUITEM "25 Minutes", IDC_RESET_25
+  //  MENUITEM "30 Minutes", IDC_RESET_30
+  //}
+
+  GROUPBOX "Notification",-1,PROPSHEETPADDING,LABELLINE(7)-2,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(5)
+  CHECKBOX "Give warning message when turning a feature on",IDC_NOTIFICATION_MESSAGE,(2*PROPSHEETPADDING),LABELLINE(8)-2,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(2)
+  CHECKBOX "Make a sound when turning a feature on or off",IDC_NOTIFICATION_SOUND,(2*PROPSHEETPADDING),LABELLINE(10)-2,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(1)
+
+  GROUPBOX "SerialKey Devices",-1,PROPSHEETPADDING,LABELLINE(13)-4,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(5)
+  LTEXT "SerialKey devices allow alternative access to keyboard and mouse features.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(14)-4,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(2)
+  CHECKBOX "Support &SerialKey devices",IDC_SERIAL_BOX,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(16)-4,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(1)
+
+  PUSHBUTTON "S&ettings",IDC_SERIAL_BUTTON,180,LABELLINE(16)-4,50,LABELLINE(1)  
+
+  GROUPBOX "Administrative options",-1,PROPSHEETPADDING,LABELLINE(19)-4,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(5)
+
+  CHECKBOX "Apply all settings to l&ogon desktop",IDC_ADMIN_LOGON_BOX,(PROPSHEETPADDING*2),LABELLINE(20)-4,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(2)
+  CHECKBOX "Apply all settings to &defaults for new users",IDC_ADMIN_USERS_BOX,(2*PROPSHEETPADDING),LABELLINE(22)-4,PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(1)
+END
+
+
+STRINGTABLE 
+BEGIN
+  IDS_CPLSYSTEMNAME "Accessibility"
+  IDS_CPLSYSTEMDESCRIPTION "Customizes accessbility features for your computer."
+END
diff --git a/reactos/lib/cpl/access/display.c b/reactos/lib/cpl/access/display.c
new file mode 100644 (file)
index 0000000..12178ab
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ *  ReactOS
+ *  Copyright (C) 2004 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: display.c,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+ *
+ * PROJECT:         ReactOS System Control Panel
+ * FILE:            lib/cpl/system/advanced.c
+ * PURPOSE:         Memory, start-up and profiles settings
+ * PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
+ * UPDATE HISTORY:
+ *      03-04-2004  Created
+ */
+#include <windows.h>
+#include <stdlib.h>
+#include "resource.h"
+#include "access.h"
+
+/* Property page dialog callback */
+BOOL CALLBACK
+DisplayPageProc(
+  HWND hwndDlg,
+  UINT uMsg,
+  WPARAM wParam,
+  LPARAM lParam
+)
+{
+  switch(uMsg)
+  {
+    case WM_INITDIALOG:
+      break;
+    case WM_COMMAND:
+    {
+      switch(LOWORD(wParam))
+      {
+        case IDC_CONTRAST_BOX:
+        {
+          break;
+        }
+        case IDC_CONTRAST_BUTTON:
+        {
+          break;
+        }
+        default:
+          break;
+      }
+    }
+  }
+  return FALSE;
+}
diff --git a/reactos/lib/cpl/access/general.c b/reactos/lib/cpl/access/general.c
new file mode 100644 (file)
index 0000000..03f032c
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ *  ReactOS
+ *  Copyright (C) 2004 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: general.c,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+ *
+ * PROJECT:         ReactOS System Control Panel
+ * FILE:            lib/cpl/system/advanced.c
+ * PURPOSE:         Memory, start-up and profiles settings
+ * PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
+ * UPDATE HISTORY:
+ *      03-04-2004  Created
+ */
+#include <windows.h>
+#include <stdlib.h>
+#include "resource.h"
+#include "access.h"
+
+/* Property page dialog callback */
+BOOL CALLBACK
+GeneralPageProc(
+  HWND hwndDlg,
+  UINT uMsg,
+  WPARAM wParam,
+  LPARAM lParam
+)
+{
+  switch(uMsg)
+  {
+    case WM_INITDIALOG:
+      break;
+    case WM_COMMAND:
+    {
+      switch(LOWORD(wParam))
+      {      
+        case IDC_RESET_BOX:
+        {
+          break;
+        }
+        case IDC_NOTIFICATION_MESSAGE:
+        {
+          break;
+        }
+        case IDC_NOTIFICATION_SOUND:
+        {
+          break;
+        }
+        case IDC_SERIAL_BOX:
+        {
+          break;
+        }
+        case IDC_SERIAL_BUTTON:
+        {
+          break;
+        }
+        case IDC_ADMIN_LOGON_BOX:
+        {
+          break;
+        }
+        case IDC_ADMIN_USERS_BOX:
+        {
+          break;
+        }
+        default:
+         break;
+      }
+    }
+  }
+  return FALSE;
+}
diff --git a/reactos/lib/cpl/access/keyboard.c b/reactos/lib/cpl/access/keyboard.c
new file mode 100644 (file)
index 0000000..aeb64bf
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ *  ReactOS
+ *  Copyright (C) 2004 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: keyboard.c,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+ *
+ * PROJECT:         ReactOS System Control Panel
+ * FILE:            lib/cpl/system/advanced.c
+ * PURPOSE:         Memory, start-up and profiles settings
+ * PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
+ * UPDATE HISTORY:
+ *      03-04-2004  Created
+ */
+#include <windows.h>
+#include <stdlib.h>
+#include "resource.h"
+#include "access.h"
+
+/* Property page dialog callback */
+BOOL CALLBACK
+KeyboardPageProc(
+  HWND hwndDlg,
+  UINT uMsg,
+  WPARAM wParam,
+  LPARAM lParam
+)
+{
+  switch(uMsg)
+  {
+    case WM_INITDIALOG:
+      break;
+    case WM_COMMAND:
+    {
+      switch(LOWORD(wParam))
+      {
+        case IDC_STICKY_BOX:
+        {
+          break;
+        }
+
+        case IDC_STICKY_BUTTON:
+        {
+          break;
+        }
+
+        case IDC_FILTER_BOX:
+        {
+          break;
+        }
+
+        case IDC_FILTER_BUTTON:
+        {
+          break;
+        }
+
+        case IDC_TOGGLE_BOX:
+        {
+          break;
+        }
+
+        case IDC_TOGGLE_BUTTON:
+        {
+          break;
+        }
+        default:
+           break;
+      }
+    }
+  }
+  return FALSE;
+}
diff --git a/reactos/lib/cpl/access/mouse.c b/reactos/lib/cpl/access/mouse.c
new file mode 100644 (file)
index 0000000..ec8ce4a
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ *  ReactOS
+ *  Copyright (C) 2004 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: mouse.c,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+ *
+ * PROJECT:         ReactOS System Control Panel
+ * FILE:            lib/cpl/system/advanced.c
+ * PURPOSE:         Memory, start-up and profiles settings
+ * PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
+ * UPDATE HISTORY:
+ *      03-04-2004  Created
+ */
+#include <windows.h>
+#include <stdlib.h>
+#include "resource.h"
+#include "access.h"
+
+/* Property page dialog callback */
+BOOL CALLBACK
+MousePageProc(
+  HWND hwndDlg,
+  UINT uMsg,
+  WPARAM wParam,
+  LPARAM lParam
+)
+{
+  switch(uMsg)
+  {
+    case WM_INITDIALOG:
+      break;
+    case WM_COMMAND:
+    {
+      switch(LOWORD(wParam))
+      {      
+        case IDC_MOUSE_BOX:
+        {
+          break;
+        }
+        case IDC_MOUSE_BUTTON:
+        {
+          break;
+        }
+        default:
+          break;
+      }
+    }
+  }
+  return FALSE;
+}
diff --git a/reactos/lib/cpl/access/resource.h b/reactos/lib/cpl/access/resource.h
new file mode 100644 (file)
index 0000000..d2cb74f
--- /dev/null
@@ -0,0 +1,51 @@
+#ifndef __CPL_RESOURCE_H
+#define __CPL_RESOURCE_H
+
+/* metrics */
+#define PROPSHEETWIDTH  246
+#define PROPSHEETHEIGHT 228
+#define PROPSHEETPADDING        6
+#define SYSTEM_COLUMN   (18 * PROPSHEETPADDING)
+#define LABELLINE(x)    (((PROPSHEETPADDING + 2) * x) + (x + 2))
+#define ICONSIZE        16
+
+/* ids */
+#define IDI_CPLACCESS          100
+
+#define IDD_PROPPAGEKEYBOARD   100
+#define IDD_PROPPAGESOUND      101
+#define IDD_PROPPAGEDISPLAY    102
+#define IDD_PROPPAGEMOUSE      103
+#define IDD_PROPPAGEGENERAL    104
+
+#define IDS_CPLSYSTEMNAME      1001
+#define IDS_CPLSYSTEMDESCRIPTION       2001
+
+/* controls */
+#define IDC_STICKY_BOX         200
+#define IDC_STICKY_BUTTON      201
+#define IDC_FILTER_BOX         202
+#define IDC_FILTER_BUTTON      203
+#define IDC_TOGGLE_BOX         204
+#define IDC_TOGGLE_BUTTON      205
+#define IDC_SENTRY_BOX         206
+#define IDC_SENTRY_BUTTON      207
+#define IDC_SSHOW_BOX          208
+#define IDC_CONTRAST_BOX       209
+#define IDC_CONTRAST_BUTTON    210
+#define IDC_MOUSE_BOX          211
+#define IDC_MOUSE_BUTTON       212
+#define IDC_RESET_BOX          213
+#define IDC_RESET_POPUP                214
+#define IDC_NOTIFICATION_MESSAGE       215
+#define IDC_NOTIFICATION_SOUND 216
+#define IDC_SERIAL_BOX         217
+#define IDC_SERIAL_BUTTON      218
+#define IDC_ADMIN_LOGON_BOX    219
+#define IDC_ADMIN_USERS_BOX    220
+
+
+
+#endif /* __CPL_RESOURCE_H */
+
+/* EOF */
diff --git a/reactos/lib/cpl/access/sound.c b/reactos/lib/cpl/access/sound.c
new file mode 100644 (file)
index 0000000..c1780b4
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ *  ReactOS
+ *  Copyright (C) 2004 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id: sound.c,v 1.1 2004/06/30 12:16:27 ekohl Exp $
+ *
+ * PROJECT:         ReactOS System Control Panel
+ * FILE:            lib/cpl/system/advanced.c
+ * PURPOSE:         Memory, start-up and profiles settings
+ * PROGRAMMER:      Thomas Weidenmueller (w3seek@users.sourceforge.net)
+ * UPDATE HISTORY:
+ *      03-04-2004  Created
+ */
+#include <windows.h>
+#include <stdlib.h>
+#include "resource.h"
+#include "access.h"
+
+/* Property page dialog callback */
+BOOL CALLBACK
+SoundPageProc(
+  HWND hwndDlg,
+  UINT uMsg,
+  WPARAM wParam,
+  LPARAM lParam
+)
+{
+  switch(uMsg)
+  {
+    case WM_INITDIALOG:
+      break;
+    case WM_COMMAND:
+    {
+      switch(LOWORD(wParam))
+      {
+        case IDC_SENTRY_BOX:
+        {
+          break;
+        }
+        case IDC_SENTRY_BUTTON:
+        {
+          break;
+        }
+        case IDC_SSHOW_BOX:
+        {
+          break;
+        }
+        default:  
+          break;
+      }
+    }
+  }
+  return FALSE;
+}