Merge all settings in a single struct. This is required to implement the administrati...
authorEric Kohl <eric.kohl@reactos.org>
Mon, 17 Sep 2007 22:29:35 +0000 (22:29 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Mon, 17 Sep 2007 22:29:35 +0000 (22:29 +0000)
svn path=/trunk/; revision=29088

reactos/dll/cpl/access/access.c
reactos/dll/cpl/access/access.h
reactos/dll/cpl/access/display.c
reactos/dll/cpl/access/general.c
reactos/dll/cpl/access/keyboard.c
reactos/dll/cpl/access/mouse.c
reactos/dll/cpl/access/sound.c

index b2d4132..d1c885c 100644 (file)
@@ -26,8 +26,9 @@ APPLET Applets[NUM_APPLETS] =
     {IDI_CPLACCESS, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet}
 };
 
     {IDI_CPLACCESS, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet}
 };
 
+
 static VOID
 static VOID
-InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
+InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc, PGLOBAL_DATA pGlobalData)
 {
     ZeroMemory(psp, sizeof(PROPSHEETPAGE));
     psp->dwSize = sizeof(PROPSHEETPAGE);
 {
     ZeroMemory(psp, sizeof(PROPSHEETPAGE));
     psp->dwSize = sizeof(PROPSHEETPAGE);
@@ -35,6 +36,7 @@ InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
     psp->hInstance = hApplet;
     psp->pszTemplate = MAKEINTRESOURCE(idDlg);
     psp->pfnDlgProc = DlgProc;
     psp->hInstance = hApplet;
     psp->pszTemplate = MAKEINTRESOURCE(idDlg);
     psp->pfnDlgProc = DlgProc;
+    psp->lParam = (LPARAM)pGlobalData;
 }
 
 
 }
 
 
@@ -43,12 +45,18 @@ InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
 LONG CALLBACK
 SystemApplet(VOID)
 {
 LONG CALLBACK
 SystemApplet(VOID)
 {
+    PGLOBAL_DATA pGlobalData;
     PROPSHEETPAGE psp[5];
     PROPSHEETHEADER psh;
     TCHAR Caption[1024];
     PROPSHEETPAGE psp[5];
     PROPSHEETHEADER psh;
     TCHAR Caption[1024];
+    INT ret;
 
     LoadString(hApplet, IDS_CPLSYSTEMNAME, Caption, sizeof(Caption) / sizeof(TCHAR));
 
 
     LoadString(hApplet, IDS_CPLSYSTEMNAME, Caption, sizeof(Caption) / sizeof(TCHAR));
 
+    pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
+    if (pGlobalData == NULL)
+        return 0;
+
     ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
     psh.dwSize = sizeof(PROPSHEETHEADER);
     psh.dwFlags =  PSH_PROPSHEETPAGE;
     ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
     psh.dwSize = sizeof(PROPSHEETHEADER);
     psh.dwFlags =  PSH_PROPSHEETPAGE;
@@ -60,13 +68,17 @@ SystemApplet(VOID)
     psh.nStartPage = 0;
     psh.ppsp = psp;
 
     psh.nStartPage = 0;
     psh.ppsp = psp;
 
-    InitPropSheetPage(&psp[0], IDD_PROPPAGEKEYBOARD, (DLGPROC)KeyboardPageProc);
-    InitPropSheetPage(&psp[1], IDD_PROPPAGESOUND, (DLGPROC)SoundPageProc);
-    InitPropSheetPage(&psp[2], IDD_PROPPAGEDISPLAY, (DLGPROC)DisplayPageProc);
-    InitPropSheetPage(&psp[3], IDD_PROPPAGEMOUSE, (DLGPROC)MousePageProc);
-    InitPropSheetPage(&psp[4], IDD_PROPPAGEGENERAL, (DLGPROC)GeneralPageProc);
+    InitPropSheetPage(&psp[0], IDD_PROPPAGEKEYBOARD, (DLGPROC)KeyboardPageProc, pGlobalData);
+    InitPropSheetPage(&psp[1], IDD_PROPPAGESOUND, (DLGPROC)SoundPageProc, pGlobalData);
+    InitPropSheetPage(&psp[2], IDD_PROPPAGEDISPLAY, (DLGPROC)DisplayPageProc, pGlobalData);
+    InitPropSheetPage(&psp[3], IDD_PROPPAGEMOUSE, (DLGPROC)MousePageProc, pGlobalData);
+    InitPropSheetPage(&psp[4], IDD_PROPPAGEGENERAL, (DLGPROC)GeneralPageProc, pGlobalData);
+
+    ret = PropertySheet(&psh);
+
+    HeapFree(GetProcessHeap(), 0, pGlobalData);
 
 
-    return (LONG)(PropertySheet(&psh) != -1);
+    return (LONG)(ret != -1);
 }
 
 /* Control Panel Callback */
 }
 
 /* Control Panel Callback */
index fe4ec71..954b094 100644 (file)
@@ -11,6 +11,44 @@ typedef struct _APPLET
     APPLET_INITPROC AppletProc;
 } APPLET, *PAPPLET;
 
     APPLET_INITPROC AppletProc;
 } APPLET, *PAPPLET;
 
+
+typedef struct _GLOBAL_DATA
+{
+    /* keyboard page */
+    STICKYKEYS stickyKeys;
+    STICKYKEYS oldStickyKeys;
+    FILTERKEYS filterKeys;
+    FILTERKEYS oldFilterKeys;
+    TOGGLEKEYS toggleKeys;
+    TOGGLEKEYS oldToggleKeys;
+    BOOL bKeyboardPref;
+
+    /* sound page */
+    SOUNDSENTRY ssSoundSentry;
+    BOOL bShowSounds;
+
+    /* display page */
+    HIGHCONTRAST highContrast;
+    UINT uCaretBlinkTime;
+    UINT uCaretWidth;
+    BOOL fShowCaret;
+    RECT rcCaret;
+    RECT rcOldCaret;
+
+    /* mouse page */
+    MOUSEKEYS mouseKeys;
+
+    /* general page */
+    ACCESSTIMEOUT accessTimeout;
+    SERIALKEYS serialKeys;
+    TCHAR szActivePort[MAX_PATH];
+    TCHAR szPort[MAX_PATH];
+    BOOL bWarningSounds;
+    BOOL bSoundOnActivation;
+
+} GLOBAL_DATA, *PGLOBAL_DATA;
+
+
 extern HINSTANCE hApplet;
 
 void ShowLastWin32Error(HWND hWndOwner);
 extern HINSTANCE hApplet;
 
 void ShowLastWin32Error(HWND hWndOwner);
index 841c88c..ed79e9c 100644 (file)
 #include "resource.h"
 #include "access.h"
 
 #include "resource.h"
 #include "access.h"
 
-typedef struct _GLOBAL_DATA
-{
-    HIGHCONTRAST highContrast;
-    UINT uCaretBlinkTime;
-    UINT uCaretWidth;
-    BOOL fShowCaret;
-    RECT rcCaret;
-    RECT rcOldCaret;
-} GLOBAL_DATA, *PGLOBAL_DATA;
 
 #define ID_BLINK_TIMER 346
 
 
 #define ID_BLINK_TIMER 346
 
@@ -154,7 +145,7 @@ DisplayPageProc(HWND hwndDlg,
     switch (uMsg)
     {
         case WM_INITDIALOG:
     switch (uMsg)
     {
         case WM_INITDIALOG:
-            pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
+            pGlobalData = (PGLOBAL_DATA)((LPPROPSHEETPAGE)lParam)->lParam;
             if (pGlobalData == NULL)
                 return FALSE;
 
             if (pGlobalData == NULL)
                 return FALSE;
 
@@ -290,7 +281,6 @@ DisplayPageProc(HWND hwndDlg,
 
         case WM_DESTROY:
             KillTimer(hwndDlg, ID_BLINK_TIMER);
 
         case WM_DESTROY:
             KillTimer(hwndDlg, ID_BLINK_TIMER);
-            HeapFree(GetProcessHeap(), 0, pGlobalData);
             break;
     }
 
             break;
     }
 
index cb6be88..759ce96 100644 (file)
 #include "access.h"
 
 
 #include "access.h"
 
 
-typedef struct _GLOBAL_DATA
-{
-    ACCESSTIMEOUT accessTimeout;
-    SERIALKEYS serialKeys;
-    TCHAR szActivePort[MAX_PATH];
-    TCHAR szPort[MAX_PATH];
-    BOOL bWarningSounds;
-    BOOL bSoundOnActivation;
-} GLOBAL_DATA, *PGLOBAL_DATA;
-
-
 #define BAUDTICKS 6
 static INT nBaudArray[BAUDTICKS] = {300, 1200, 2400, 4800, 9600, 19200};
 
 #define BAUDTICKS 6
 static INT nBaudArray[BAUDTICKS] = {300, 1200, 2400, 4800, 9600, 19200};
 
@@ -267,7 +256,7 @@ GeneralPageProc(HWND hwndDlg,
     switch (uMsg)
     {
         case WM_INITDIALOG:
     switch (uMsg)
     {
         case WM_INITDIALOG:
-            pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
+            pGlobalData = (PGLOBAL_DATA)((LPPROPSHEETPAGE)lParam)->lParam;
             if (pGlobalData == NULL)
                 return FALSE;
 
             if (pGlobalData == NULL)
                 return FALSE;
 
@@ -367,10 +356,7 @@ GeneralPageProc(HWND hwndDlg,
                 return TRUE;
             }
             break;
                 return TRUE;
             }
             break;
-
-        case WM_DESTROY:
-            HeapFree(GetProcessHeap(), 0, pGlobalData);
-            break;    }
+    }
 
     return FALSE;
 }
 
     return FALSE;
 }
index ca5beaf..1cf4249 100644 (file)
 #include "resource.h"
 #include "access.h"
 
 #include "resource.h"
 #include "access.h"
 
-typedef struct _GLOBAL_DATA
-{
-    STICKYKEYS stickyKeys;
-    STICKYKEYS oldStickyKeys;
-    FILTERKEYS filterKeys;
-    FILTERKEYS oldFilterKeys;
-    TOGGLEKEYS toggleKeys;
-    TOGGLEKEYS oldToggleKeys;
-    BOOL bKeyboardPref;
-} GLOBAL_DATA, *PGLOBAL_DATA;
-
 
 #define BOUNCETICKS 5
 static INT nBounceArray[BOUNCETICKS] = {500, 700, 1000, 1500, 2000};
 
 #define BOUNCETICKS 5
 static INT nBounceArray[BOUNCETICKS] = {500, 700, 1000, 1500, 2000};
@@ -666,7 +655,7 @@ KeyboardPageProc(HWND hwndDlg,
     switch (uMsg)
     {
         case WM_INITDIALOG:
     switch (uMsg)
     {
         case WM_INITDIALOG:
-            pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
+            pGlobalData = (PGLOBAL_DATA)((LPPROPSHEETPAGE)lParam)->lParam;
             if (pGlobalData == NULL)
                 return FALSE;
 
             if (pGlobalData == NULL)
                 return FALSE;
 
@@ -756,10 +745,6 @@ KeyboardPageProc(HWND hwndDlg,
                 return TRUE;
             }
             break;
                 return TRUE;
             }
             break;
-
-        case WM_DESTROY:
-            HeapFree(GetProcessHeap(), 0, pGlobalData);
-            break;
     }
 
     return FALSE;
     }
 
     return FALSE;
index 1d09991..5dc5e6b 100644 (file)
 #include "resource.h"
 #include "access.h"
 
 #include "resource.h"
 #include "access.h"
 
-typedef struct _GLOBAL_DATA
-{
-    MOUSEKEYS mouseKeys;
-} GLOBAL_DATA, *PGLOBAL_DATA;
-
 
 #define SPEEDTICKS 9
 #define ACCELTICKS 9
 
 #define SPEEDTICKS 9
 #define ACCELTICKS 9
@@ -165,7 +160,7 @@ MousePageProc(HWND hwndDlg,
     switch (uMsg)
     {
         case WM_INITDIALOG:
     switch (uMsg)
     {
         case WM_INITDIALOG:
-            pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA));
+            pGlobalData = (PGLOBAL_DATA)((LPPROPSHEETPAGE)lParam)->lParam;
             if (pGlobalData == NULL)
                 return FALSE;
 
             if (pGlobalData == NULL)
                 return FALSE;
 
@@ -218,10 +213,6 @@ MousePageProc(HWND hwndDlg,
                 return TRUE;
             }
             break;
                 return TRUE;
             }
             break;
-
-        case WM_DESTROY:
-            HeapFree(GetProcessHeap(), 0, pGlobalData);
-            break;
     }
 
     return FALSE;
     }
 
     return FALSE;
index 276db9e..98d6092 100644 (file)
 #include "access.h"
 
 
 #include "access.h"
 
 
-typedef struct _SOUNDDATA
-{
-    SOUNDSENTRY ssSoundSentry;
-    BOOL bShowSounds;
-} SOUNDDATA, *PSOUNDDATA;
-
-
 static VOID
 static VOID
-OnInitDialog(HWND hwndDlg, PSOUNDDATA pSoundData)
+OnInitDialog(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
 {
     TCHAR szBuffer[256];
     UINT i;
 
 {
     TCHAR szBuffer[256];
     UINT i;
 
-    pSoundData->ssSoundSentry.cbSize = sizeof(SOUNDSENTRY);
+    pGlobalData->ssSoundSentry.cbSize = sizeof(SOUNDSENTRY);
     SystemParametersInfo(SPI_GETSOUNDSENTRY,
                          sizeof(SOUNDSENTRY),
     SystemParametersInfo(SPI_GETSOUNDSENTRY,
                          sizeof(SOUNDSENTRY),
-                         &pSoundData->ssSoundSentry,
+                         &pGlobalData->ssSoundSentry,
                          0);
 
     SystemParametersInfo(SPI_GETSHOWSOUNDS,
                          0,
                          0);
 
     SystemParametersInfo(SPI_GETSHOWSOUNDS,
                          0,
-                         &pSoundData->bShowSounds,
+                         &pGlobalData->bShowSounds,
                          0);
 
     /* Add strings to the combo-box */
                          0);
 
     /* Add strings to the combo-box */
@@ -48,10 +41,10 @@ OnInitDialog(HWND hwndDlg, PSOUNDDATA pSoundData)
     }
 
     /* Select a combo-box item */
     }
 
     /* Select a combo-box item */
-    SendDlgItemMessage(hwndDlg, IDC_SENTRY_COMBO, CB_SETCURSEL, pSoundData->ssSoundSentry.iWindowsEffect, 0);
+    SendDlgItemMessage(hwndDlg, IDC_SENTRY_COMBO, CB_SETCURSEL, pGlobalData->ssSoundSentry.iWindowsEffect, 0);
 
     /* Initialize SoundSentry settings */
 
     /* Initialize SoundSentry settings */
-    if (!(pSoundData->ssSoundSentry.dwFlags & SSF_AVAILABLE))
+    if (!(pGlobalData->ssSoundSentry.dwFlags & SSF_AVAILABLE))
     {
         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_BOX), FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), FALSE);
     {
         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_BOX), FALSE);
         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), FALSE);
@@ -59,7 +52,7 @@ OnInitDialog(HWND hwndDlg, PSOUNDDATA pSoundData)
     }
     else
     {
     }
     else
     {
-        if (pSoundData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)
+        if (pGlobalData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)
         {
             CheckDlgButton(hwndDlg, IDC_SENTRY_BOX, BST_CHECKED);
         }
         {
             CheckDlgButton(hwndDlg, IDC_SENTRY_BOX, BST_CHECKED);
         }
@@ -71,7 +64,7 @@ OnInitDialog(HWND hwndDlg, PSOUNDDATA pSoundData)
     }
 
     /* Initialize ShowSounds settings */
     }
 
     /* Initialize ShowSounds settings */
-    if (pSoundData->bShowSounds)
+    if (pGlobalData->bShowSounds)
         CheckDlgButton(hwndDlg, IDC_SSHOW_BOX, BST_CHECKED);
 }
 
         CheckDlgButton(hwndDlg, IDC_SSHOW_BOX, BST_CHECKED);
 }
 
@@ -83,40 +76,41 @@ SoundPageProc(HWND hwndDlg,
               WPARAM wParam,
               LPARAM lParam)
 {
               WPARAM wParam,
               LPARAM lParam)
 {
-    PSOUNDDATA pSoundData;
+    PGLOBAL_DATA pGlobalData;
 
 
-    pSoundData = (PSOUNDDATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
+    pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
 
     switch (uMsg)
     {
         case WM_INITDIALOG:
 
     switch (uMsg)
     {
         case WM_INITDIALOG:
-            pSoundData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SOUNDDATA));
-            SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pSoundData);
+            pGlobalData = (PGLOBAL_DATA)((LPPROPSHEETPAGE)lParam)->lParam;
 
 
-            OnInitDialog(hwndDlg, pSoundData);
+            SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
+
+            OnInitDialog(hwndDlg, pGlobalData);
             break;
 
         case WM_COMMAND:
             switch (LOWORD(wParam))
             {
                 case IDC_SENTRY_BOX:
             break;
 
         case WM_COMMAND:
             switch (LOWORD(wParam))
             {
                 case IDC_SENTRY_BOX:
-                    pSoundData->ssSoundSentry.dwFlags ^= SSF_SOUNDSENTRYON;
-                    EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), (pSoundData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)?TRUE:FALSE);
-                    EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_COMBO), (pSoundData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)?TRUE:FALSE);
+                    pGlobalData->ssSoundSentry.dwFlags ^= SSF_SOUNDSENTRYON;
+                    EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), (pGlobalData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)?TRUE:FALSE);
+                    EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_COMBO), (pGlobalData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)?TRUE:FALSE);
                     PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                     break;
 
                 case IDC_SENTRY_COMBO:
                     if (HIWORD(wParam) == CBN_SELENDOK)
                     {
                     PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                     break;
 
                 case IDC_SENTRY_COMBO:
                     if (HIWORD(wParam) == CBN_SELENDOK)
                     {
-                        pSoundData->ssSoundSentry.iWindowsEffect =
+                        pGlobalData->ssSoundSentry.iWindowsEffect =
                             (DWORD)SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
                         PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                     }
                     break;
 
                 case IDC_SSHOW_BOX:
                             (DWORD)SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
                         PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                     }
                     break;
 
                 case IDC_SSHOW_BOX:
-                    pSoundData->bShowSounds = !pSoundData->bShowSounds;
+                    pGlobalData->bShowSounds = !pGlobalData->bShowSounds;
                     PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                     break;
 
                     PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
                     break;
 
@@ -131,10 +125,10 @@ SoundPageProc(HWND hwndDlg,
                 case PSN_APPLY:
                     SystemParametersInfo(SPI_SETSOUNDSENTRY,
                                          sizeof(SOUNDSENTRY),
                 case PSN_APPLY:
                     SystemParametersInfo(SPI_SETSOUNDSENTRY,
                                          sizeof(SOUNDSENTRY),
-                                         &pSoundData->ssSoundSentry,
+                                         &pGlobalData->ssSoundSentry,
                                          SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
                     SystemParametersInfo(SPI_SETSHOWSOUNDS,
                                          SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
                     SystemParametersInfo(SPI_SETSHOWSOUNDS,
-                                         pSoundData->bShowSounds,
+                                         pGlobalData->bShowSounds,
                                          0,
                                          SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
                     return TRUE;
                                          0,
                                          SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
                     return TRUE;
@@ -143,10 +137,6 @@ SoundPageProc(HWND hwndDlg,
                     break;
             }
             break;
                     break;
             }
             break;
-
-        case WM_DESTROY:
-            HeapFree(GetProcessHeap(), 0, pSoundData);
-            break;
     }
 
     return FALSE;
     }
 
     return FALSE;