summaryrefslogtreecommitdiff
path: root/protocols/MSN/src/msn_menu.cpp
diff options
context:
space:
mode:
authordartraiden <wowemuh@gmail.com>2020-04-07 22:57:27 +0300
committerdartraiden <wowemuh@gmail.com>2020-04-07 22:57:44 +0300
commit71cfe74d3618c15feab24032c7d4cd71d77129af (patch)
tree7b3e5fcababe16ce26b8b8bfc8591d9732e2cb33 /protocols/MSN/src/msn_menu.cpp
parent559cc9efdc9fbc5d3da5edaaf24924e0cc57a20d (diff)
MSN: moved to deprecated, banned, removed support from plugins, etc
Diffstat (limited to 'protocols/MSN/src/msn_menu.cpp')
-rw-r--r--protocols/MSN/src/msn_menu.cpp265
1 files changed, 0 insertions, 265 deletions
diff --git a/protocols/MSN/src/msn_menu.cpp b/protocols/MSN/src/msn_menu.cpp
deleted file mode 100644
index 611ed479ab..0000000000
--- a/protocols/MSN/src/msn_menu.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
-Plugin of Miranda IM for communicating with users of the MSN Messenger protocol.
-
-Copyright (c) 2012-2020 Miranda NG team
-Copyright (c) 2006-2012 Boris Krasnovskiy.
-Copyright (c) 2003-2005 George Hazan.
-Copyright (c) 2002-2003 Richard Hughes (original version).
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "stdafx.h"
-#include "msn_proto.h"
-
-static HGENMENU hBlockMenuItem, hLiveSpaceMenuItem, hNetmeetingMenuItem, hChatInviteMenuItem, hOpenInboxMenuItem;
-
-// Block command callback function
-INT_PTR CMsnProto::MsnBlockCommand(WPARAM hContact, LPARAM)
-{
- if (msnLoggedIn) {
- char tEmail[MSN_MAX_EMAIL_LEN];
- if (db_get_static(hContact, m_szModuleName, "wlid", tEmail, sizeof(tEmail))
- && db_get_static(hContact, m_szModuleName, "e-mail", tEmail, sizeof(tEmail)))
- return 0;
-
- if (Lists_IsInList(LIST_BL, tEmail))
- delSetting(hContact, "ApparentMode");
- else
- setWord(hContact, "ApparentMode", ID_STATUS_OFFLINE);
- }
- return 0;
-}
-
-// MsnGotoInbox - goes to the Inbox folder at the live.com
-INT_PTR CMsnProto::MsnGotoInbox(WPARAM, LPARAM)
-{
- MCONTACT hContact = MSN_HContactFromEmail(MyOptions.szEmail);
- if (hContact)
- g_clistApi.pfnRemoveEvent(hContact, 1);
-
- MsnInvokeMyURL(true, "http://mail.live.com?rru=inbox");
- return 0;
-}
-
-INT_PTR CMsnProto::MsnSendHotmail(WPARAM hContact, LPARAM)
-{
- char szEmail[MSN_MAX_EMAIL_LEN];
- if (MSN_IsMeByContact(hContact, szEmail))
- MsnGotoInbox(0, 0);
- else if (msnLoggedIn)
- MsnInvokeMyURL(true, CMStringA().Format("http://mail.live.com?rru=compose?to=%s", mir_urlEncode(szEmail).c_str()));
-
- return 0;
-}
-
-// MsnSetupAlerts - goes to the alerts section at the live.com
-INT_PTR CMsnProto::MsnSetupAlerts(WPARAM, LPARAM)
-{
- MsnInvokeMyURL(false, "http://alerts.live.com");
- return 0;
-}
-
-// MsnViewProfile - view a contact's profile
-INT_PTR CMsnProto::MsnViewProfile(WPARAM hContact, LPARAM)
-{
- char buf[64], *cid;
-
- if (hContact == NULL)
- cid = mycid;
- else {
- cid = buf;
- if (db_get_static(hContact, m_szModuleName, "CID", buf, 30))
- return 0;
- }
-
- char tUrl[256];
- mir_snprintf(tUrl, "http://cid-%I64X.profiles.live.com", _atoi64(cid));
- MsnInvokeMyURL(false, tUrl);
- return 0;
-}
-
-// MsnEditProfile - goes to the Profile section at the live.com
-INT_PTR CMsnProto::MsnEditProfile(WPARAM, LPARAM)
-{
- MsnViewProfile(0, 0);
- return 0;
-}
-
-// MsnInviteCommand - invite command callback function
-INT_PTR CMsnProto::MsnInviteCommand(WPARAM, LPARAM)
-{
- DialogBoxParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_CHATROOM_INVITE), nullptr, DlgInviteToChat,
- LPARAM(new InviteChatParam(nullptr, NULL, this)));
- return 0;
-}
-
-// MsnRebuildContactMenu - gray or ungray the block menus according to contact's status
-int CMsnProto::OnPrebuildContactMenu(WPARAM hContact, LPARAM)
-{
- if (!MSN_IsMyContact(hContact))
- return 0;
-
- char szEmail[MSN_MAX_EMAIL_LEN];
- bool isMe = MSN_IsMeByContact(hContact, szEmail);
- if (szEmail[0]) {
- int listId = Lists_GetMask(szEmail);
- bool noChat = !(listId & LIST_FL) || isMe || isChatRoom(hContact);
-
- Menu_ModifyItem(hBlockMenuItem, (listId & LIST_BL) ? LPGENW("&Unblock") : LPGENW("&Block"));
- Menu_ShowItem(hBlockMenuItem, !noChat);
-
- Menu_ModifyItem(hOpenInboxMenuItem, isMe ? LPGENW("Open &Hotmail Inbox") : LPGENW("Send &Hotmail E-mail"));
- Menu_ShowItem(hOpenInboxMenuItem, emailEnabled);
-
- Menu_ShowItem(hChatInviteMenuItem, !noChat);
- }
-
- return 0;
-}
-
-int CMsnProto::OnContactDoubleClicked(WPARAM hContact, LPARAM)
-{
- if (emailEnabled && MSN_IsMeByContact(hContact)) {
- MsnSendHotmail(hContact, 0);
- return 1;
- }
- return 0;
-}
-
-// Menus initialization
-void CMsnProto::OnBuildProtoMenu(void)
-{
- CMenuItem mi(&g_plugin);
- mi.root = Menu_GetProtocolRoot(this);
-
- mi.pszService = MSN_INVITE;
- CreateProtoService(mi.pszService, &CMsnProto::MsnInviteCommand);
- mi.position = 201002;
- mi.hIcolibItem = g_plugin.getIconHandle(IDI_INVITE);
- mi.name.a = LPGEN("Create &Chat");
- menuItemsMain[0] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-
- mi.pszService = MS_GOTO_INBOX;
- CreateProtoService(mi.pszService, &CMsnProto::MsnGotoInbox);
- mi.position = 201003;
- mi.hIcolibItem = g_plugin.getIconHandle(IDI_INBOX);
- mi.name.a = LPGEN("Display &Hotmail Inbox");
- menuItemsMain[1] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-
- mi.pszService = MS_EDIT_PROFILE;
- CreateProtoService(mi.pszService, &CMsnProto::MsnEditProfile);
- mi.position = 201004;
- mi.hIcolibItem = g_plugin.getIconHandle(IDI_PROFILE);
- mi.name.a = LPGEN("View &Profile");
- menuItemsMain[2] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-
- mi.pszService = MS_EDIT_ALERTS;
- CreateProtoService(mi.pszService, &CMsnProto::MsnSetupAlerts);
- mi.position = 201004;
- mi.hIcolibItem = g_plugin.getIconHandle(IDI_PROFILE);
- mi.name.a = LPGEN("Setup Live &Alerts");
- menuItemsMain[3] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-
- MSN_EnableMenuItems(m_iStatus >= ID_STATUS_ONLINE);
-}
-
-void CMsnProto::MSN_EnableMenuItems(bool bEnable)
-{
- for (auto &it : menuItemsMain)
- Menu_ModifyItem(it, nullptr, INVALID_HANDLE_VALUE, bEnable ? 0 : CMIF_GRAYED);
-
- if (bEnable)
- Menu_ShowItem(menuItemsMain[1], emailEnabled);
-}
-
-//////////////////////////////////////////////////////////////////////////////////////
-
-static INT_PTR MsnMenuBlockCommand(WPARAM hContact, LPARAM lParam)
-{
- CMsnProto* ppro = CMPlugin::getInstance(hContact);
- return (ppro) ? ppro->MsnBlockCommand(hContact, lParam) : 0;
-}
-
-static INT_PTR MsnMenuViewProfile(WPARAM hContact, LPARAM lParam)
-{
- CMsnProto* ppro = CMPlugin::getInstance(hContact);
- return (ppro) ? ppro->MsnViewProfile(hContact, lParam) : 0;
-}
-
-static INT_PTR MsnMenuSendHotmail(WPARAM hContact, LPARAM lParam)
-{
- CMsnProto* ppro = CMPlugin::getInstance(hContact);
- return (ppro) ? ppro->MsnSendHotmail(hContact, lParam) : 0;
-}
-
-static int MSN_OnPrebuildContactMenu(WPARAM hContact, LPARAM lParam)
-{
- CMsnProto* ppro = CMPlugin::getInstance(hContact);
- if (ppro)
- ppro->OnPrebuildContactMenu(hContact, lParam);
- else {
- Menu_ShowItem(hBlockMenuItem, false);
- Menu_ShowItem(hLiveSpaceMenuItem, false);
- Menu_ShowItem(hChatInviteMenuItem, false);
- Menu_ShowItem(hOpenInboxMenuItem, false);
- }
-
- return 0;
-}
-
-void MSN_InitContactMenu(void)
-{
- char servicefunction[100];
- mir_strcpy(servicefunction, "MSN");
- char* tDest = servicefunction + mir_strlen(servicefunction);
-
- CMenuItem mi(&g_plugin);
- mi.pszService = servicefunction;
-
- SET_UID(mi, 0xc6169b8f, 0x53ab, 0x4242, 0xbe, 0x90, 0xe2, 0x4a, 0xa5, 0x73, 0x88, 0x32);
- mir_strcpy(tDest, MSN_BLOCK);
- CreateServiceFunction(servicefunction, MsnMenuBlockCommand);
- mi.position = -500050000;
- mi.hIcolibItem = g_plugin.getIconHandle(IDI_MSNBLOCK);
- mi.name.a = LPGEN("&Block");
- hBlockMenuItem = Menu_AddContactMenuItem(&mi);
-
- SET_UID(mi, 0x7f7e4c24, 0x821c, 0x450f, 0x93, 0x76, 0xbe, 0x65, 0xe9, 0x2f, 0xb6, 0xc2);
- mir_strcpy(tDest, MSN_VIEW_PROFILE);
- CreateServiceFunction(servicefunction, MsnMenuViewProfile);
- mi.position = -500050003;
- mi.hIcolibItem = g_plugin.getIconHandle(IDI_PROFILE);
- mi.name.a = LPGEN("View &Profile");
- hLiveSpaceMenuItem = Menu_AddContactMenuItem(&mi);
-
- SET_UID(mi,0x25a007c0, 0x8dc7, 0x4284, 0x8a, 0x5e, 0x2, 0x83, 0x17, 0x5d, 0x52, 0xea);
- mir_strcpy(tDest, "/SendHotmail");
- CreateServiceFunction(servicefunction, MsnMenuSendHotmail);
- mi.position = -2000010005;
- mi.flags = CMIF_HIDDEN;
- mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_SENDEMAIL);
- mi.name.a = LPGEN("Open &Hotmail Inbox");
- hOpenInboxMenuItem = Menu_AddContactMenuItem(&mi);
-
- HookEvent(ME_CLIST_PREBUILDCONTACTMENU, MSN_OnPrebuildContactMenu);
-}
-
-void MSN_RemoveContactMenus(void)
-{
- Menu_RemoveItem(hBlockMenuItem);
- Menu_RemoveItem(hLiveSpaceMenuItem);
- Menu_RemoveItem(hChatInviteMenuItem);
- Menu_RemoveItem(hOpenInboxMenuItem);
-}