Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenalarms.c
Go to the documentation of this file.
00001 /* $Id: alarms.c 54535 2011-11-29 14:55:58Z dgorbachev $ 00002 * 00003 * PROJECT: ReactOS Power Configuration Applet 00004 * LICENSE: GPL - See COPYING in the top level directory 00005 * FILE: dll/cpl/powercfg/alarms.c 00006 * PURPOSE: alarms tab of applet 00007 * PROGRAMMERS: Alexander Wurzinger (Lohnegrim at gmx dot net) 00008 * Johannes Anderwald (johannes.anderwald@student.tugraz.at) 00009 * Martin Rottensteiner 00010 * Dmitry Chapyshev (lentind@yandex.ru) 00011 */ 00012 00013 #include "powercfg.h" 00014 00015 static BOOLEAN 00016 Ala_InitData(HWND hwndDlg) 00017 { 00018 TCHAR szAction[MAX_PATH]; 00019 TCHAR szText[MAX_PATH]; 00020 TCHAR szSound[MAX_PATH]; 00021 TCHAR szMessage[MAX_PATH]; 00022 TCHAR szTemp[MAX_PATH]; 00023 TCHAR szBatteryLevel[MAX_PATH]; 00024 TCHAR szProgram[MAX_PATH]; 00025 00026 if (!ReadGlobalPwrPolicy(&gGPP)) 00027 { 00028 return FALSE; 00029 } 00030 00031 if (gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].Enable) 00032 { 00033 CheckDlgButton(hwndDlg, IDC_ALARM1, 00034 gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].Enable ? BST_CHECKED : BST_UNCHECKED); 00035 00036 if (LoadString(hApplet, IDS_PROCENT, szTemp, MAX_PATH)) 00037 { 00038 _stprintf(szBatteryLevel, szTemp, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].BatteryLevel); 00039 SetDlgItemText(hwndDlg, IDC_ALARMVALUE1, szBatteryLevel); 00040 } 00041 00042 SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1, 00043 TBM_SETRANGE, 00044 (WPARAM)TRUE, 00045 (LPARAM)MAKELONG(0, 100)); 00046 SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1, 00047 TBM_SETTICFREQ, 00048 (WPARAM)TRUE, 00049 (LPARAM)20); 00050 SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1, 00051 TBM_SETPOS, 00052 (WPARAM)TRUE, 00053 (LPARAM)gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].BatteryLevel); 00054 00055 if (LoadString(hApplet, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.Action+IDS_PowerActionNone1, szAction, MAX_PATH)) 00056 { 00057 SetDlgItemText(hwndDlg, IDC_ALARMAKTION1, szAction); 00058 } 00059 00060 memset(szMessage, 0x0, sizeof(szMessage)); 00061 LoadString(hApplet, IDS_NOACTION, szMessage, MAX_PATH); 00062 00063 if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_TEXT) 00064 { 00065 if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) 00066 { 00067 if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH) && LoadString(hApplet, IDS_TEXT, szText, MAX_PATH)) 00068 { 00069 _stprintf(szMessage,_T("%s, %s"),szSound,szText); 00070 } 00071 } 00072 else 00073 { 00074 if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH)) 00075 { 00076 _stprintf(szMessage,_T("%s"),szText); 00077 } 00078 } 00079 } 00080 else 00081 { 00082 if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) 00083 { 00084 if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH)) 00085 { 00086 _stprintf(szMessage,_T("%s"),szSound); 00087 } 00088 } 00089 } 00090 00091 SetDlgItemText(hwndDlg, IDC_ALARMMSG1, szMessage); 00092 00093 if (LoadString(hApplet, IDS_PowerActionNone2, szProgram, MAX_PATH)) 00094 { 00095 SetDlgItemText(hwndDlg, IDC_ALARMPROG1, szProgram); 00096 } 00097 } 00098 00099 if (gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].Enable) 00100 { 00101 CheckDlgButton(hwndDlg, IDC_ALARM2, 00102 gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].Enable ? BST_CHECKED : BST_UNCHECKED); 00103 00104 if (LoadString(hApplet, IDS_PROCENT, szTemp, MAX_PATH)) 00105 { 00106 _stprintf(szBatteryLevel, szTemp, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].BatteryLevel); 00107 SetDlgItemText(hwndDlg, IDC_ALARMVALUE2, szBatteryLevel); 00108 } 00109 00110 SendDlgItemMessage(hwndDlg, IDC_ALARMBAR2, 00111 TBM_SETRANGE, 00112 (WPARAM)TRUE, 00113 (LPARAM)MAKELONG(0, 100)); 00114 SendDlgItemMessage(hwndDlg, IDC_ALARMBAR2, 00115 TBM_SETPOS, 00116 (WPARAM)TRUE, 00117 (LPARAM)gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].BatteryLevel); 00118 00119 if (LoadString(hApplet, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.Action+IDS_PowerActionNone1, szAction, MAX_PATH)) 00120 { 00121 SetDlgItemText(hwndDlg, IDC_ALARMAKTION2, szAction); 00122 } 00123 00124 memset(szMessage, 0x0, sizeof(szMessage)); 00125 LoadString(hApplet, IDS_NOACTION, szMessage, MAX_PATH); 00126 00127 if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_TEXT) 00128 { 00129 if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) 00130 { 00131 if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH) && LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH)) 00132 { 00133 _stprintf(szMessage,_T("%s, %s"),szSound,szText); 00134 } 00135 } 00136 else 00137 { 00138 if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH)) 00139 { 00140 _stprintf(szMessage,_T("%s"),szText); 00141 } 00142 } 00143 } 00144 else 00145 { 00146 if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND) 00147 { 00148 if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH)) 00149 { 00150 _stprintf(szMessage,_T("%s"),szSound); 00151 } 00152 } 00153 } 00154 00155 SetDlgItemText(hwndDlg, IDC_ALARMMSG2, szMessage); 00156 00157 if (LoadString(hApplet, IDS_PowerActionNone2, szProgram, MAX_PATH)) 00158 { 00159 SetDlgItemText(hwndDlg, IDC_ALARMPROG2, szProgram); 00160 } 00161 } 00162 00163 return TRUE; 00164 } 00165 00166 /* Property page dialog callback */ 00167 INT_PTR CALLBACK 00168 AlarmsDlgProc(HWND hwndDlg, 00169 UINT uMsg, 00170 WPARAM wParam, 00171 LPARAM lParam) 00172 { 00173 UNREFERENCED_PARAMETER(lParam); 00174 UNREFERENCED_PARAMETER(wParam); 00175 switch(uMsg) 00176 { 00177 case WM_INITDIALOG: 00178 if (!Ala_InitData(hwndDlg)) 00179 { 00180 // TODO: 00181 // Handle initialization error 00182 } 00183 return TRUE; 00184 default: 00185 break; 00186 } 00187 return FALSE; 00188 } Generated on Fri May 25 2012 04:19:05 for ReactOS by
1.7.6.1
|