Add some mouse keys settings and general settings.

svn path=/trunk/; revision=28306
This commit is contained in:
Eric Kohl 2007-08-12 21:19:52 +00:00
parent 939a564d17
commit 9072c8ce96
15 changed files with 475 additions and 28 deletions

View file

@ -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,9 +10,149 @@
*/
#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
GeneralPageProc(HWND hwndDlg,
@ -20,27 +160,84 @@ GeneralPageProc(HWND hwndDlg,
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 @@ GeneralPageProc(HWND hwndDlg,
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;
}

View file

@ -72,7 +72,7 @@ BEGIN
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 @@ BEGIN
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 "Možnosti usnadnìní"

View file

@ -75,7 +75,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -71,7 +71,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -75,7 +75,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -73,7 +73,7 @@ BEGIN
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 @@ BEGIN
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é"

View file

@ -73,7 +73,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -74,7 +74,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -72,7 +72,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -72,7 +72,7 @@ BEGIN
GROUPBOX "自動リセット",-1,PROPSHEETPADDING(1),LABELLINE(1),PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5)
AUTOCHECKBOX "ユーザー補助を無効にするまでの待ち時間(&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 "通知",-1,PROPSHEETPADDING(1),LABELLINE(7)-2,PROPSHEETWIDTH-PROPSHEETPADDING(2),LABELLINE(5)
@ -158,6 +158,18 @@ BEGIN
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 "ユーザー補助"

View file

@ -74,7 +74,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -75,7 +75,7 @@ BEGIN
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 @@ BEGIN
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"

View file

@ -72,7 +72,7 @@ BEGIN
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 @@ BEGIN
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 "Ñïåöèàëüíûå âîçìîæíîñòè"

View file

@ -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 */
INT_PTR CALLBACK
MousePageProc(HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
typedef struct _GLOBAL_DATA
{
UNREFERENCED_PARAMETER(lParam);
UNREFERENCED_PARAMETER(hwndDlg);
MOUSEKEYS mouseKeys;
} GLOBAL_DATA, *PGLOBAL_DATA;
INT_PTR CALLBACK
MouseKeysDlgProc(HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
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 @@ MousePageProc(HWND hwndDlg,
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;
}

View file

@ -25,6 +25,7 @@
#define IDD_TOGGLEKEYSOPTIONS 107
#define IDD_CONTRASTOPTIONS 108
#define IDD_MOUSEKEYSOPTIONS 109
#define IDS_CPLSYSTEMNAME 1001
#define IDS_CPLSYSTEMDESCRIPTION 2001