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)
22 BOOLEAN
Ala_InitData(HWND
);
24 /* Property page dialog callback */
33 UNREFERENCED_PARAMETER(lParam
);
34 UNREFERENCED_PARAMETER(wParam
);
38 if (!Ala_InitData(hwndDlg
))
41 //handle initialization error
50 BOOLEAN
Ala_InitData(HWND hwndDlg
)
52 TCHAR szAction
[MAX_PATH
];
53 TCHAR szText
[MAX_PATH
];
54 TCHAR szSound
[MAX_PATH
];
55 TCHAR szMessage
[MAX_PATH
];
56 TCHAR szTemp
[MAX_PATH
];
57 TCHAR szBatteryLevel
[MAX_PATH
];
58 TCHAR szProgram
[MAX_PATH
];
60 if (!ReadGlobalPwrPolicy(&gGPP
))
65 if (gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].Enable
)
67 CheckDlgButton(hwndDlg
, IDC_ALARM1
,
68 gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].Enable
? BST_CHECKED
: BST_UNCHECKED
);
70 if (LoadString(hApplet
, IDS_PROCENT
, szTemp
, MAX_PATH
))
72 _stprintf(szBatteryLevel
, szTemp
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].BatteryLevel
);
73 SetDlgItemText(hwndDlg
, IDC_ALARMVALUE1
, szBatteryLevel
);
76 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
79 (LPARAM
)MAKELONG(0, 100));
80 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
84 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR1
,
87 (LPARAM
)gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].BatteryLevel
);
89 if (LoadString(hApplet
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.Action
+IDS_PowerActionNone1
, szAction
, MAX_PATH
))
91 SetDlgItemText(hwndDlg
, IDC_ALARMAKTION1
, szAction
);
94 memset(szMessage
, 0x0, sizeof(szMessage
));
95 LoadString(hApplet
, IDS_NOACTION
, szMessage
, MAX_PATH
);
97 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_TEXT
)
99 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
101 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
) && LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
103 _stprintf(szMessage
,_T("%s, %s"),szSound
,szText
);
108 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
110 _stprintf(szMessage
,_T("%s"),szText
);
116 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_LOW
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
118 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
120 _stprintf(szMessage
,_T("%s"),szSound
);
125 SetDlgItemText(hwndDlg
, IDC_ALARMMSG1
, szMessage
);
127 if (LoadString(hApplet
, IDS_PowerActionNone2
, szProgram
, MAX_PATH
))
129 SetDlgItemText(hwndDlg
, IDC_ALARMPROG1
, szProgram
);
133 if (gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].Enable
)
135 CheckDlgButton(hwndDlg
, IDC_ALARM2
,
136 gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].Enable
? BST_CHECKED
: BST_UNCHECKED
);
138 if (LoadString(hApplet
, IDS_PROCENT
, szTemp
, MAX_PATH
))
140 _stprintf(szBatteryLevel
, szTemp
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].BatteryLevel
);
141 SetDlgItemText(hwndDlg
, IDC_ALARMVALUE2
, szBatteryLevel
);
144 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR2
,
147 (LPARAM
)MAKELONG(0, 100));
148 SendDlgItemMessage(hwndDlg
, IDC_ALARMBAR2
,
151 (LPARAM
)gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].BatteryLevel
);
153 if (LoadString(hApplet
, gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.Action
+IDS_PowerActionNone1
, szAction
, MAX_PATH
))
155 SetDlgItemText(hwndDlg
, IDC_ALARMAKTION2
, szAction
);
158 memset(szMessage
, 0x0, sizeof(szMessage
));
159 LoadString(hApplet
, IDS_NOACTION
, szMessage
, MAX_PATH
);
161 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_TEXT
)
163 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
165 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
) && LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
167 _stprintf(szMessage
,_T("%s, %s"),szSound
,szText
);
172 if (LoadString(hApplet
, IDS_TEXT
, szText
, MAX_PATH
))
174 _stprintf(szMessage
,_T("%s"),szText
);
180 if (LOWORD(gGPP
.user
.DischargePolicy
[DISCHARGE_POLICY_CRITICAL
].PowerPolicy
.EventCode
) & POWER_LEVEL_USER_NOTIFY_SOUND
)
182 if (LoadString(hApplet
, IDS_SOUND
, szSound
, MAX_PATH
))
184 _stprintf(szMessage
,_T("%s"),szSound
);
189 SetDlgItemText(hwndDlg
, IDC_ALARMMSG2
, szMessage
);
191 if (LoadString(hApplet
, IDS_PowerActionNone2
, szProgram
, MAX_PATH
))
193 SetDlgItemText(hwndDlg
, IDC_ALARMPROG2
, szProgram
);