Author: ekohl Date: Mon Aug 13 01:19:52 2007 New Revision: 28306
URL: http://svn.reactos.org/svn/reactos?rev=28306&view=rev Log: Add some mouse keys settings and general settings.
Modified: trunk/reactos/dll/cpl/access/general.c trunk/reactos/dll/cpl/access/lang/cs-CZ.rc trunk/reactos/dll/cpl/access/lang/de-DE.rc trunk/reactos/dll/cpl/access/lang/en-US.rc trunk/reactos/dll/cpl/access/lang/es-ES.rc trunk/reactos/dll/cpl/access/lang/fr-FR.rc trunk/reactos/dll/cpl/access/lang/hu-HU.rc trunk/reactos/dll/cpl/access/lang/id-ID.rc trunk/reactos/dll/cpl/access/lang/it-IT.rc trunk/reactos/dll/cpl/access/lang/ja-JP.rc trunk/reactos/dll/cpl/access/lang/nl-NL.rc trunk/reactos/dll/cpl/access/lang/pl-PL.rc trunk/reactos/dll/cpl/access/lang/ru-RU.rc trunk/reactos/dll/cpl/access/mouse.c trunk/reactos/dll/cpl/access/resource.h
Modified: trunk/reactos/dll/cpl/access/general.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/general.c?re... ============================================================================== --- trunk/reactos/dll/cpl/access/general.c (original) +++ trunk/reactos/dll/cpl/access/general.c Mon Aug 13 01:19:52 2007 @@ -2,7 +2,7 @@ * * PROJECT: ReactOS System Control Panel * LICENSE: GPL - See COPYING in the top level directory - * FILE: lib/cpl/system/advanced.c + * FILE: dll/cpl/access/general.c * PURPOSE: Memory, start-up and profiles settings * COPYRIGHT: Copyright 2004 Johannes Anderwald (j_anderw@sbox.tugraz.at) * UPDATE HISTORY: @@ -10,8 +10,148 @@ */ #include <windows.h> #include <stdlib.h> +#include <stdio.h> +#include <commctrl.h> +#include <prsht.h> +#include <tchar.h> #include "resource.h" #include "access.h" + + +typedef struct _GLOBAL_DATA +{ + ACCESSTIMEOUT accessTimeout; + SERIALKEYS serialKeys; + BOOL bWarningSounds; + BOOL bSoundOnActivation; +} GLOBAL_DATA, *PGLOBAL_DATA; + + +static VOID +FillResetComboBox(HWND hwnd) +{ + TCHAR szBuffer[16]; + INT i; + + for (i = 0; i < 6; i++) + { + _stprintf(szBuffer, _T("%u"), (i + 1) * 5); + SendMessage(hwnd, + CB_ADDSTRING, + 0, + (LPARAM)szBuffer); + } +} + + +static VOID +ReadGlobalData(PGLOBAL_DATA pGlobalData) +{ + DWORD dwDisposition; + DWORD dwLength; + HKEY hKey; + LONG lError; + + /* Get access timeout information */ + pGlobalData->accessTimeout.cbSize = sizeof(ACCESSTIMEOUT); + SystemParametersInfo(SPI_GETACCESSTIMEOUT, + sizeof(ACCESSTIMEOUT), + &pGlobalData->accessTimeout, + 0); + + /* Get serial keys information */ + pGlobalData->serialKeys.cbSize = sizeof(SERIALKEYS); + SystemParametersInfo(SPI_GETSERIALKEYS, + sizeof(SERIALKEYS), + &pGlobalData->serialKeys, + 0); + + pGlobalData->bWarningSounds = TRUE; + pGlobalData->bSoundOnActivation = TRUE; + + lError = RegCreateKeyEx(HKEY_CURRENT_USER, + _T("Control Panel\Accessibility"), + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_EXECUTE | KEY_QUERY_VALUE, + NULL, + &hKey, + &dwDisposition); + if (lError != ERROR_SUCCESS) + return; + + dwLength = sizeof(BOOL); + lError = RegQueryValueEx(hKey, + _T("Warning Sounds"), + NULL, + NULL, + (LPBYTE)&pGlobalData->bWarningSounds, + &dwLength); + if (lError != ERROR_SUCCESS) + pGlobalData->bWarningSounds = TRUE; + + dwLength = sizeof(BOOL); + lError = RegQueryValueEx(hKey, + _T("Sound On Activation"), + NULL, + NULL, + (LPBYTE)&pGlobalData->bSoundOnActivation, + &dwLength); + if (lError != ERROR_SUCCESS) + pGlobalData->bSoundOnActivation = TRUE; + + + RegCloseKey(hKey); +} + + +static VOID +WriteGlobalData(PGLOBAL_DATA pGlobalData) +{ + DWORD dwDisposition; + HKEY hKey; + LONG lError; + + SystemParametersInfo(SPI_SETACCESSTIMEOUT, + sizeof(ACCESSTIMEOUT), + &pGlobalData->accessTimeout, + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE /*0*/); + + SystemParametersInfo(SPI_SETSERIALKEYS, + sizeof(SERIALKEYS), + &pGlobalData->serialKeys, + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE /*0*/); + + lError = RegCreateKeyEx(HKEY_CURRENT_USER, + _T("Control Panel\Accessibility"), + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_SET_VALUE, + NULL, + &hKey, + &dwDisposition); + if (lError != ERROR_SUCCESS) + return; + + RegSetValueEx(hKey, + _T("Warning Sounds"), + 0, + REG_DWORD, + (LPBYTE)&pGlobalData->bWarningSounds, + sizeof(BOOL)); + + RegSetValueEx(hKey, + _T("Sound On Activation"), + 0, + REG_DWORD, + (LPBYTE)pGlobalData->bSoundOnActivation, + sizeof(BOOL)); + + RegCloseKey(hKey); +} +
/* Property page dialog callback */ INT_PTR CALLBACK @@ -20,27 +160,84 @@ WPARAM wParam, LPARAM lParam) { - UNREFERENCED_PARAMETER(lParam); - UNREFERENCED_PARAMETER(hwndDlg); + PGLOBAL_DATA pGlobalData; + LPPSHNOTIFY lppsn; + + pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
switch (uMsg) { case WM_INITDIALOG: - break; + pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA)); + if (pGlobalData == NULL) + return FALSE; + + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData); + + ReadGlobalData(pGlobalData); + + /* Set access timeout info */ + CheckDlgButton(hwndDlg, + IDC_RESET_BOX, + pGlobalData->accessTimeout.dwFlags & ATF_TIMEOUTON ? BST_CHECKED : BST_UNCHECKED); + FillResetComboBox(GetDlgItem(hwndDlg, IDC_RESET_COMBO)); + SendDlgItemMessage(hwndDlg, IDC_RESET_COMBO, CB_SETCURSEL, + (pGlobalData->accessTimeout.iTimeOutMSec / 300000) - 1, 0); + EnableWindow(GetDlgItem(hwndDlg, IDC_RESET_COMBO), + pGlobalData->accessTimeout.dwFlags & ATF_TIMEOUTON ? TRUE : FALSE); + + CheckDlgButton(hwndDlg, + IDC_NOTIFICATION_MESSAGE, + pGlobalData->bWarningSounds ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hwndDlg, + IDC_NOTIFICATION_SOUND, + pGlobalData->bSoundOnActivation ? BST_CHECKED : BST_UNCHECKED); + + /* Set serial keys info */ + CheckDlgButton(hwndDlg, + IDC_SERIAL_BOX, + pGlobalData->serialKeys.dwFlags & SERKF_SERIALKEYSON ? BST_CHECKED : BST_UNCHECKED); + EnableWindow(GetDlgItem(hwndDlg, IDC_SERIAL_BOX), + pGlobalData->serialKeys.dwFlags & SERKF_AVAILABLE ? TRUE : FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_SERIAL_BUTTON), + pGlobalData->serialKeys.dwFlags & SERKF_AVAILABLE ? TRUE : FALSE); + + return TRUE;
case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_RESET_BOX: + pGlobalData->accessTimeout.dwFlags ^= ATF_TIMEOUTON; + EnableWindow(GetDlgItem(hwndDlg, IDC_RESET_COMBO), + pGlobalData->accessTimeout.dwFlags & ATF_TIMEOUTON ? TRUE : FALSE); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + break; + + case IDC_RESET_COMBO: + if (HIWORD(wParam) == CBN_CLOSEUP) + { + INT nSel; + nSel = SendDlgItemMessage(hwndDlg, IDC_RESET_COMBO, CB_GETCURSEL, 0, 0); + pGlobalData->accessTimeout.iTimeOutMSec = (ULONG)((nSel + 1) * 300000); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + } break;
case IDC_NOTIFICATION_MESSAGE: + pGlobalData->bWarningSounds = !pGlobalData->bWarningSounds; + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); break;
case IDC_NOTIFICATION_SOUND: + pGlobalData->bSoundOnActivation = !pGlobalData->bSoundOnActivation; + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); break;
case IDC_SERIAL_BOX: + pGlobalData->serialKeys.dwFlags ^= SERKF_SERIALKEYSON; + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); break;
case IDC_SERIAL_BUTTON: @@ -56,7 +253,19 @@ break; } break; - } + + case WM_NOTIFY: + lppsn = (LPPSHNOTIFY)lParam; + if (lppsn->hdr.code == PSN_APPLY) + { + WriteGlobalData(pGlobalData); + return TRUE; + } + break; + + case WM_DESTROY: + HeapFree(GetProcessHeap(), 0, pGlobalData); + break; }
return FALSE; }
Modified: trunk/reactos/dll/cpl/access/lang/cs-CZ.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/cs-CZ.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/cs-CZ.rc (original) +++ trunk/reactos/dll/cpl/access/lang/cs-CZ.rc Mon Aug 13 01:19:52 2007 @@ -72,7 +72,7 @@ GROUPBOX "Automatické vypnutí",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "Vypnout &funkce usnadnìní po neèinnosti delí ne:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Upozornìní",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -158,6 +158,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Monosti usnadnìní"
Modified: trunk/reactos/dll/cpl/access/lang/de-DE.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/de-DE.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/de-DE.rc (original) +++ trunk/reactos/dll/cpl/access/lang/de-DE.rc Mon Aug 13 01:19:52 2007 @@ -75,7 +75,7 @@ AUTOCHECKBOX "Ei&ngabehilfen automatisch deaktivieren nach:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 LTEXT "&Minuten",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1) COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP
GROUPBOX "Benachrichtigung",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "Warnsignal ausgeben, wenn eine Funktion eingeschaltet wird",IDC_NOTIFICATION_MESSAGE,PROPSHEETPADDING(2),LABELLINE(8)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE+15,14 @@ -160,6 +160,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Bedienbarkeit"
Modified: trunk/reactos/dll/cpl/access/lang/en-US.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/en-US.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/en-US.rc (original) +++ trunk/reactos/dll/cpl/access/lang/en-US.rc Mon Aug 13 01:19:52 2007 @@ -71,7 +71,7 @@ GROUPBOX "Automatic Reset",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Turn off accessibility features after idle for:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Notification",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -157,6 +157,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Accessibility"
Modified: trunk/reactos/dll/cpl/access/lang/es-ES.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/es-ES.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/es-ES.rc (original) +++ trunk/reactos/dll/cpl/access/lang/es-ES.rc Mon Aug 13 01:19:52 2007 @@ -75,7 +75,7 @@ GROUPBOX "Automatic Reset",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "Apagar las opciones de accesibilidad despues de estar inactivo por:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Notificación",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -161,6 +161,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Accessibilidad"
Modified: trunk/reactos/dll/cpl/access/lang/fr-FR.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/fr-FR.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/fr-FR.rc (original) +++ trunk/reactos/dll/cpl/access/lang/fr-FR.rc Mon Aug 13 01:19:52 2007 @@ -73,7 +73,7 @@ GROUPBOX "Réinitialisation automatique",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Désactiver les fonctionnalités d'accessibilité après un délai d'inactivité de :",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Avertissement",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -159,6 +159,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Accessibilité"
Modified: trunk/reactos/dll/cpl/access/lang/hu-HU.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/hu-HU.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/hu-HU.rc (original) +++ trunk/reactos/dll/cpl/access/lang/hu-HU.rc Mon Aug 13 01:19:52 2007 @@ -73,7 +73,7 @@ GROUPBOX "Automatikus visszaállítás",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Kapcsolja ki a kisegítõ lehetõségeket egy bizonyos idejû tétlenség után:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(4)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "&Figyelmeztetés",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -159,6 +159,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Kisegítõ lehetõségek"
Modified: trunk/reactos/dll/cpl/access/lang/id-ID.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/id-ID.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/id-ID.rc (original) +++ trunk/reactos/dll/cpl/access/lang/id-ID.rc Mon Aug 13 01:19:52 2007 @@ -74,7 +74,7 @@ GROUPBOX "Otomatis Reset",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Matikan fitur aksesibilitas setelah diam selama:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Pemberitahuan",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -160,6 +160,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Aksesibilitas"
Modified: trunk/reactos/dll/cpl/access/lang/it-IT.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/it-IT.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/it-IT.rc (original) +++ trunk/reactos/dll/cpl/access/lang/it-IT.rc Mon Aug 13 01:19:52 2007 @@ -72,7 +72,7 @@ GROUPBOX "Reset Automatico",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Disattiva le funzioni di accessibilità se fermo per:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Notifiche",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -158,6 +158,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Accessibility"
Modified: trunk/reactos/dll/cpl/access/lang/ja-JP.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/ja-JP.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/ja-JP.rc (original) +++ trunk/reactos/dll/cpl/access/lang/ja-JP.rc Mon Aug 13 01:19:52 2007 @@ -72,7 +72,7 @@ GROUPBOX "©®Zbg",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "[U[âð³øÉ·éÜÅÌÒ¿Ô(&T):",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Êm",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -158,6 +158,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "[U[â"
Modified: trunk/reactos/dll/cpl/access/lang/nl-NL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/nl-NL.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/nl-NL.rc (original) +++ trunk/reactos/dll/cpl/access/lang/nl-NL.rc Mon Aug 13 01:19:52 2007 @@ -74,7 +74,7 @@ GROUPBOX "Beginwaarden automatisch instellen",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "T&oegankelijkheidsfuncties uitschakelen wanneer deze niet gebruikte worden gedurende:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minutes",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Melding",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -160,6 +160,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Toegankelijkheidsopties"
Modified: trunk/reactos/dll/cpl/access/lang/pl-PL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/pl-PL.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/pl-PL.rc (original) +++ trunk/reactos/dll/cpl/access/lang/pl-PL.rc Mon Aug 13 01:19:52 2007 @@ -75,7 +75,7 @@ GROUPBOX "Automatyczny reset",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Wy³¹cz funkcje u³atwiaj¹ce dostêp kiedy komputer nie jest u¿ywany przez:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Minut",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Powiadomienia",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -161,6 +161,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "U³atwienia dostêpu"
Modified: trunk/reactos/dll/cpl/access/lang/ru-RU.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/lang/ru-RU.r... ============================================================================== --- trunk/reactos/dll/cpl/access/lang/ru-RU.rc (original) +++ trunk/reactos/dll/cpl/access/lang/ru-RU.rc Mon Aug 13 01:19:52 2007 @@ -72,7 +72,7 @@ GROUPBOX "Àâòîìàòè÷åñêèé ñáðîñ",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) AUTOCHECKBOX "&Îòêëþ÷àòü ïðè ïðîñòîå â òå÷åíèå:",IDC_RESET_BOX,PROPSHEETPADDING(2),LABELLINE(2)-2,PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,14 COMBOBOX IDC_RESET_COMBO, PROPSHEETPADDING(4), LABELLINE(4), PROPSHEETPADDING(6), LABELLINE(5), - CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP + CBS_DROPDOWNLIST | WS_VSCROLL | WS_VISIBLE | WS_TABSTOP LTEXT "Ìèíóòû",-1,PROPSHEETPADDING(10)+2, LABELLINE(4)+2, PROPSHEETPADDING(16), LABELLINE(1)
GROUPBOX "Óâåäîìëåíèå",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5) @@ -158,6 +158,18 @@ END
+IDD_MOUSEKEYSOPTIONS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Mouse Keys Settings" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "TBD",-1,PROPSHEETPADDING(4)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-PROPSHEETPADDING(6)-ICONSIZE,LABELLINE(3) + + PUSHBUTTON "OK", IDOK, PROPSHEETWIDTH-111, PROPSHEETHEIGHT-21, 50, 14 + PUSHBUTTON "Cancel", IDCANCEL, PROPSHEETWIDTH-57, PROPSHEETHEIGHT-21, 50, 14 +END + + STRINGTABLE BEGIN IDS_CPLSYSTEMNAME "Ñïåöèàëüíûå âîçìîæíîñòè"
Modified: trunk/reactos/dll/cpl/access/mouse.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/mouse.c?rev=... ============================================================================== --- trunk/reactos/dll/cpl/access/mouse.c (original) +++ trunk/reactos/dll/cpl/access/mouse.c Mon Aug 13 01:19:52 2007 @@ -2,7 +2,7 @@ * * PROJECT: ReactOS System Control Panel * LICENSE: GPL - See COPYING in the top level directory - * FILE: lib/cpl/system/advanced.c + * FILE: dll/cpl/access/mouse.c * PURPOSE: Memory, start-up and profiles settings * COPYRIGHT: Copyright 2004 Johannes Anderwald (j_anderw@sbox.tugraz.at) * UPDATE HISTORY: @@ -10,30 +10,45 @@ */ #include <windows.h> #include <stdlib.h> +#include <commctrl.h> +#include <prsht.h> +#include <tchar.h> #include "resource.h" #include "access.h"
-/* Property page dialog callback */ +typedef struct _GLOBAL_DATA +{ + MOUSEKEYS mouseKeys; +} GLOBAL_DATA, *PGLOBAL_DATA; + + INT_PTR CALLBACK -MousePageProc(HWND hwndDlg, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) +MouseKeysDlgProc(HWND hwndDlg, + UINT uMsg, + WPARAM wParam, + LPARAM lParam) { - UNREFERENCED_PARAMETER(lParam); - UNREFERENCED_PARAMETER(hwndDlg); + PGLOBAL_DATA pGlobalData; + + pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
switch (uMsg) { case WM_INITDIALOG: + pGlobalData = (PGLOBAL_DATA)lParam; + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData); + break; + case WM_COMMAND: switch (LOWORD(wParam)) { - case IDC_MOUSE_BOX: + case IDOK: + EndDialog(hwndDlg, TRUE); break;
- case IDC_MOUSE_BUTTON: + case IDCANCEL: + EndDialog(hwndDlg, FALSE); break;
default: @@ -44,3 +59,81 @@
return FALSE; } + + +/* Property page dialog callback */ +INT_PTR CALLBACK +MousePageProc(HWND hwndDlg, + UINT uMsg, + WPARAM wParam, + LPARAM lParam) +{ + PGLOBAL_DATA pGlobalData; + LPPSHNOTIFY lppsn; + + pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER); + + switch (uMsg) + { + case WM_INITDIALOG: + pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA)); + if (pGlobalData == NULL) + return FALSE; + + SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData); + + /* Get mouse keys information */ + pGlobalData->mouseKeys.cbSize = sizeof(MOUSEKEYS); + SystemParametersInfo(SPI_GETMOUSEKEYS, + sizeof(MOUSEKEYS), + &pGlobalData->mouseKeys, + 0); + + /* Set the checkbox */ + CheckDlgButton(hwndDlg, + IDC_MOUSE_BOX, + pGlobalData->mouseKeys.dwFlags & MKF_MOUSEKEYSON ? BST_CHECKED : BST_UNCHECKED); + return TRUE; + + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_MOUSE_BOX: + pGlobalData->mouseKeys.dwFlags ^= MKF_MOUSEKEYSON; + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + break; + + case IDC_MOUSE_BUTTON: + if (DialogBoxParam(hApplet, + MAKEINTRESOURCE(IDD_MOUSEKEYSOPTIONS), + hwndDlg, + (DLGPROC)MouseKeysDlgProc, + (LPARAM)pGlobalData)) + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + break; + + default: + break; + } + break; + + case WM_NOTIFY: + lppsn = (LPPSHNOTIFY)lParam; + if (lppsn->hdr.code == PSN_APPLY) + { + SystemParametersInfo(SPI_SETMOUSEKEYS, + sizeof(MOUSEKEYS), + &pGlobalData->mouseKeys, + SPIF_UPDATEINIFILE | SPIF_SENDCHANGE /*0*/); + return TRUE; + } + break; + + case WM_DESTROY: + HeapFree(GetProcessHeap(), 0, pGlobalData); + break; + } + + return FALSE; +}
Modified: trunk/reactos/dll/cpl/access/resource.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/access/resource.h?r... ============================================================================== --- trunk/reactos/dll/cpl/access/resource.h (original) +++ trunk/reactos/dll/cpl/access/resource.h Mon Aug 13 01:19:52 2007 @@ -25,6 +25,7 @@ #define IDD_TOGGLEKEYSOPTIONS 107
#define IDD_CONTRASTOPTIONS 108 +#define IDD_MOUSEKEYSOPTIONS 109
#define IDS_CPLSYSTEMNAME 1001 #define IDS_CPLSYSTEMDESCRIPTION 2001