diff options
Diffstat (limited to 'protocols/VKontakte/src/vk_proto.cpp')
-rw-r--r-- | protocols/VKontakte/src/vk_proto.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index 885c2c1205..b9aa9b1c5f 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -1,5 +1,5 @@ /*
-Copyright (c) 2013-24 Miranda NG team (https://miranda-ng.org)
+Copyright (c) 2013-25 Miranda NG team (https://miranda-ng.org)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -34,6 +34,7 @@ CVkProto::CVkProto(const char *szModuleName, const wchar_t *pwszUserName) : m_chats(1, NumericKeySortT),
m_ChatsTyping(1, NumericKeySortT),
m_iLoadHistoryTask(0),
+ m_iLoadCListIntervalCounter(0),
m_bNotifyForEndLoadingHistory(false),
m_bNotifyForEndLoadingHistoryAllContact(false),
m_hAPIConnection(nullptr),
@@ -41,6 +42,7 @@ CVkProto::CVkProto(const char *szModuleName, const wchar_t *pwszUserName) : m_bSetBroadcast(false),
m_bNeedSendOnline(false),
m_bErr404Return(false),
+ m_bCaptchaReqInProgress(false),
m_vkOptions(this)
{
bIint64IDCompatibility = getBool("Iint64IDCompatibility");
@@ -88,6 +90,8 @@ CVkProto::CVkProto(const char *szModuleName, const wchar_t *pwszUserName) : CreateProtoService(PS_JOINCHAT, &CVkProto::OnJoinChat);
HookProtoEvent(ME_GC_EVENT, &CVkProto::OnChatEvent);
HookProtoEvent(ME_GC_BUILDMENU, &CVkProto::OnGcMenuHook);
+
+ LoadCookies();
}
CVkProto::~CVkProto()
@@ -239,6 +243,7 @@ void CVkProto::InitMenus() CreateProtoService(PS_GETALLSERVERHISTORYFORCONTACT, &CVkProto::SvcGetAllServerHistoryForContact);
CreateProtoService(PS_GETALLSERVERHISTORY, &CVkProto::SvcGetAllServerHistory);
CreateProtoService(PS_VISITPROFILE, &CVkProto::SvcVisitProfile);
+ CreateProtoService(PS_GOTOSITEIM, &CVkProto::SvcGoToSiteIM);
CreateProtoService(PS_CREATECHAT, &CVkProto::SvcCreateChat);
CreateProtoService(PS_ADDASFRIEND, &CVkProto::SvcAddAsFriend);
CreateProtoService(PS_DELETEFRIEND, &CVkProto::SvcDeleteFriend);
@@ -265,6 +270,13 @@ void CVkProto::InitMenus() SET_UID(mi, 0x828cc50e, 0x398d, 0x43a2, 0xbf, 0xd3, 0xa9, 0x96, 0x47, 0x9d, 0x52, 0xff);
m_hContactMenuItems[CMI_VISITPROFILE] = Menu_AddContactMenuItem(&mi, m_szModuleName);
+ mi.pszService = PS_GOTOSITEIM;
+ mi.position = -200001000 + CMI_GOTOSITEIM;
+ mi.hIcolibItem = g_plugin.getIconHandle(IDI_FORWARD);
+ mi.name.w = LPGENW("Go to site IM");
+ SET_UID(mi, 0x681c7e6f, 0x34fa, 0x4184, 0x81, 0x6f, 0x43, 0x00, 0x51, 0xe7, 0xad, 0x42);
+ m_hContactMenuItems[CMI_GOTOSITEIM] = Menu_AddContactMenuItem(&mi, m_szModuleName);
+
mi.pszService = PS_MARKMESSAGESASREAD;
mi.position = -200001000 + CMI_MARKMESSAGESASREAD;
mi.hIcolibItem = g_plugin.getIconHandle(IDI_MARKMESSAGESASREAD);
@@ -402,6 +414,7 @@ int CVkProto::OnPreBuildContactMenu(WPARAM hContact, LPARAM) bool bisBroadcast = !(IsEmpty(ptrW(db_get_wsa(hContact, m_szModuleName, "AudioUrl"))));
bool bIsGroup = IsGroupUser(hContact);
Menu_ShowItem(m_hContactMenuItems[CMI_VISITPROFILE], iUserId != VK_FEED_USER);
+ Menu_ShowItem(m_hContactMenuItems[CMI_GOTOSITEIM], iUserId != VK_FEED_USER);
Menu_ShowItem(m_hContactMenuItems[CMI_MARKMESSAGESASREAD], iUserId != VK_FEED_USER);
Menu_ShowItem(m_hContactMenuItems[CMI_WALLPOST], !isChatRoom(hContact));
Menu_ShowItem(m_hContactMenuItems[CMI_ADDASFRIEND], !bisFriend && !isChatRoom(hContact) && iUserId != VK_FEED_USER && !bIsGroup);
|