예제 #1
0
INT_PTR CMraProto::MraWorld(WPARAM wParam, LPARAM)
{
    DWORD dwContactEMailMRCount = GetContactEMailCount(wParam, TRUE);
    if (dwContactEMailMRCount) {
        if (dwContactEMailMRCount == 1) {
            CMStringA szEmail;
            if (GetContactFirstEMail(wParam, TRUE, szEmail))
                MraMPopSessionQueueAddUrlAndEMail(hMPopSessionQueue, MRA_WORLD_URL, szEmail);
        }
        else MraSelectEMailDlgShow(wParam, MRA_SELECT_EMAIL_TYPE_WORLD);
    }
    return 0;
}
예제 #2
0
INT_PTR CMraProto::MraAnswers(WPARAM wParam, LPARAM lParam)
{
	if (!m_bLoggedIn)
		return 0;

	DWORD dwContactEMailMRCount = GetContactEMailCount((HANDLE)wParam, TRUE);
	if (dwContactEMailMRCount) {
		if (dwContactEMailMRCount == 1) {
			CMStringA szEmail;
			if (GetContactFirstEMail((HANDLE)wParam, TRUE, szEmail))
				MraMPopSessionQueueAddUrlAndEMail(hMPopSessionQueue, MRA_ANSWERS_URL, szEmail);
		}
		else MraSelectEMailDlgShow((HANDLE)wParam, MRA_SELECT_EMAIL_TYPE_ANSWERS);
	}
	return 0;
}
예제 #3
0
INT_PTR CMraProto::MraSendPostcard(WPARAM wParam, LPARAM)
{
    DWORD dwContactEMailCount = GetContactEMailCount(wParam, FALSE);
    if (dwContactEMailCount) {
        if (dwContactEMailCount == 1) {
            CMStringA szUrl, szEmail;
            if (GetContactFirstEMail(wParam, FALSE, szEmail)) {
                szEmail.MakeLower();
                szUrl.Format("http://cards.mail.ru/event.html?rcptname=%S&rcptemail=%s", pcli->pfnGetContactDisplayName(wParam, 0), szEmail);
                MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl);
            }
        }
        else MraSelectEMailDlgShow(wParam, MRA_SELECT_EMAIL_TYPE_SEND_POSTCARD);
    }
    return 0;
}
예제 #4
0
INT_PTR CMraProto::MraSendEmail(WPARAM wParam, LPARAM)
{
    DWORD dwContactEMailCount = GetContactEMailCount(wParam, FALSE);
    if (dwContactEMailCount) {
        if (dwContactEMailCount == 1) {
            CMStringA szUrl, szEmail;
            if (GetContactFirstEMail(wParam, FALSE, szEmail)) {
                szEmail.MakeLower();
                szUrl.Format("https://e.mail.ru/cgi-bin/sentmsg?To=%s", szEmail);
                MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl);
            }
        }
        else MraSelectEMailDlgShow(wParam, MRA_SELECT_EMAIL_TYPE_SEND_POSTCARD);
    }
    return 0;
}
예제 #5
0
INT_PTR CMraProto::MraSendPostcard(WPARAM wParam, LPARAM lParam)
{
	if (!m_bLoggedIn)
		return 0;

	DWORD dwContactEMailCount = GetContactEMailCount((HANDLE)wParam, FALSE);
	if (dwContactEMailCount) {
		if (dwContactEMailCount == 1) {
			CMStringA szUrl, szEmail;
			if ( GetContactFirstEMail((HANDLE)wParam, FALSE, szEmail)) {
				szEmail.MakeLower();
				szUrl.Format("http://cards.mail.ru/event.html?rcptname=%s&rcptemail=%s", GetContactNameA((HANDLE)wParam), szEmail);
				MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl);
			}
		}
		else MraSelectEMailDlgShow((HANDLE)wParam, MRA_SELECT_EMAIL_TYPE_SEND_POSTCARD);
	}
	return 0;
}
예제 #6
0
int CMraProto::MraRebuildContactMenu(WPARAM hContact, LPARAM)
{
    bool bIsContactMRA, bHasEMail, bHasEMailMR, bChatAgent;
    DWORD dwContactSeverFlags = 0;
    CMStringW blogStatusMsgSize;

    // proto own contact
    bIsContactMRA = IsContactMra(hContact);
    if (bIsContactMRA) {
        bHasEMail = true;
        bHasEMailMR = true;
        bChatAgent = IsContactChatAgent(hContact);
        GetContactBasicInfoW(hContact, NULL, NULL, NULL, &dwContactSeverFlags, NULL, NULL, NULL, NULL);
        mraGetStringW(hContact, DBSETTING_BLOGSTATUS, blogStatusMsgSize);
    }
    // non proto contact
    else {
        bHasEMail = false;
        bHasEMailMR = false;
        bChatAgent = false;
        if (!getByte(NULL, "HideMenuItemsForNonMRAContacts", MRA_DEFAULT_HIDE_MENU_ITEMS_FOR_NON_MRA))
            if (!IsContactMraProto(hContact))// избегаем добавления менюшек в контакты других копий MRA
                if (GetContactEMailCount(hContact, FALSE)) {
                    bHasEMail = true;
                    if (GetContactEMailCount(hContact, TRUE)) bHasEMailMR = true;
                }
    }
    // menu root;
    Menu_ShowItem(hContactMenuRoot, bHasEMail);

    //"Request authorization"
    Menu_ShowItem(hContactMenuItems[0], (m_bLoggedIn && bIsContactMRA));// && (dwContactSeverFlags&CONTACT_INTFLAG_NOT_AUTHORIZED)

    //"Grant authorization"
    Menu_ShowItem(hContactMenuItems[1], (m_bLoggedIn && bIsContactMRA && !bChatAgent));

    //"&Send E-Mail"
    Menu_ShowItem(hContactMenuItems[2], (bHasEMail && !bChatAgent));

    //"&Send postcard"
    Menu_ShowItem(hContactMenuItems[3], (bHasEMail && !bChatAgent));

    //"&View Album"
    Menu_ShowItem(hContactMenuItems[4], (bHasEMailMR && !bChatAgent));

    //"Reply Blog Status"
    Menu_ShowItem(hContactMenuItems[5], (m_bLoggedIn && blogStatusMsgSize.GetLength() && !bChatAgent));

    //"View Video"
    Menu_ShowItem(hContactMenuItems[6], (bHasEMailMR && !bChatAgent));

    //"Answers"
    Menu_ShowItem(hContactMenuItems[7], (bHasEMailMR && !bChatAgent));

    //"World"
    Menu_ShowItem(hContactMenuItems[8], (bHasEMailMR && !bChatAgent));

    //"Send &Nudge"
    Menu_ShowItem(hContactMenuItems[9], (!m_heNudgeReceived) ? (m_bLoggedIn && bIsContactMRA) : 0);
    return 0;
}