예제 #1
0
//====================================================================
//----------+++--> Enumerate & display setup alarms incl. hourly chime:
void UpdateAlarmMenu(HMENU hMenu)   //--------------------------+++-->
{
	wchar_t buf[MAX_PATH];
	alarm_t pAS;
	int count;
	api.GetStr(L"", L"JihouFile", buf, _countof(buf), L"");
	if(buf[0])
		EnableMenuItem(hMenu,IDM_CHIME,MF_BYCOMMAND|MF_ENABLED);
	if(TimetableSearchID(SCHEDID_CHIME)) {
		CheckMenuItem(hMenu,IDM_CHIME,MF_BYCOMMAND|MF_CHECKED);
	}
	count = GetAlarmNum();
	if(count){
		int idx;
		InsertMenu(hMenu,IDM_PROP_ALARM,MF_BYCOMMAND|MF_SEPARATOR,0,NULL);
		for(idx=0; idx<count; ++idx) {
			ReadAlarmFromReg(&pAS,idx);
			wsprintf(buf, FMT("    %s	(%i"), pAS.dlgmsg.name,idx+1);
			InsertMenu(hMenu, IDM_PROP_ALARM, MF_BYCOMMAND|MF_STRING, IDM_I_ALARM+idx, buf);
			if(pAS.uFlags&ALRM_ENABLED)
				CheckMenuItem(hMenu,IDM_I_ALARM+idx,MF_BYCOMMAND|MF_CHECKED);
		}
		InsertMenu(hMenu,IDM_PROP_ALARM,MF_BYCOMMAND|MF_SEPARATOR,0,NULL);
	}
}
예제 #2
0
파일: alarm.c 프로젝트: andrejtm/T-Clock
//=============================================================================================
//----------------------------------------------+++--> Load Configured Alarm Data From Registry:
void InitAlarm()   //--------------------------------------------------------------------+++-->
{
	time_t ts;
	time_t next_update;
	TimetableClean();
	m_maxAlarm = GetAlarmNum();
	if(m_maxAlarm > 0) {
		int i;
		for(i=0; i<m_maxAlarm; ++i) {
			AlarmEnable(i, -2);
		}
	}
	
	AlarmChimeEnable(-2);
	// this is for Windows 2000 only - EasterEgg function:
#	ifdef WIN2K_COMPAT
	if(api.OS == TOS_2000 && api.GetIntEx("Desktop","Transparent2kIconText",0)) {
		TimetableAdd(SCHEDID_WIN2K, 30, 30);
	}
#	endif // WIN2K_COMPAT
	// update check (always added, checks "enabled" on trigger)
	ts = time(NULL) + 300;
	next_update = api.GetInt64(NULL, UPDATE_TIMESTAMP, 0);
	if(!next_update) {
		next_update = time(NULL) + 86400;
		api.SetInt64(NULL, UPDATE_TIMESTAMP, next_update);
	}
	if(ts > next_update)
		TimetableAdd(SCHEDID_UPDATE, ts, (unsigned)(ts-next_update));
	else
		TimetableAdd(SCHEDID_UPDATE, next_update, 0);
}