2 * PROJECT: ReactOS Power Configuration Applet
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll/cpl/powercfg/alarms.c
5 * PURPOSE: alarms tab of applet
6 * PROGRAMMERS: Alexander Wurzinger (Lohnegrim at gmx dot net)
7 * Johannes Anderwald (johannes.anderwald@reactos.org)
9 * Dmitry Chapyshev (lentind@yandex.ru)
15 Ala_InitData(HWND hwndDlg
)
17 TCHAR szAction
[MAX_PATH
];
18 TCHAR szText
[MAX_PATH
];
19 TCHAR szSound
[MAX_PATH
];
20 TCHAR szMessage
[MAX_PATH
];
21 TCHAR szTemp
[MAX_PATH
];
22 TCHAR szBatteryLevel
[MAX_PATH
];
23 TCHAR szProgram
[MAX_PATH
];
25 if (!ReadGlobalPwrPolicy(&gGPP
))
30 if (gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].Enable
)
32 CheckDlgButton(hwndDlg
, IDC_ALARM1
,
33 gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].Enable
? BST_CHECKED
: BST_UNCHECKED
);
35 if (LoadString(hApplet
, IDS_PERCENT
, szTemp
, MAX_PATH
))
37 _stprintf(szBatteryLevel
, szTemp
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].BatteryLevel
);
38 SetDlgItemText(hwndDlg
, IDC_ALARMVALUE1
, szBatteryLevel
);
41 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
44 (LPARAM
)MAKELONG(0, 100));
45 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
49 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
52 (LPARAM
)gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].BatteryLevel
);
54 if (LoadString(hApplet
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.Action
+IDS_PowerActionNone1
, szAction
, MAX_PATH
))
56 SetDlgItemText(hwndDlg
, IDC_ALARMAKTION1
, szAction
);
59 memset(szMessage
, 0x0, sizeof(szMessage
));
60 LoadString(hApplet
, IDS_NOACTION
, szMessage
, MAX_PATH
);
62 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_TEXT
)
64 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
66 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
) && LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
68 _stprintf(szMessage
,_T("%s, %s"),szSound
,szText
);
73 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
75 _stprintf(szMessage
,_T("%s"),szText
);
81 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
83 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
85 _stprintf(szMessage
,_T("%s"),szSound
);
90 SetDlgItemText(hwndDlg
, IDC_ALARMMSG1
, szMessage
);
92 if (LoadString(hApplet
, IDS_PowerActionNone2
, szProgram
, MAX_PATH
))
94 SetDlgItemText(hwndDlg
, IDC_ALARMPROG1
, szProgram
);
98 if (gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].Enable
)
100 CheckDlgButton(hwndDlg
, IDC_ALARM2
,
101 gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].Enable
? BST_CHECKED
: BST_UNCHECKED
);
103 if (LoadString(hApplet
, IDS_PERCENT
, szTemp
, MAX_PATH
))
105 _stprintf(szBatteryLevel
, szTemp
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].BatteryLevel
);
106 SetDlgItemText(hwndDlg
, IDC_ALARMVALUE2
, szBatteryLevel
);
109 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR2
,
112 (LPARAM
)MAKELONG(0, 100));
113 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR2
,
116 (LPARAM
)gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].BatteryLevel
);
118 if (LoadString(hApplet
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.Action
+IDS_PowerActionNone1
, szAction
, MAX_PATH
))
120 SetDlgItemText(hwndDlg
, IDC_ALARMAKTION2
, szAction
);
123 memset(szMessage
, 0x0, sizeof(szMessage
));
124 LoadString(hApplet
, IDS_NOACTION
, szMessage
, MAX_PATH
);
126 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_TEXT
)
128 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
130 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
) && LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
132 _stprintf(szMessage
,_T("%s, %s"),szSound
,szText
);
137 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
139 _stprintf(szMessage
,_T("%s"),szText
);
145 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
147 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
149 _stprintf(szMessage
,_T("%s"),szSound
);
154 SetDlgItemText(hwndDlg
, IDC_ALARMMSG2
, szMessage
);
156 if (LoadString(hApplet
, IDS_PowerActionNone2
, szProgram
, MAX_PATH
))
158 SetDlgItemText(hwndDlg
, IDC_ALARMPROG2
, szProgram
);
165 /* Property page dialog callback */
167 AlarmsDlgProc(HWND hwndDlg
,
172 UNREFERENCED_PARAMETER(lParam
);
173 UNREFERENCED_PARAMETER(wParam
);
177 if (!Ala_InitData(hwndDlg
))
180 // Handle initialization error