mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
- Make local functions static.
- Reorder functions to reduce the number of required prototypes. - Use Win32 types instead of generic types (e.g. int -> INT) and add missing VOIDs. - No code changes. svn path=/trunk/; revision=30957
This commit is contained in:
parent
4f987d4817
commit
7646664619
6 changed files with 466 additions and 495 deletions
|
@ -22,66 +22,15 @@
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "powercfg.h"
|
#include "powercfg.h"
|
||||||
|
|
||||||
HWND hAdv=0;
|
HWND hAdv = 0;
|
||||||
|
|
||||||
void Adv_InitDialog();
|
|
||||||
void Adv_SaveData(HWND hwndDlg);
|
|
||||||
|
|
||||||
static POWER_ACTION g_SystemBatteries[3];
|
static POWER_ACTION g_SystemBatteries[3];
|
||||||
static POWER_ACTION g_PowerButton[5];
|
static POWER_ACTION g_PowerButton[5];
|
||||||
static POWER_ACTION g_SleepButton[5];
|
static POWER_ACTION g_SleepButton[5];
|
||||||
|
|
||||||
/* Property page dialog callback */
|
|
||||||
INT_PTR CALLBACK
|
|
||||||
advancedProc(
|
|
||||||
HWND hwndDlg,
|
|
||||||
UINT uMsg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam
|
|
||||||
)
|
|
||||||
{
|
|
||||||
switch(uMsg)
|
|
||||||
{
|
|
||||||
case WM_INITDIALOG:
|
|
||||||
hAdv = hwndDlg;
|
|
||||||
Adv_InitDialog();
|
|
||||||
return TRUE;
|
|
||||||
break;
|
|
||||||
case WM_COMMAND:
|
|
||||||
switch(LOWORD(wParam))
|
|
||||||
{
|
|
||||||
case IDC_SYSTRAYBATTERYMETER:
|
|
||||||
case IDC_PASSWORDLOGON:
|
|
||||||
case IDC_VIDEODIMDISPLAY:
|
|
||||||
if (HIWORD(wParam) == BN_CLICKED)
|
|
||||||
{
|
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IDC_LIDCLOSE:
|
|
||||||
case IDC_POWERBUTTON:
|
|
||||||
case IDC_SLEEPBUTTON:
|
|
||||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
|
||||||
{
|
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case WM_NOTIFY:
|
|
||||||
{
|
|
||||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
|
||||||
if (lpnm->code == (UINT)PSN_APPLY)
|
|
||||||
{
|
|
||||||
Adv_SaveData(hwndDlg);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void AddItem(HWND hDlgCtrl, int ResourceId, LPARAM lParam, POWER_ACTION * lpAction)
|
static VOID
|
||||||
|
AddItem(HWND hDlgCtrl, INT ResourceId, LPARAM lParam, POWER_ACTION * lpAction)
|
||||||
{
|
{
|
||||||
TCHAR szBuffer[MAX_PATH];
|
TCHAR szBuffer[MAX_PATH];
|
||||||
LRESULT Index;
|
LRESULT Index;
|
||||||
|
@ -96,11 +45,12 @@ static void AddItem(HWND hDlgCtrl, int ResourceId, LPARAM lParam, POWER_ACTION *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int FindActionIndex(POWER_ACTION * lpAction, DWORD dwActionSize, POWER_ACTION poAction)
|
static INT
|
||||||
|
FindActionIndex(POWER_ACTION * lpAction, DWORD dwActionSize, POWER_ACTION poAction)
|
||||||
{
|
{
|
||||||
int Index;
|
INT Index;
|
||||||
|
|
||||||
for (Index = 0; Index < (int) dwActionSize; Index++)
|
for (Index = 0; Index < (INT)dwActionSize; Index++)
|
||||||
{
|
{
|
||||||
if (lpAction[Index] == poAction)
|
if (lpAction[Index] == poAction)
|
||||||
return Index;
|
return Index;
|
||||||
|
@ -109,7 +59,8 @@ static int FindActionIndex(POWER_ACTION * lpAction, DWORD dwActionSize, POWER_AC
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN IsBatteryUsed()
|
static BOOLEAN
|
||||||
|
IsBatteryUsed(VOID)
|
||||||
{
|
{
|
||||||
SYSTEM_BATTERY_STATE sbs;
|
SYSTEM_BATTERY_STATE sbs;
|
||||||
|
|
||||||
|
@ -128,7 +79,8 @@ static BOOLEAN IsBatteryUsed()
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
POWER_ACTION GetPowerActionFromPolicy(POWER_ACTION_POLICY * Policy)
|
POWER_ACTION
|
||||||
|
GetPowerActionFromPolicy(POWER_ACTION_POLICY *Policy)
|
||||||
{
|
{
|
||||||
POWER_ACTION poAction = PowerActionNone;
|
POWER_ACTION poAction = PowerActionNone;
|
||||||
/*
|
/*
|
||||||
|
@ -171,10 +123,11 @@ POWER_ACTION GetPowerActionFromPolicy(POWER_ACTION_POLICY * Policy)
|
||||||
return poAction;
|
return poAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowCurrentPowerActionPolicy(HWND hDlgCtrl,
|
VOID
|
||||||
POWER_ACTION * lpAction,
|
ShowCurrentPowerActionPolicy(HWND hDlgCtrl,
|
||||||
|
POWER_ACTION *lpAction,
|
||||||
DWORD dwActionSize,
|
DWORD dwActionSize,
|
||||||
POWER_ACTION_POLICY * Policy)
|
POWER_ACTION_POLICY *Policy)
|
||||||
{
|
{
|
||||||
int poActionIndex;
|
int poActionIndex;
|
||||||
POWER_ACTION poAction;
|
POWER_ACTION poAction;
|
||||||
|
@ -190,8 +143,9 @@ void ShowCurrentPowerActionPolicy(HWND hDlgCtrl,
|
||||||
SendMessage(hDlgCtrl, CB_SETCURSEL, (WPARAM)poActionIndex, (LPARAM)0);
|
SendMessage(hDlgCtrl, CB_SETCURSEL, (WPARAM)poActionIndex, (LPARAM)0);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN SaveCurrentPowerActionPolicy(IN HWND hDlgCtrl,
|
BOOLEAN
|
||||||
OUT POWER_ACTION_POLICY * Policy)
|
SaveCurrentPowerActionPolicy(IN HWND hDlgCtrl,
|
||||||
|
OUT POWER_ACTION_POLICY *Policy)
|
||||||
{
|
{
|
||||||
LRESULT Index;
|
LRESULT Index;
|
||||||
LRESULT ItemData;
|
LRESULT ItemData;
|
||||||
|
@ -236,7 +190,8 @@ BOOLEAN SaveCurrentPowerActionPolicy(IN HWND hDlgCtrl,
|
||||||
|
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
void ShowCurrentPowerActionPolicies(HWND hwndDlg)
|
VOID
|
||||||
|
ShowCurrentPowerActionPolicies(HWND hwndDlg)
|
||||||
{
|
{
|
||||||
TCHAR szAction[MAX_PATH];
|
TCHAR szAction[MAX_PATH];
|
||||||
|
|
||||||
|
@ -323,7 +278,8 @@ void ShowCurrentPowerActionPolicies(HWND hwndDlg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Adv_InitDialog()
|
VOID
|
||||||
|
Adv_InitDialog(VOID)
|
||||||
{
|
{
|
||||||
HWND hList1;
|
HWND hList1;
|
||||||
HWND hList2;
|
HWND hList2;
|
||||||
|
@ -445,7 +401,8 @@ void Adv_InitDialog()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Adv_SaveData(HWND hwndDlg)
|
static VOID
|
||||||
|
Adv_SaveData(HWND hwndDlg)
|
||||||
{
|
{
|
||||||
BOOL bSystrayBatteryMeter;
|
BOOL bSystrayBatteryMeter;
|
||||||
BOOL bPasswordLogon;
|
BOOL bPasswordLogon;
|
||||||
|
@ -529,3 +486,51 @@ void Adv_SaveData(HWND hwndDlg)
|
||||||
|
|
||||||
Adv_InitDialog();
|
Adv_InitDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Property page dialog callback */
|
||||||
|
INT_PTR CALLBACK
|
||||||
|
AdvancedDlgProc(HWND hwndDlg,
|
||||||
|
UINT uMsg,
|
||||||
|
WPARAM wParam,
|
||||||
|
LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch(uMsg)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
hAdv = hwndDlg;
|
||||||
|
Adv_InitDialog();
|
||||||
|
return TRUE;
|
||||||
|
break;
|
||||||
|
case WM_COMMAND:
|
||||||
|
switch(LOWORD(wParam))
|
||||||
|
{
|
||||||
|
case IDC_SYSTRAYBATTERYMETER:
|
||||||
|
case IDC_PASSWORDLOGON:
|
||||||
|
case IDC_VIDEODIMDISPLAY:
|
||||||
|
if (HIWORD(wParam) == BN_CLICKED)
|
||||||
|
{
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case IDC_LIDCLOSE:
|
||||||
|
case IDC_POWERBUTTON:
|
||||||
|
case IDC_SLEEPBUTTON:
|
||||||
|
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||||
|
{
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case WM_NOTIFY:
|
||||||
|
{
|
||||||
|
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||||
|
if (lpnm->code == (UINT)PSN_APPLY)
|
||||||
|
{
|
||||||
|
Adv_SaveData(hwndDlg);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
|
@ -20,35 +20,8 @@
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "powercfg.h"
|
#include "powercfg.h"
|
||||||
|
|
||||||
BOOLEAN Ala_InitData(HWND);
|
static BOOLEAN
|
||||||
|
Ala_InitData(HWND hwndDlg)
|
||||||
/* Property page dialog callback */
|
|
||||||
INT_PTR CALLBACK
|
|
||||||
alarmsProc(
|
|
||||||
HWND hwndDlg,
|
|
||||||
UINT uMsg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNREFERENCED_PARAMETER(lParam);
|
|
||||||
UNREFERENCED_PARAMETER(wParam);
|
|
||||||
switch(uMsg)
|
|
||||||
{
|
|
||||||
case WM_INITDIALOG:
|
|
||||||
if (!Ala_InitData(hwndDlg))
|
|
||||||
{
|
|
||||||
//TODO
|
|
||||||
//handle initialization error
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOLEAN Ala_InitData(HWND hwndDlg)
|
|
||||||
{
|
{
|
||||||
TCHAR szAction[MAX_PATH];
|
TCHAR szAction[MAX_PATH];
|
||||||
TCHAR szText[MAX_PATH];
|
TCHAR szText[MAX_PATH];
|
||||||
|
@ -197,3 +170,27 @@ BOOLEAN Ala_InitData(HWND hwndDlg)
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Property page dialog callback */
|
||||||
|
INT_PTR CALLBACK
|
||||||
|
AlarmsDlgProc(HWND hwndDlg,
|
||||||
|
UINT uMsg,
|
||||||
|
WPARAM wParam,
|
||||||
|
LPARAM lParam)
|
||||||
|
{
|
||||||
|
UNREFERENCED_PARAMETER(lParam);
|
||||||
|
UNREFERENCED_PARAMETER(wParam);
|
||||||
|
switch(uMsg)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
if (!Ala_InitData(hwndDlg))
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
//handle initialization error
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
|
@ -26,48 +26,12 @@
|
||||||
#include "powercfg.h"
|
#include "powercfg.h"
|
||||||
|
|
||||||
|
|
||||||
void Hib_InitDialog(HWND);
|
|
||||||
INT_PTR Hib_SaveData(HWND);
|
|
||||||
BOOLEAN Pos_InitData();
|
BOOLEAN Pos_InitData();
|
||||||
void Adv_InitDialog();
|
void Adv_InitDialog();
|
||||||
|
|
||||||
/* Property page dialog callback */
|
|
||||||
INT_PTR CALLBACK
|
|
||||||
hibernateProc(
|
|
||||||
HWND hwndDlg,
|
|
||||||
UINT uMsg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam
|
|
||||||
)
|
|
||||||
{
|
|
||||||
switch(uMsg)
|
|
||||||
{
|
|
||||||
case WM_INITDIALOG:
|
|
||||||
Hib_InitDialog(hwndDlg);
|
|
||||||
return TRUE;
|
|
||||||
case WM_COMMAND:
|
|
||||||
switch(LOWORD(wParam))
|
|
||||||
{
|
|
||||||
case IDC_HIBERNATEFILE:
|
|
||||||
if (HIWORD(wParam) == BN_CLICKED)
|
|
||||||
{
|
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case WM_NOTIFY:
|
|
||||||
{
|
|
||||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
|
||||||
if (lpnm->code == (UINT)PSN_APPLY)
|
|
||||||
{
|
|
||||||
return Hib_SaveData(hwndDlg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Hib_InitDialog(HWND hwndDlg)
|
static VOID
|
||||||
|
Hib_InitDialog(HWND hwndDlg)
|
||||||
{
|
{
|
||||||
SYSTEM_POWER_CAPABILITIES PowerCaps;
|
SYSTEM_POWER_CAPABILITIES PowerCaps;
|
||||||
MEMORYSTATUSEX msex;
|
MEMORYSTATUSEX msex;
|
||||||
|
@ -145,7 +109,8 @@ void Hib_InitDialog(HWND hwndDlg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
INT_PTR Hib_SaveData(HWND hwndDlg)
|
INT_PTR
|
||||||
|
Hib_SaveData(HWND hwndDlg)
|
||||||
{
|
{
|
||||||
BOOLEAN bHibernate;
|
BOOLEAN bHibernate;
|
||||||
|
|
||||||
|
@ -161,3 +126,37 @@ INT_PTR Hib_SaveData(HWND hwndDlg)
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Property page dialog callback */
|
||||||
|
INT_PTR CALLBACK
|
||||||
|
HibernateDlgProc(HWND hwndDlg,
|
||||||
|
UINT uMsg,
|
||||||
|
WPARAM wParam,
|
||||||
|
LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch(uMsg)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
Hib_InitDialog(hwndDlg);
|
||||||
|
return TRUE;
|
||||||
|
case WM_COMMAND:
|
||||||
|
switch(LOWORD(wParam))
|
||||||
|
{
|
||||||
|
case IDC_HIBERNATEFILE:
|
||||||
|
if (HIWORD(wParam) == BN_CLICKED)
|
||||||
|
{
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case WM_NOTIFY:
|
||||||
|
{
|
||||||
|
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||||
|
if (lpnm->code == (UINT)PSN_APPLY)
|
||||||
|
{
|
||||||
|
return Hib_SaveData(hwndDlg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
|
@ -22,10 +22,7 @@
|
||||||
#define NUM_APPLETS (1)
|
#define NUM_APPLETS (1)
|
||||||
|
|
||||||
static LONG APIENTRY Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam);
|
static LONG APIENTRY Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam);
|
||||||
INT_PTR CALLBACK powershemesProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
||||||
INT_PTR CALLBACK alarmsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
||||||
INT_PTR CALLBACK advancedProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
||||||
INT_PTR CALLBACK hibernateProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
||||||
|
|
||||||
HINSTANCE hApplet = 0;
|
HINSTANCE hApplet = 0;
|
||||||
GLOBAL_POWER_POLICY gGPP;
|
GLOBAL_POWER_POLICY gGPP;
|
||||||
|
@ -76,39 +73,6 @@ InitPropSheetPage(PROPSHEETHEADER *ppsh, WORD idDlg, DLGPROC DlgProc)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Property Sheet Callback */
|
|
||||||
int CALLBACK
|
|
||||||
PropSheetProc(
|
|
||||||
HWND hwndDlg,
|
|
||||||
UINT uMsg,
|
|
||||||
LPARAM lParam
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNREFERENCED_PARAMETER(hwndDlg);
|
|
||||||
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 */
|
/* First Applet */
|
||||||
static LONG APIENTRY
|
static LONG APIENTRY
|
||||||
Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
||||||
|
@ -130,7 +94,7 @@ Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
||||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||||
psh.dwFlags = PSH_USECALLBACK | PSH_PROPTITLE;
|
psh.dwFlags = PSH_PROPTITLE;
|
||||||
psh.hwndParent = NULL;
|
psh.hwndParent = NULL;
|
||||||
psh.hInstance = hApplet;
|
psh.hInstance = hApplet;
|
||||||
psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON_1));
|
psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON_1));
|
||||||
|
@ -138,18 +102,17 @@ Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
||||||
psh.nPages = 0;
|
psh.nPages = 0;
|
||||||
psh.nStartPage = 0;
|
psh.nStartPage = 0;
|
||||||
psh.phpage = hpsp;
|
psh.phpage = hpsp;
|
||||||
psh.pfnCallback = PropSheetProc;
|
|
||||||
|
|
||||||
InitPropSheetPage(&psh, IDD_PROPPAGEPOWERSHEMES, (DLGPROC) powershemesProc);
|
InitPropSheetPage(&psh, IDD_PROPPAGEPOWERSHEMES, (DLGPROC)PowerSchemesDlgProc);
|
||||||
if (GetPwrCapabilities(&spc))
|
if (GetPwrCapabilities(&spc))
|
||||||
{
|
{
|
||||||
if (spc.SystemBatteriesPresent)
|
if (spc.SystemBatteriesPresent)
|
||||||
{
|
{
|
||||||
InitPropSheetPage(&psh, IDD_PROPPAGEALARMS, (DLGPROC) alarmsProc);
|
InitPropSheetPage(&psh, IDD_PROPPAGEALARMS, (DLGPROC)AlarmsDlgProc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
InitPropSheetPage(&psh, IDD_PROPPAGEADVANCED, (DLGPROC) advancedProc);
|
InitPropSheetPage(&psh, IDD_PROPPAGEADVANCED, (DLGPROC)AdvancedDlgProc);
|
||||||
InitPropSheetPage(&psh, IDD_PROPPAGEHIBERNATE, (DLGPROC) hibernateProc);
|
InitPropSheetPage(&psh, IDD_PROPPAGEHIBERNATE, (DLGPROC)HibernateDlgProc);
|
||||||
|
|
||||||
/* Load additional pages provided by shell extensions */
|
/* Load additional pages provided by shell extensions */
|
||||||
hpsxa = SHCreatePropSheetExtArray(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Power"), MAX_POWER_PAGES - psh.nPages);
|
hpsxa = SHCreatePropSheetExtArray(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Power"), MAX_POWER_PAGES - psh.nPages);
|
||||||
|
@ -166,8 +129,7 @@ Applet1(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
/* Control Panel Callback */
|
/* Control Panel Callback */
|
||||||
LONG CALLBACK
|
LONG CALLBACK
|
||||||
CPlApplet(
|
CPlApplet(HWND hwndCPl,
|
||||||
HWND hwndCPl,
|
|
||||||
UINT uMsg,
|
UINT uMsg,
|
||||||
LPARAM lParam1,
|
LPARAM lParam1,
|
||||||
LPARAM lParam2)
|
LPARAM lParam2)
|
||||||
|
@ -203,10 +165,8 @@ CPlApplet(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN WINAPI
|
||||||
WINAPI
|
DllMain(HINSTANCE hinstDLL,
|
||||||
DllMain(
|
|
||||||
HINSTANCE hinstDLL,
|
|
||||||
DWORD dwReason,
|
DWORD dwReason,
|
||||||
LPVOID lpvReserved)
|
LPVOID lpvReserved)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,6 +18,11 @@ extern UINT guiIndex;
|
||||||
|
|
||||||
#define MAX_POWER_PAGES 32
|
#define MAX_POWER_PAGES 32
|
||||||
|
|
||||||
|
INT_PTR CALLBACK PowerSchemesDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
INT_PTR CALLBACK AlarmsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
INT_PTR CALLBACK AdvancedDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
INT_PTR CALLBACK HibernateDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
#endif /* __CPL_SAMPLE_H */
|
#endif /* __CPL_SAMPLE_H */
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -49,132 +49,9 @@ POWER_POLICY gPP[MAX_POWER_POLICY];
|
||||||
UINT guiIndex = 0;
|
UINT guiIndex = 0;
|
||||||
HWND hwndDialog;
|
HWND hwndDialog;
|
||||||
|
|
||||||
void LoadConfig(HWND hwndDlg);
|
|
||||||
void Pos_InitPage(HWND hwndDlg);
|
|
||||||
BOOLEAN Pos_InitData();
|
|
||||||
void Pos_SaveData(HWND hwndDlg);
|
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
BOOLEAN CreateEnergyList(HWND hwnd);
|
Pos_InitData(VOID)
|
||||||
|
|
||||||
static
|
|
||||||
BOOLEAN DelScheme(HWND hwnd)
|
|
||||||
{
|
|
||||||
INT iCurSel;
|
|
||||||
HWND hList;
|
|
||||||
TCHAR szBuf[1024], szBufT[1024];
|
|
||||||
UINT DelScheme;
|
|
||||||
|
|
||||||
hList = GetDlgItem(hwnd, IDC_ENERGYLIST);
|
|
||||||
|
|
||||||
iCurSel = SendMessage(hList, CB_GETCURSEL, 0, 0);
|
|
||||||
if (iCurSel == CB_ERR) return FALSE;
|
|
||||||
|
|
||||||
SendMessage(hList, CB_SETCURSEL, iCurSel, 0);
|
|
||||||
|
|
||||||
DelScheme = SendMessage(hList, CB_GETITEMDATA, (WPARAM)iCurSel, 0);
|
|
||||||
if (DelScheme == (UINT)CB_ERR) return FALSE;
|
|
||||||
|
|
||||||
LoadString(hApplet, IDS_DEL_SCHEME_TITLE, szBufT, sizeof(szBufT) / sizeof(TCHAR));
|
|
||||||
LoadString(hApplet, IDS_DEL_SCHEME, szBuf, sizeof(szBuf) / sizeof(TCHAR));
|
|
||||||
|
|
||||||
if (MessageBox(hwnd, (LPCTSTR)szBuf, (LPCTSTR)szBufT, MB_OKCANCEL | MB_ICONQUESTION) == IDOK)
|
|
||||||
{
|
|
||||||
UINT Current;
|
|
||||||
|
|
||||||
if (GetActivePwrScheme(&Current))
|
|
||||||
{
|
|
||||||
SendMessage(hList, CB_SETCURSEL, (WPARAM)0, 0);
|
|
||||||
SendMessage(hList, CB_DELETESTRING, (WPARAM)iCurSel, 0);
|
|
||||||
if (Current == DelScheme) Pos_SaveData(hwnd);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DeletePwrScheme(DelScheme) != 0) return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Property page dialog callback */
|
|
||||||
INT_PTR CALLBACK
|
|
||||||
powershemesProc(
|
|
||||||
HWND hwndDlg,
|
|
||||||
UINT uMsg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam
|
|
||||||
)
|
|
||||||
{
|
|
||||||
switch(uMsg)
|
|
||||||
{
|
|
||||||
case WM_INITDIALOG:
|
|
||||||
hPos = hwndDlg;
|
|
||||||
hwndDialog = hwndDlg;
|
|
||||||
if (!Pos_InitData())
|
|
||||||
{
|
|
||||||
//TODO
|
|
||||||
// initialization failed
|
|
||||||
// handle error
|
|
||||||
MessageBox(hwndDlg,_T("Pos_InitData failed\n"), NULL, MB_OK);
|
|
||||||
|
|
||||||
}
|
|
||||||
if (!CreateEnergyList(GetDlgItem(hwndDlg, IDC_ENERGYLIST)))
|
|
||||||
{
|
|
||||||
//TODO
|
|
||||||
// initialization failed
|
|
||||||
// handle error
|
|
||||||
MessageBox(hwndDlg,_T("CreateEnergyList failed\n"), NULL, MB_OK);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
case WM_COMMAND:
|
|
||||||
switch(LOWORD(wParam))
|
|
||||||
{
|
|
||||||
case IDC_ENERGYLIST:
|
|
||||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
|
||||||
{
|
|
||||||
LoadConfig(hwndDlg);
|
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IDC_DELETE_BTN:
|
|
||||||
{
|
|
||||||
DelScheme(hwndDlg);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IDC_SAVEAS_BTN:
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IDC_MONITORACLIST:
|
|
||||||
case IDC_MONITORDCLIST:
|
|
||||||
case IDC_DISKACLIST:
|
|
||||||
case IDC_DISKDCLIST:
|
|
||||||
case IDC_STANDBYACLIST:
|
|
||||||
case IDC_STANDBYDCLIST:
|
|
||||||
case IDC_HYBERNATEACLIST:
|
|
||||||
case IDC_HYBERNATEDCLIST:
|
|
||||||
if (HIWORD(wParam) == CBN_SELCHANGE)
|
|
||||||
{
|
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case WM_NOTIFY:
|
|
||||||
{
|
|
||||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
|
||||||
if (lpnm->code == (UINT)PSN_APPLY)
|
|
||||||
{
|
|
||||||
Pos_SaveData(hwndDlg);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOLEAN Pos_InitData()
|
|
||||||
{
|
{
|
||||||
SYSTEM_POWER_CAPABILITIES spc;
|
SYSTEM_POWER_CAPABILITIES spc;
|
||||||
/*
|
/*
|
||||||
|
@ -271,185 +148,9 @@ BOOLEAN Pos_InitData()
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN CALLBACK callback_EnumPwrScheme(UINT uiIndex, DWORD dwName, LPTSTR sName, DWORD dwDesc,
|
|
||||||
LPWSTR sDesc, PPOWER_POLICY pp,LPARAM lParam )
|
|
||||||
{
|
|
||||||
int index;
|
|
||||||
|
|
||||||
UNREFERENCED_PARAMETER(lParam);
|
static VOID
|
||||||
UNREFERENCED_PARAMETER(sDesc);
|
LoadConfig(HWND hwndDlg)
|
||||||
UNREFERENCED_PARAMETER(dwDesc);
|
|
||||||
UNREFERENCED_PARAMETER(dwName);
|
|
||||||
|
|
||||||
if (ValidatePowerPolicies(0,pp))
|
|
||||||
{
|
|
||||||
if (guiIndex >= MAX_POWER_POLICY)
|
|
||||||
{
|
|
||||||
//FIXME
|
|
||||||
//implement store power policy dynamically
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
memcpy(&gPP[guiIndex], pp, sizeof(POWER_POLICY));
|
|
||||||
guiIndex++;
|
|
||||||
|
|
||||||
index = (int) SendMessage(hList,
|
|
||||||
CB_ADDSTRING,
|
|
||||||
0,
|
|
||||||
(LPARAM)sName);
|
|
||||||
if (index == CB_ERR)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
SendMessage(hList,
|
|
||||||
CB_SETITEMDATA,
|
|
||||||
index,
|
|
||||||
(LPARAM)uiIndex);
|
|
||||||
|
|
||||||
if (aps == uiIndex)
|
|
||||||
{
|
|
||||||
SendMessage(hList,
|
|
||||||
CB_SELECTSTRING,
|
|
||||||
TRUE,
|
|
||||||
(LPARAM)sName);
|
|
||||||
LoadConfig(GetParent(hList));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOLEAN CreateEnergyList(HWND hwnd)
|
|
||||||
{
|
|
||||||
BOOLEAN retval;
|
|
||||||
POWER_POLICY pp;
|
|
||||||
SYSTEM_POWER_CAPABILITIES spc;
|
|
||||||
|
|
||||||
hList = hwnd;
|
|
||||||
|
|
||||||
if (!GetActivePwrScheme(&aps))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (!ReadGlobalPwrPolicy(&gGPP))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (!ReadPwrScheme(aps,&pp))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (!ValidatePowerPolicies(&gGPP,0))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
/*
|
|
||||||
if (!SetActivePwrScheme(aps,&gGPP,&pp))
|
|
||||||
return FALSE;
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!GetPwrCapabilities(&spc))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (CanUserWritePwrScheme())
|
|
||||||
{
|
|
||||||
//TODO
|
|
||||||
// enable write / delete powerscheme button
|
|
||||||
}
|
|
||||||
|
|
||||||
Pos_InitPage(GetParent(hwnd));
|
|
||||||
|
|
||||||
if (!GetActivePwrScheme(&aps))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
retval = EnumPwrSchemes(callback_EnumPwrScheme, aps);
|
|
||||||
|
|
||||||
if(SendMessage(hwnd, CB_GETCOUNT, 0, 0) > 0)
|
|
||||||
{
|
|
||||||
EnableWindow(GetDlgItem(hwndDialog, IDC_DELETE_BTN),TRUE);
|
|
||||||
EnableWindow(GetDlgItem(hwndDialog, IDC_SAVEAS_BTN),TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Pos_InitPage(HWND hwndDlg)
|
|
||||||
{
|
|
||||||
int ifrom=0,i=0,imin=0;
|
|
||||||
HWND hwnd = NULL;
|
|
||||||
TCHAR szName[MAX_PATH];
|
|
||||||
LRESULT index;
|
|
||||||
|
|
||||||
for(i=1;i<9;i++)
|
|
||||||
{
|
|
||||||
switch(i)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_MONITORACLIST);
|
|
||||||
imin=IDS_TIMEOUT1;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_STANDBYACLIST);
|
|
||||||
imin=IDS_TIMEOUT1;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_DISKACLIST);
|
|
||||||
imin=IDS_TIMEOUT3;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_HYBERNATEACLIST);
|
|
||||||
imin=IDS_TIMEOUT3;
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_MONITORDCLIST);
|
|
||||||
imin=IDS_TIMEOUT1;
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_STANDBYDCLIST);
|
|
||||||
imin=IDS_TIMEOUT1;
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_DISKDCLIST);
|
|
||||||
imin=IDS_TIMEOUT3;
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
hwnd=GetDlgItem(hwndDlg, IDC_HYBERNATEDCLIST);
|
|
||||||
imin=IDS_TIMEOUT3;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (ifrom=imin;ifrom<(IDS_TIMEOUT15+1);ifrom++)
|
|
||||||
{
|
|
||||||
if (LoadString(hApplet, ifrom, szName, MAX_PATH))
|
|
||||||
{
|
|
||||||
index = SendMessage(hwnd,
|
|
||||||
CB_ADDSTRING,
|
|
||||||
0,
|
|
||||||
(LPARAM)szName);
|
|
||||||
|
|
||||||
if (index == CB_ERR)
|
|
||||||
return;
|
|
||||||
|
|
||||||
SendMessage(hwnd,
|
|
||||||
CB_SETITEMDATA,
|
|
||||||
index,
|
|
||||||
(LPARAM)Sec[ifrom-IDS_TIMEOUT16]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (LoadString(hApplet, IDS_TIMEOUT16, szName, MAX_PATH))
|
|
||||||
{
|
|
||||||
index = SendMessage(hwnd,
|
|
||||||
CB_ADDSTRING,
|
|
||||||
0,
|
|
||||||
(LPARAM)szName);
|
|
||||||
if (index == CB_ERR)
|
|
||||||
return;
|
|
||||||
|
|
||||||
SendMessage(hwnd,
|
|
||||||
CB_SETITEMDATA,
|
|
||||||
index,
|
|
||||||
(LPARAM)Sec[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LoadConfig(HWND hwndDlg)
|
|
||||||
{
|
{
|
||||||
INT i=0, iCurSel=0;
|
INT i=0, iCurSel=0;
|
||||||
UINT uiIndex;
|
UINT uiIndex;
|
||||||
|
@ -539,10 +240,143 @@ void LoadConfig(HWND hwndDlg)
|
||||||
(LPARAM)0);
|
(LPARAM)0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Pos_SaveData(HWND hwndDlg)
|
|
||||||
|
BOOLEAN CALLBACK
|
||||||
|
callback_EnumPwrScheme(UINT uiIndex, DWORD dwName, LPTSTR sName, DWORD dwDesc,
|
||||||
|
LPWSTR sDesc, PPOWER_POLICY pp,LPARAM lParam)
|
||||||
|
{
|
||||||
|
int index;
|
||||||
|
|
||||||
|
UNREFERENCED_PARAMETER(lParam);
|
||||||
|
UNREFERENCED_PARAMETER(sDesc);
|
||||||
|
UNREFERENCED_PARAMETER(dwDesc);
|
||||||
|
UNREFERENCED_PARAMETER(dwName);
|
||||||
|
|
||||||
|
if (ValidatePowerPolicies(0,pp))
|
||||||
|
{
|
||||||
|
if (guiIndex >= MAX_POWER_POLICY)
|
||||||
|
{
|
||||||
|
//FIXME
|
||||||
|
//implement store power policy dynamically
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
memcpy(&gPP[guiIndex], pp, sizeof(POWER_POLICY));
|
||||||
|
guiIndex++;
|
||||||
|
|
||||||
|
index = (int) SendMessage(hList,
|
||||||
|
CB_ADDSTRING,
|
||||||
|
0,
|
||||||
|
(LPARAM)sName);
|
||||||
|
if (index == CB_ERR)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
SendMessage(hList,
|
||||||
|
CB_SETITEMDATA,
|
||||||
|
index,
|
||||||
|
(LPARAM)uiIndex);
|
||||||
|
|
||||||
|
if (aps == uiIndex)
|
||||||
|
{
|
||||||
|
SendMessage(hList,
|
||||||
|
CB_SELECTSTRING,
|
||||||
|
TRUE,
|
||||||
|
(LPARAM)sName);
|
||||||
|
LoadConfig(GetParent(hList));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static VOID
|
||||||
|
Pos_InitPage(HWND hwndDlg)
|
||||||
|
{
|
||||||
|
int ifrom=0,i=0,imin=0;
|
||||||
|
HWND hwnd = NULL;
|
||||||
|
TCHAR szName[MAX_PATH];
|
||||||
|
LRESULT index;
|
||||||
|
|
||||||
|
for(i=1;i<9;i++)
|
||||||
|
{
|
||||||
|
switch(i)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_MONITORACLIST);
|
||||||
|
imin=IDS_TIMEOUT1;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_STANDBYACLIST);
|
||||||
|
imin=IDS_TIMEOUT1;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_DISKACLIST);
|
||||||
|
imin=IDS_TIMEOUT3;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_HYBERNATEACLIST);
|
||||||
|
imin=IDS_TIMEOUT3;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_MONITORDCLIST);
|
||||||
|
imin=IDS_TIMEOUT1;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_STANDBYDCLIST);
|
||||||
|
imin=IDS_TIMEOUT1;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_DISKDCLIST);
|
||||||
|
imin=IDS_TIMEOUT3;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
hwnd=GetDlgItem(hwndDlg, IDC_HYBERNATEDCLIST);
|
||||||
|
imin=IDS_TIMEOUT3;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (ifrom=imin;ifrom<(IDS_TIMEOUT15+1);ifrom++)
|
||||||
|
{
|
||||||
|
if (LoadString(hApplet, ifrom, szName, MAX_PATH))
|
||||||
|
{
|
||||||
|
index = SendMessage(hwnd,
|
||||||
|
CB_ADDSTRING,
|
||||||
|
0,
|
||||||
|
(LPARAM)szName);
|
||||||
|
|
||||||
|
if (index == CB_ERR)
|
||||||
|
return;
|
||||||
|
|
||||||
|
SendMessage(hwnd,
|
||||||
|
CB_SETITEMDATA,
|
||||||
|
index,
|
||||||
|
(LPARAM)Sec[ifrom-IDS_TIMEOUT16]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (LoadString(hApplet, IDS_TIMEOUT16, szName, MAX_PATH))
|
||||||
|
{
|
||||||
|
index = SendMessage(hwnd,
|
||||||
|
CB_ADDSTRING,
|
||||||
|
0,
|
||||||
|
(LPARAM)szName);
|
||||||
|
if (index == CB_ERR)
|
||||||
|
return;
|
||||||
|
|
||||||
|
SendMessage(hwnd,
|
||||||
|
CB_SETITEMDATA,
|
||||||
|
index,
|
||||||
|
(LPARAM)Sec[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static VOID
|
||||||
|
Pos_SaveData(HWND hwndDlg)
|
||||||
{
|
{
|
||||||
INT iCurSel=0,tmp=0;
|
INT iCurSel=0,tmp=0;
|
||||||
|
|
||||||
|
@ -621,3 +455,174 @@ void Pos_SaveData(HWND hwndDlg)
|
||||||
SetActivePwrScheme(iCurSel,NULL,&gPP[iCurSel]);
|
SetActivePwrScheme(iCurSel,NULL,&gPP[iCurSel]);
|
||||||
LoadConfig(hwndDlg);
|
LoadConfig(hwndDlg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static BOOLEAN
|
||||||
|
DelScheme(HWND hwnd)
|
||||||
|
{
|
||||||
|
INT iCurSel;
|
||||||
|
HWND hList;
|
||||||
|
TCHAR szBuf[1024], szBufT[1024];
|
||||||
|
UINT DelScheme;
|
||||||
|
|
||||||
|
hList = GetDlgItem(hwnd, IDC_ENERGYLIST);
|
||||||
|
|
||||||
|
iCurSel = SendMessage(hList, CB_GETCURSEL, 0, 0);
|
||||||
|
if (iCurSel == CB_ERR) return FALSE;
|
||||||
|
|
||||||
|
SendMessage(hList, CB_SETCURSEL, iCurSel, 0);
|
||||||
|
|
||||||
|
DelScheme = SendMessage(hList, CB_GETITEMDATA, (WPARAM)iCurSel, 0);
|
||||||
|
if (DelScheme == (UINT)CB_ERR) return FALSE;
|
||||||
|
|
||||||
|
LoadString(hApplet, IDS_DEL_SCHEME_TITLE, szBufT, sizeof(szBufT) / sizeof(TCHAR));
|
||||||
|
LoadString(hApplet, IDS_DEL_SCHEME, szBuf, sizeof(szBuf) / sizeof(TCHAR));
|
||||||
|
|
||||||
|
if (MessageBox(hwnd, (LPCTSTR)szBuf, (LPCTSTR)szBufT, MB_OKCANCEL | MB_ICONQUESTION) == IDOK)
|
||||||
|
{
|
||||||
|
UINT Current;
|
||||||
|
|
||||||
|
if (GetActivePwrScheme(&Current))
|
||||||
|
{
|
||||||
|
SendMessage(hList, CB_SETCURSEL, (WPARAM)0, 0);
|
||||||
|
SendMessage(hList, CB_DELETESTRING, (WPARAM)iCurSel, 0);
|
||||||
|
if (Current == DelScheme) Pos_SaveData(hwnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DeletePwrScheme(DelScheme) != 0) return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static BOOLEAN
|
||||||
|
CreateEnergyList(HWND hwnd)
|
||||||
|
{
|
||||||
|
BOOLEAN retval;
|
||||||
|
POWER_POLICY pp;
|
||||||
|
SYSTEM_POWER_CAPABILITIES spc;
|
||||||
|
|
||||||
|
hList = hwnd;
|
||||||
|
|
||||||
|
if (!GetActivePwrScheme(&aps))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!ReadGlobalPwrPolicy(&gGPP))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!ReadPwrScheme(aps,&pp))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!ValidatePowerPolicies(&gGPP,0))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (!SetActivePwrScheme(aps,&gGPP,&pp))
|
||||||
|
return FALSE;
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!GetPwrCapabilities(&spc))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (CanUserWritePwrScheme())
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
// enable write / delete powerscheme button
|
||||||
|
}
|
||||||
|
|
||||||
|
Pos_InitPage(GetParent(hwnd));
|
||||||
|
|
||||||
|
if (!GetActivePwrScheme(&aps))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
retval = EnumPwrSchemes(callback_EnumPwrScheme, aps);
|
||||||
|
|
||||||
|
if(SendMessage(hwnd, CB_GETCOUNT, 0, 0) > 0)
|
||||||
|
{
|
||||||
|
EnableWindow(GetDlgItem(hwndDialog, IDC_DELETE_BTN),TRUE);
|
||||||
|
EnableWindow(GetDlgItem(hwndDialog, IDC_SAVEAS_BTN),TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Property page dialog callback */
|
||||||
|
INT_PTR CALLBACK
|
||||||
|
PowerSchemesDlgProc(
|
||||||
|
HWND hwndDlg,
|
||||||
|
UINT uMsg,
|
||||||
|
WPARAM wParam,
|
||||||
|
LPARAM lParam
|
||||||
|
)
|
||||||
|
{
|
||||||
|
switch(uMsg)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
hPos = hwndDlg;
|
||||||
|
hwndDialog = hwndDlg;
|
||||||
|
if (!Pos_InitData())
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
// initialization failed
|
||||||
|
// handle error
|
||||||
|
MessageBox(hwndDlg,_T("Pos_InitData failed\n"), NULL, MB_OK);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!CreateEnergyList(GetDlgItem(hwndDlg, IDC_ENERGYLIST)))
|
||||||
|
{
|
||||||
|
//TODO
|
||||||
|
// initialization failed
|
||||||
|
// handle error
|
||||||
|
MessageBox(hwndDlg,_T("CreateEnergyList failed\n"), NULL, MB_OK);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
case WM_COMMAND:
|
||||||
|
switch(LOWORD(wParam))
|
||||||
|
{
|
||||||
|
case IDC_ENERGYLIST:
|
||||||
|
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||||
|
{
|
||||||
|
LoadConfig(hwndDlg);
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case IDC_DELETE_BTN:
|
||||||
|
{
|
||||||
|
DelScheme(hwndDlg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case IDC_SAVEAS_BTN:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case IDC_MONITORACLIST:
|
||||||
|
case IDC_MONITORDCLIST:
|
||||||
|
case IDC_DISKACLIST:
|
||||||
|
case IDC_DISKDCLIST:
|
||||||
|
case IDC_STANDBYACLIST:
|
||||||
|
case IDC_STANDBYDCLIST:
|
||||||
|
case IDC_HYBERNATEACLIST:
|
||||||
|
case IDC_HYBERNATEDCLIST:
|
||||||
|
if (HIWORD(wParam) == CBN_SELCHANGE)
|
||||||
|
{
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case WM_NOTIFY:
|
||||||
|
{
|
||||||
|
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||||
|
if (lpnm->code == (UINT)PSN_APPLY)
|
||||||
|
{
|
||||||
|
Pos_SaveData(hwndDlg);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue