//---------------------------------------------------------------------------
//  MQModifySelect
//    メニューから選択されたときに呼び出される。
//---------------------------------------------------------------------------
MQPLUGIN_EXPORT BOOL MQModifySelect(int index, MQCDocument* doc)
{
	if (index == 0)
	{
		return ShowMainDialog(doc);
	}
	return false;
}
//---------------------------------------------------------------------------
//  MQModifyObject
//    メニューから選択されたときに呼び出される。
//---------------------------------------------------------------------------
MQPLUGIN_EXPORT BOOL MQModifyObject(int index, MQCDocument* doc)
{
	if (index == 0)
	{
		return ShowMainDialog(doc);
	}
	// 呼び出し側(Metasequoia)に true を返すと、ドキュメントに変更があった、と判断される。
	return false;
}
int WINAPI WKTrayMenuPopup(int iActionType, int& iItemId, HMENU hMenu)
{
	if(!bAddTrayMenu){
		return 0;
	}
	if(iActionType==TM_ADDCUSTOMITEM){
		aRKeys.RemoveAll();
		iIdBeginning=iItemId;
		int iCount=0;
		_SortReminders srp=(_SortReminders)GetProcAddress(hRemin,"SortReminders");
		if(srp){
			(*srp)();
		}
		_GetReminder fp=(_GetReminder)GetProcAddress(hRemin,"GetReminder");
		COleDateTime dtNow=COleDateTime::GetCurrentTime();
		HMENU mn=CreatePopupMenu();
		int iPos=0;
		CString sText;
		char szKey[64]={0};
		sprintf(szKey,"#%i",iCount);
		CWPReminder rem;
		while((*fp)(szKey,rem)){
			COleDateTime tm(rem.EventTime);
			sText=GetRemDsc(rem,TRUE);
			if(sText!="" && abs(tm-dtNow)<=14 && !rem.bDisableRemider){
				AppendMenu(mn,MF_STRING,iItemId,sText);
				aRKeys.SetAtGrow(iPos,rem.szKey);
				iPos++;
			}
			iItemId++;//Увеличиваем на все, даже на пустые!
			iCount++;
			rem.Clear();
			sprintf(szKey,"#%i",iCount);
		}
		//if(iPos>0)//Всегда
		{
			{
				iAddNew=iItemId;
				iItemId++;
				AppendMenu(mn,MF_STRING,iAddNew,_l2("Add new reminder"));
			}
			{
				iShowAll=iItemId;
				iItemId++;
				AppendMenu(mn,MF_STRING,iShowAll,_l2("Show calendar"));
			}
			AppendMenu(hMenu,MF_POPUP|MF_STRING,UINT(mn),_l2("Reminders"));
		}
	}else{
		if(iItemId==iShowAll){
			ShowMainDialog(0);
		}else if(iItemId==iAddNew){
			//WKCallPluginFunction(0,0);
			//CreateRemOnDate(0,COleDateTime::GetCurrentTime(),FALSE);
			CString sSelectedKey=calcNextPrefixedId(DEF_ID);
			char szEvent[128]={0};
			strcpy(szEvent,sSelectedKey);
			WKPluginShowEventX(szEvent,0,COleDateTime::GetCurrentTime(),0);
		}else{
			char szKey[64]={0};
			strcpy(szKey,aRKeys[iItemId-iIdBeginning]);
			WKPluginShowEventX(szKey,0,COleDateTime::GetCurrentTime(),0);
		}
	}
	return 0;
}