3 * PROJECT: ReactOS Power Configuration Applet
4 * LICENSE: GPL - See COPYING in the top level directory
5 * FILE: dll/cpl/powercfg/alarms.c
6 * PURPOSE: alarms tab of applet
7 * PROGRAMMERS: Alexander Wurzinger (Lohnegrim at gmx dot net)
8 * Johannes Anderwald (johannes.anderwald@student.tugraz.at)
10 * Dmitry Chapyshev (lentind@yandex.ru)
16 Ala_InitData(HWND hwndDlg
)
18 TCHAR szAction
[MAX_PATH
];
19 TCHAR szText
[MAX_PATH
];
20 TCHAR szSound
[MAX_PATH
];
21 TCHAR szMessage
[MAX_PATH
];
22 TCHAR szTemp
[MAX_PATH
];
23 TCHAR szBatteryLevel
[MAX_PATH
];
24 TCHAR szProgram
[MAX_PATH
];
26 if (!ReadGlobalPwrPolicy(&gGPP
))
31 if (gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].Enable
)
33 CheckDlgButton(hwndDlg
, IDC_ALARM1
,
34 gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].Enable
? BST_CHECKED
: BST_UNCHECKED
);
36 if (LoadString(hApplet
, IDS_PROCENT
, szTemp
, MAX_PATH
))
38 _stprintf(szBatteryLevel
, szTemp
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].BatteryLevel
);
39 SetDlgItemText(hwndDlg
, IDC_ALARMVALUE1
, szBatteryLevel
);
42 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
45 (LPARAM
)MAKELONG(0, 100));
46 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
50 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
53 (LPARAM
)gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].BatteryLevel
);
55 if (LoadString(hApplet
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.Action
+IDS_PowerActionNone1
, szAction
, MAX_PATH
))
57 SetDlgItemText(hwndDlg
, IDC_ALARMAKTION1
, szAction
);
60 memset(szMessage
, 0x0, sizeof(szMessage
));
61 LoadString(hApplet
, IDS_NOACTION
, szMessage
, MAX_PATH
);
63 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_TEXT
)
65 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
67 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
) && LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
69 _stprintf(szMessage
,_T("%s, %s"),szSound
,szText
);
74 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
76 _stprintf(szMessage
,_T("%s"),szText
);
82 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
84 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
86 _stprintf(szMessage
,_T("%s"),szSound
);
91 SetDlgItemText(hwndDlg
, IDC_ALARMMSG1
, szMessage
);
93 if (LoadString(hApplet
, IDS_PowerActionNone2
, szProgram
, MAX_PATH
))
95 SetDlgItemText(hwndDlg
, IDC_ALARMPROG1
, szProgram
);
99 if (gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].Enable
)
101 CheckDlgButton(hwndDlg
, IDC_ALARM2
,
102 gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].Enable
? BST_CHECKED
: BST_UNCHECKED
);
104 if (LoadString(hApplet
, IDS_PROCENT
, szTemp
, MAX_PATH
))
106 _stprintf(szBatteryLevel
, szTemp
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].BatteryLevel
);
107 SetDlgItemText(hwndDlg
, IDC_ALARMVALUE2
, szBatteryLevel
);
110 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR2
,
113 (LPARAM
)MAKELONG(0, 100));
114 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR2
,
117 (LPARAM
)gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].BatteryLevel
);
119 if (LoadString(hApplet
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.Action
+IDS_PowerActionNone1
, szAction
, MAX_PATH
))
121 SetDlgItemText(hwndDlg
, IDC_ALARMAKTION2
, szAction
);
124 memset(szMessage
, 0x0, sizeof(szMessage
));
125 LoadString(hApplet
, IDS_NOACTION
, szMessage
, MAX_PATH
);
127 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_TEXT
)
129 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
131 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
) && LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
133 _stprintf(szMessage
,_T("%s, %s"),szSound
,szText
);
138 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
140 _stprintf(szMessage
,_T("%s"),szText
);
146 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
148 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
150 _stprintf(szMessage
,_T("%s"),szSound
);
155 SetDlgItemText(hwndDlg
, IDC_ALARMMSG2
, szMessage
);
157 if (LoadString(hApplet
, IDS_PowerActionNone2
, szProgram
, MAX_PATH
))
159 SetDlgItemText(hwndDlg
, IDC_ALARMPROG2
, szProgram
);
166 /* Property page dialog callback */
168 AlarmsDlgProc(HWND hwndDlg
,
173 UNREFERENCED_PARAMETER(lParam
);
174 UNREFERENCED_PARAMETER(wParam
);
178 if (!Ala_InitData(hwndDlg
))
181 //handle initialization error