Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
static BOOLEAN
Ala_InitData(HWND hwndDlg)
{
	TCHAR szAction[MAX_PATH];
	TCHAR szText[MAX_PATH];
	TCHAR szSound[MAX_PATH];
	TCHAR szMessage[MAX_PATH];
	TCHAR szTemp[MAX_PATH];
	TCHAR szBatteryLevel[MAX_PATH];
	TCHAR szProgram[MAX_PATH];

	if (!ReadGlobalPwrPolicy(&gGPP))
	{
		return FALSE;
	}

	if (gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].Enable)
	{
		CheckDlgButton(hwndDlg, IDC_ALARM1,
			gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].Enable ? BST_CHECKED : BST_UNCHECKED);

		if (LoadString(hApplet, IDS_PROCENT, szTemp, MAX_PATH))
		{
			_stprintf(szBatteryLevel, szTemp, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].BatteryLevel);
			SetDlgItemText(hwndDlg, IDC_ALARMVALUE1, szBatteryLevel);
		}

		SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1,
			TBM_SETRANGE,
			(WPARAM)TRUE,
			(LPARAM)MAKELONG(0, 100));
		SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1,
			TBM_SETTICFREQ,
			(WPARAM)TRUE,
			(LPARAM)20);
		SendDlgItemMessage(hwndDlg, IDC_ALARMBAR1,
			TBM_SETPOS,
			(WPARAM)TRUE,
			(LPARAM)gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].BatteryLevel);

		if (LoadString(hApplet, gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.Action+IDS_PowerActionNone1, szAction, MAX_PATH))
		{
			SetDlgItemText(hwndDlg, IDC_ALARMAKTION1, szAction);
		}

		memset(szMessage, 0x0, sizeof(szMessage));
		LoadString(hApplet, IDS_NOACTION, szMessage, MAX_PATH);

		if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_TEXT)
		{
			if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND)
			{
				if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH) && LoadString(hApplet, IDS_TEXT, szText, MAX_PATH))
				{
					_stprintf(szMessage,_T("%s, %s"),szSound,szText);
				}
			}
			else
			{
				if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH))
				{
					_stprintf(szMessage,_T("%s"),szText);
				}
			}
		}
		else
		{
			if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_LOW].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND)
			{
				if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH))
				{
					_stprintf(szMessage,_T("%s"),szSound);
				}
			}
		}

		SetDlgItemText(hwndDlg, IDC_ALARMMSG1, szMessage);

		if (LoadString(hApplet, IDS_PowerActionNone2, szProgram, MAX_PATH))
		{
			SetDlgItemText(hwndDlg, IDC_ALARMPROG1, szProgram);
		}
	}

	if (gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].Enable)
	{
		CheckDlgButton(hwndDlg, IDC_ALARM2,
			gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].Enable ? BST_CHECKED : BST_UNCHECKED);

		if (LoadString(hApplet, IDS_PROCENT, szTemp, MAX_PATH))
		{
			_stprintf(szBatteryLevel, szTemp, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].BatteryLevel);
			SetDlgItemText(hwndDlg, IDC_ALARMVALUE2, szBatteryLevel);
		}

		SendDlgItemMessage(hwndDlg, IDC_ALARMBAR2,
			TBM_SETRANGE,
			(WPARAM)TRUE,
			(LPARAM)MAKELONG(0, 100));
		SendDlgItemMessage(hwndDlg, IDC_ALARMBAR2,
			TBM_SETPOS,
			(WPARAM)TRUE,
			(LPARAM)gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].BatteryLevel);

		if (LoadString(hApplet, gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.Action+IDS_PowerActionNone1, szAction, MAX_PATH))
		{
			SetDlgItemText(hwndDlg, IDC_ALARMAKTION2, szAction);
		}

		memset(szMessage, 0x0, sizeof(szMessage));
		LoadString(hApplet, IDS_NOACTION, szMessage, MAX_PATH);

		if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_TEXT)
		{
			if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND)
			{
				if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH) && LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH))
				{
					_stprintf(szMessage,_T("%s, %s"),szSound,szText);
				}
			}
			else
			{
				if (LoadString(hApplet, IDS_TEXT, szText, MAX_PATH))
				{
					_stprintf(szMessage,_T("%s"),szText);
				}
			}
		}
		else
		{
			if (LOWORD(gGPP.user.DischargePolicy[DISCHARGE_POLICY_CRITICAL].PowerPolicy.EventCode) & POWER_LEVEL_USER_NOTIFY_SOUND)
			{
				if (LoadString(hApplet, IDS_SOUND, szSound, MAX_PATH))
				{
					_stprintf(szMessage,_T("%s"),szSound);
				}
			}
		}

		SetDlgItemText(hwndDlg, IDC_ALARMMSG2, szMessage);

		if (LoadString(hApplet, IDS_PowerActionNone2, szProgram, MAX_PATH))
		{
			SetDlgItemText(hwndDlg, IDC_ALARMPROG2, szProgram);
		}
	}

	return TRUE;
}
Exemplo n.º 3
0
VOID
Adv_InitDialog(VOID)
{
	HWND hList1;
	HWND hList2;
	HWND hList3;

	BOOLEAN bSuspend = FALSE;
	BOOLEAN bHibernate;
	BOOLEAN bShutdown;

	SYSTEM_POWER_CAPABILITIES spc;

	CheckDlgButton(hAdv,
		IDC_SYSTRAYBATTERYMETER,
		gGPP.user.GlobalFlags & EnableSysTrayBatteryMeter ? BST_CHECKED : BST_UNCHECKED);
	CheckDlgButton(hAdv,
		IDC_PASSWORDLOGON,
		gGPP.user.GlobalFlags & EnablePasswordLogon ? BST_CHECKED : BST_UNCHECKED);
	CheckDlgButton(hAdv,
		IDC_VIDEODIMDISPLAY,
		gGPP.user.GlobalFlags & EnableVideoDimDisplay ? BST_CHECKED : BST_UNCHECKED);

	GetPwrCapabilities(&spc);

	if (spc.SystemS1 || spc.SystemS2 || spc.SystemS3)
		bSuspend=TRUE;

	bHibernate = spc.HiberFilePresent;
	bShutdown = spc.SystemS5;

	hList1 = GetDlgItem(hAdv, IDC_LIDCLOSE);
	SendMessage(hList1, CB_RESETCONTENT, 0, 0);

	memset(g_SystemBatteries, 0x0, sizeof(g_SystemBatteries));
	if (spc.SystemBatteriesPresent)
	{
		AddItem(hList1, IDS_PowerActionNone1, (LPARAM)PowerActionNone, g_SystemBatteries);

		if (bSuspend)
		{
			AddItem(hList1, IDS_PowerActionSleep, (LPARAM)PowerActionSleep, g_SystemBatteries);
		}

		if (bHibernate)
		{
			AddItem(hList1, IDS_PowerActionHibernate, (LPARAM)PowerActionHibernate, g_SystemBatteries);
		}
	}
	else
	{
		ShowWindow(GetDlgItem(hAdv, IDC_VIDEODIMDISPLAY), FALSE);
		ShowWindow(GetDlgItem(hAdv, IDC_SLIDCLOSE), FALSE);
		ShowWindow(hList1, FALSE);
	}

	hList2 = GetDlgItem(hAdv, IDC_POWERBUTTON);
	SendMessage(hList2, CB_RESETCONTENT, 0, 0);

	memset(g_PowerButton, 0x0, sizeof(g_PowerButton));
	if (spc.PowerButtonPresent)
	{
		AddItem(hList2, IDS_PowerActionNone1, (LPARAM)PowerActionNone, g_PowerButton);
		AddItem(hList2, IDS_PowerActionWarmEject, (LPARAM)PowerActionWarmEject, g_PowerButton);

		if (bSuspend)
		{
			AddItem(hList2, IDS_PowerActionSleep, (LPARAM)PowerActionSleep, g_PowerButton);
		}

		if (bHibernate)
		{
			AddItem(hList2, IDS_PowerActionHibernate, (LPARAM)PowerActionHibernate, g_PowerButton);

		}
		if (bShutdown)
		{
			AddItem(hList2, IDS_PowerActionShutdown, (LPARAM)PowerActionShutdown, g_PowerButton);
		}
	}
	else
	{
		ShowWindow(GetDlgItem(hAdv, IDC_SPOWERBUTTON), FALSE);
		ShowWindow(hList2, FALSE);
	}

	hList3=GetDlgItem(hAdv, IDC_SLEEPBUTTON);
	SendMessage(hList3, CB_RESETCONTENT, 0, 0);
    memset(g_SleepButton, 0x0, sizeof(g_SleepButton));

	if (spc.SleepButtonPresent)
	{
		AddItem(hList3, IDS_PowerActionNone1, (LPARAM)PowerActionNone, g_SleepButton);
		AddItem(hList3, IDS_PowerActionWarmEject, (LPARAM)PowerActionWarmEject, g_SleepButton);

		if (bSuspend)
		{
			AddItem(hList3, IDS_PowerActionSleep, (LPARAM)PowerActionSleep, g_SleepButton);
		}

		if (bHibernate)
		{
			AddItem(hList3, IDS_PowerActionHibernate, (LPARAM)PowerActionHibernate, g_SleepButton);
		}

		if (bShutdown)
		{
			AddItem(hList3, IDS_PowerActionShutdown, (LPARAM)PowerActionShutdown, g_SleepButton);
		}
	}
	else
	{
		ShowWindow(GetDlgItem(hAdv, IDC_SSLEEPBUTTON), FALSE);
		ShowWindow(hList3, FALSE);
	}

	if (ReadGlobalPwrPolicy(&gGPP))
	{
		ShowCurrentPowerActionPolicies(hAdv);
	}
}