From 8b654ebcea0e70b228513b45bedfda08042cfb7b Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 29 Jun 2020 18:03:10 +0300 Subject: "Load server history" menu items gathered in one stub not to create zillions of duplicate menu items --- protocols/Discord/src/menus.cpp | 8 -------- protocols/Discord/src/proto.cpp | 1 + protocols/ICQ-WIM/src/proto.cpp | 14 ++++---------- protocols/SkypeWeb/res/Icons/sync_history.ico | Bin 5430 -> 0 bytes protocols/SkypeWeb/res/resource.rc | 1 - protocols/SkypeWeb/src/resource.h | 1 - protocols/SkypeWeb/src/skype_icons.cpp | 1 - protocols/SkypeWeb/src/skype_menus.cpp | 9 --------- protocols/SkypeWeb/src/skype_menus.h | 1 - protocols/SkypeWeb/src/skype_proto.cpp | 1 + 10 files changed, 6 insertions(+), 31 deletions(-) delete mode 100644 protocols/SkypeWeb/res/Icons/sync_history.ico (limited to 'protocols') diff --git a/protocols/Discord/src/menus.cpp b/protocols/Discord/src/menus.cpp index 1a47a62ebe..434e99792b 100644 --- a/protocols/Discord/src/menus.cpp +++ b/protocols/Discord/src/menus.cpp @@ -180,13 +180,5 @@ void CDiscordProto::InitMenus() mi.hIcolibItem = Skin_GetIconHandle(SKINICON_CHAT_JOIN); m_hMenuToggleSync = Menu_AddContactMenuItem(&mi, m_szModuleName); - mi.pszService = "/LoadHistory"; - CreateProtoService(mi.pszService, &CDiscordProto::OnMenuLoadHistory); - SET_UID(mi, 0x6EF11AD6, 0x6111, 0x4E29, 0xBA, 0x8B, 0xA7, 0xB2, 0xE0, 0x22, 0xE1, 0x90); - mi.name.a = LPGEN("Load server history"); - mi.position = -200001004; - mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_HISTORY); - Menu_AddContactMenuItem(&mi, m_szModuleName); - HookProtoEvent(ME_CLIST_PREBUILDCONTACTMENU, &CDiscordProto::OnMenuPrebuild); } diff --git a/protocols/Discord/src/proto.cpp b/protocols/Discord/src/proto.cpp index 097dd3e2fe..3eb222f68e 100644 --- a/protocols/Discord/src/proto.cpp +++ b/protocols/Discord/src/proto.cpp @@ -63,6 +63,7 @@ CDiscordProto::CDiscordProto(const char *proto_name, const wchar_t *username) : CreateProtoService(PS_SETMYAVATAR, &CDiscordProto::SetMyAvatar); CreateProtoService(PS_MENU_REQAUTH, &CDiscordProto::RequestFriendship); + CreateProtoService(PS_MENU_LOADHISTORY, &CDiscordProto::OnMenuLoadHistory); CreateProtoService(PS_VOICE_CAPS, &CDiscordProto::VoiceCaps); diff --git a/protocols/ICQ-WIM/src/proto.cpp b/protocols/ICQ-WIM/src/proto.cpp index 7a468d414c..615dbfd8f5 100644 --- a/protocols/ICQ-WIM/src/proto.cpp +++ b/protocols/ICQ-WIM/src/proto.cpp @@ -62,12 +62,15 @@ CIcqProto::CIcqProto(const char *aProtoName, const wchar_t *aUserName) : // services CreateProtoService(PS_CREATEACCMGRUI, &CIcqProto::CreateAccMgrUI); + CreateProtoService(PS_GETAVATARCAPS, &CIcqProto::GetAvatarCaps); CreateProtoService(PS_GETAVATARINFO, &CIcqProto::GetAvatarInfo); CreateProtoService(PS_GETMYAVATAR, &CIcqProto::GetAvatar); + CreateProtoService(PS_SETMYAVATAR, &CIcqProto::SetAvatar); + + CreateProtoService(PS_MENU_LOADHISTORY, &CIcqProto::OnMenuLoadHistory); CreateProtoService(PS_GETUNREADEMAILCOUNT, &CIcqProto::GetEmailCount); CreateProtoService(PS_GOTO_INBOX, &CIcqProto::GotoInbox); - CreateProtoService(PS_SETMYAVATAR, &CIcqProto::SetAvatar); // events HookProtoEvent(ME_CLIST_GROUPCHANGE, &CIcqProto::OnGroupChange); @@ -125,15 +128,6 @@ void CIcqProto::OnModulesLoaded() gcr.pszModule = m_szModuleName; Chat_Register(&gcr); - CMenuItem mi(&g_plugin); - SET_UID(mi, 0xffe2c8fc, 0x9c4d, 0x4faf, 0xa2, 0x34, 0x3d, 0x19, 0x43, 0x0d, 0x31, 0x04); - mi.pszService = "/LoadHistory"; - mi.name.a = LPGEN("Load server history"); - mi.position = -200001004; - mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_HISTORY); - Menu_AddContactMenuItem(&mi, m_szModuleName); - CreateProtoService(mi.pszService, &CIcqProto::OnMenuLoadHistory); - HookProtoEvent(ME_USERINFO_INITIALISE, &CIcqProto::OnUserInfoInit); } diff --git a/protocols/SkypeWeb/res/Icons/sync_history.ico b/protocols/SkypeWeb/res/Icons/sync_history.ico deleted file mode 100644 index d6ac6546f2..0000000000 Binary files a/protocols/SkypeWeb/res/Icons/sync_history.ico and /dev/null differ diff --git a/protocols/SkypeWeb/res/resource.rc b/protocols/SkypeWeb/res/resource.rc index bfd65f1872..97dd7297eb 100644 --- a/protocols/SkypeWeb/res/resource.rc +++ b/protocols/SkypeWeb/res/resource.rc @@ -28,7 +28,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT // remains consistent on all systems. IDI_SKYPE ICON "Icons\\skype.ico" IDI_CONFERENCE ICON "Icons\\conference.ico" -IDI_SYNCHISTORY ICON "Icons\\sync_history.ico" IDI_BLOCKUSER ICON "Icons\\user_block.ico" IDI_UNBLOCKUSER ICON "Icons\\user_unblock.ico" IDI_CALL ICON "Icons\\call.ico" diff --git a/protocols/SkypeWeb/src/resource.h b/protocols/SkypeWeb/src/resource.h index 194e0275f5..031daa51b0 100644 --- a/protocols/SkypeWeb/src/resource.h +++ b/protocols/SkypeWeb/src/resource.h @@ -13,7 +13,6 @@ #define IDD_GC_CREATE 111 #define IDD_GC_INVITE 112 #define IDI_CONFERENCE 114 -#define IDI_SYNCHISTORY 117 #define IDI_BLOCKUSER 118 #define IDI_UNBLOCKUSER 119 #define IDI_CALL 120 diff --git a/protocols/SkypeWeb/src/skype_icons.cpp b/protocols/SkypeWeb/src/skype_icons.cpp index ded5516548..b99a12baa3 100644 --- a/protocols/SkypeWeb/src/skype_icons.cpp +++ b/protocols/SkypeWeb/src/skype_icons.cpp @@ -21,7 +21,6 @@ static IconItem iconList[] = { { LPGEN("Protocol icon"), "main", IDI_SKYPE }, { LPGEN("Create new chat icon"), "conference", IDI_CONFERENCE }, - { LPGEN("Sync history icon"), "synchistory", IDI_SYNCHISTORY }, { LPGEN("Block user icon"), "user_block", IDI_BLOCKUSER }, { LPGEN("Unblock user icon"), "user_unblock", IDI_UNBLOCKUSER }, { LPGEN("Incoming call icon"), "inc_call", IDI_CALL }, diff --git a/protocols/SkypeWeb/src/skype_menus.cpp b/protocols/SkypeWeb/src/skype_menus.cpp index 31fffc92f6..a0d96be1ca 100644 --- a/protocols/SkypeWeb/src/skype_menus.cpp +++ b/protocols/SkypeWeb/src/skype_menus.cpp @@ -40,7 +40,6 @@ int CSkypeProto::OnPrebuildContactMenu(WPARAM hContact, LPARAM) Menu_ShowItem(ContactMenuItems[CMI_BLOCK], true); Menu_ShowItem(ContactMenuItems[CMI_UNBLOCK], isCtrlPressed || isBlocked); - Menu_ShowItem(ContactMenuItems[CMI_GETSERVERHISTORY], true); return 0; } @@ -61,14 +60,6 @@ void CSkypeProto::InitMenus() CMenuItem mi(&g_plugin); mi.flags = CMIF_UNICODE; - mi.pszService = MODULE"/GetHistory"; - mi.name.w = LPGENW("Get server history"); - mi.position = CMI_POSITION + CMI_GETSERVERHISTORY; - mi.hIcolibItem = g_plugin.getIconHandle(IDI_SYNCHISTORY); - SET_UID(mi, 0xc9a64e98, 0x9257, 0x4b52, 0x98, 0xdd, 0x7f, 0x56, 0xb3, 0x90, 0xe3, 0xde); - ContactMenuItems[CMI_GETSERVERHISTORY] = Menu_AddContactMenuItem(&mi); - CreateServiceFunction(mi.pszService, GlobalService<&CSkypeProto::GetContactHistory>); - mi.pszService = MODULE"/BlockContact"; mi.name.w = LPGENW("Block contact"); mi.position = CMI_POSITION + CMI_BLOCK; diff --git a/protocols/SkypeWeb/src/skype_menus.h b/protocols/SkypeWeb/src/skype_menus.h index 61f4560e49..a6d1e9449a 100644 --- a/protocols/SkypeWeb/src/skype_menus.h +++ b/protocols/SkypeWeb/src/skype_menus.h @@ -22,7 +22,6 @@ along with this program. If not, see . enum { - CMI_GETSERVERHISTORY, CMI_BLOCK, CMI_UNBLOCK, CMI_MAX // this item shall be the last one diff --git a/protocols/SkypeWeb/src/skype_proto.cpp b/protocols/SkypeWeb/src/skype_proto.cpp index e590729a4e..3a423559ef 100644 --- a/protocols/SkypeWeb/src/skype_proto.cpp +++ b/protocols/SkypeWeb/src/skype_proto.cpp @@ -38,6 +38,7 @@ CSkypeProto::CSkypeProto(const char* protoName, const wchar_t* userName) : CreateProtoService(PS_MENU_REQAUTH, &CSkypeProto::OnRequestAuth); CreateProtoService(PS_MENU_GRANTAUTH, &CSkypeProto::OnGrantAuth); + CreateProtoService(PS_MENU_LOADHISTORY, &CSkypeProto::GetContactHistory); HookProtoEvent(ME_OPT_INITIALISE, &CSkypeProto::OnOptionsInit); HookProtoEvent(ME_DB_EVENT_MARKED_READ, &CSkypeProto::OnDbEventRead); -- cgit v1.2.3