From 13c65091dba7803ddc8b604732d3cf3e8cb2fe5d Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 11 Feb 2023 18:58:29 +0300 Subject: PS_CREATEACCMGRUI is obsoleted and converted into event --- include/m_protoint.h | 3 +++ include/m_protosvc.h | 11 ----------- libs/win32/mir_app.lib | Bin 236612 -> 237018 bytes libs/win64/mir_app.lib | Bin 233528 -> 233948 bytes protocols/CloudFile/src/cloud_file.cpp | 8 +++----- protocols/CloudFile/src/cloud_file.h | 6 +++--- protocols/Discord/src/options.cpp | 6 +++--- protocols/Discord/src/proto.cpp | 4 +--- protocols/Discord/src/proto.h | 2 +- protocols/Dummy/src/dummy_options.cpp | 4 ++-- protocols/Dummy/src/dummy_proto.cpp | 2 -- protocols/Dummy/src/dummy_proto.h | 4 ++-- protocols/Facebook/src/proto.cpp | 5 ++--- protocols/Facebook/src/proto.h | 2 +- protocols/Gadu-Gadu/src/dialogs.cpp | 7 ++++++- protocols/Gadu-Gadu/src/gg_proto.cpp | 1 - protocols/Gadu-Gadu/src/gg_proto.h | 2 +- protocols/Gadu-Gadu/src/services.cpp | 11 ----------- protocols/ICQ-WIM/src/options.cpp | 6 +++--- protocols/ICQ-WIM/src/proto.cpp | 2 -- protocols/ICQ-WIM/src/proto.h | 2 +- protocols/IRCG/src/ircproto.cpp | 1 - protocols/IRCG/src/ircproto.h | 2 +- protocols/IRCG/src/options.cpp | 6 +++--- protocols/JabberG/src/jabber_opt.cpp | 6 +++--- protocols/JabberG/src/jabber_proto.cpp | 2 -- protocols/JabberG/src/jabber_proto.h | 2 +- protocols/MinecraftDynmap/src/proto.cpp | 6 ++---- protocols/MinecraftDynmap/src/proto.h | 4 +--- protocols/Omegle/src/proto.cpp | 7 ++----- protocols/Omegle/src/proto.h | 4 +--- protocols/SkypeWeb/src/skype_options.cpp | 6 +++--- protocols/SkypeWeb/src/skype_proto.cpp | 1 - protocols/SkypeWeb/src/skype_proto.h | 3 +-- protocols/Steam/src/steam_options.cpp | 6 +++--- protocols/Steam/src/steam_proto.cpp | 2 -- protocols/Steam/src/steam_proto.h | 2 +- protocols/Telegram/src/options.cpp | 6 +++--- protocols/Telegram/src/proto.cpp | 3 +-- protocols/Telegram/src/proto.h | 21 +++++++++------------ protocols/Tox/src/tox_accounts.cpp | 4 ++-- protocols/Tox/src/tox_proto.cpp | 2 -- protocols/Tox/src/tox_proto.h | 3 +-- protocols/Twitter/src/proto.cpp | 6 ++---- protocols/Twitter/src/proto.h | 2 +- protocols/VKontakte/src/vk_options.cpp | 6 +++--- protocols/VKontakte/src/vk_proto.cpp | 1 - protocols/VKontakte/src/vk_proto.h | 2 +- protocols/WhatsApp/src/options.cpp | 6 +++--- protocols/WhatsApp/src/proto.cpp | 2 -- protocols/WhatsApp/src/proto.h | 5 +---- src/mir_app/src/mir_app.def | 1 + src/mir_app/src/mir_app64.def | 1 + src/mir_app/src/proto_interface.cpp | 5 +++++ src/mir_app/src/proto_opts.cpp | 7 +++---- 55 files changed, 91 insertions(+), 140 deletions(-) diff --git a/include/m_protoint.h b/include/m_protoint.h index 184d36d4c5..ed8b0f907f 100644 --- a/include/m_protoint.h +++ b/include/m_protoint.h @@ -258,6 +258,9 @@ public: // called when an account's contact is deleted virtual void OnContactDeleted(MCONTACT); + // called when the Account Manager needs to draw short account's options + virtual MWindow OnCreateAccMgrUI(MWindow hwndParent); + // called when an event is altered in database virtual void OnEventEdited(MCONTACT, MEVENT); diff --git a/include/m_protosvc.h b/include/m_protosvc.h index 031622a3a5..32fcc8bc7b 100644 --- a/include/m_protosvc.h +++ b/include/m_protosvc.h @@ -290,17 +290,6 @@ static __inline unsigned long Proto_Status2Flag(int status) #define PS_AUTHDENY "/AuthDeny" -/////////////////////////////////////////////////////////////////////////////// -// Create account manager UI form -// wParam = 0 -// lParam = (LPARAM)(HWND)hwndAccMgr -// Returns handle on newly created form. -// Size for best fit is 186x134 DLUs, please avoid groupboxes -// paddind and advanced options. This should provide minimal setup -// for initial connect. - -#define PS_CREATEACCMGRUI "/CreateAccMgrUI" - /////////////////////////////////////////////////////////////////////////////// // Send a basic search request // wParam = 0 diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib index 9962c6a371..4f09e3492e 100644 Binary files a/libs/win32/mir_app.lib and b/libs/win32/mir_app.lib differ diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib index 91c52d10e6..a2b5e64bba 100644 Binary files a/libs/win64/mir_app.lib and b/libs/win64/mir_app.lib differ diff --git a/protocols/CloudFile/src/cloud_file.cpp b/protocols/CloudFile/src/cloud_file.cpp index 81e2c37a2b..8674789126 100644 --- a/protocols/CloudFile/src/cloud_file.cpp +++ b/protocols/CloudFile/src/cloud_file.cpp @@ -9,8 +9,6 @@ CCloudService::CCloudService(const char *protoName, const wchar_t *userName, HPL nlu.szSettingsModule = (char*)protoName; nlu.szDescriptiveName.w = (wchar_t*)userName; m_hConnection = Netlib_RegisterUser(&nlu); - - CreateProtoService(PS_CREATEACCMGRUI, &CCloudService::OnAccountManagerInit); } CCloudService::~CCloudService() @@ -86,12 +84,12 @@ void CCloudService::OpenUploadDialog(MCONTACT hContact) SetActiveWindow(it->second); } -INT_PTR CCloudService::OnAccountManagerInit(WPARAM, LPARAM lParam) +MWindow CCloudService::OnCreateAccMgrUI(MWindow hwndParent) { CAccountManagerDlg *page = new CAccountManagerDlg(this); - page->SetParent((HWND)lParam); + page->SetParent(hwndParent); page->Show(); - return (INT_PTR)page->GetHwnd(); + return page->GetHwnd(); } std::string CCloudService::PreparePath(const std::string &path) const diff --git a/protocols/CloudFile/src/cloud_file.h b/protocols/CloudFile/src/cloud_file.h index f02589c2bd..de053af431 100644 --- a/protocols/CloudFile/src/cloud_file.h +++ b/protocols/CloudFile/src/cloud_file.h @@ -14,8 +14,6 @@ protected: HPLUGIN m_pPlugin; HNETLIBUSER m_hConnection; - INT_PTR __cdecl OnAccountManagerInit(WPARAM, LPARAM); - // utils std::string PreparePath(const std::string &path) const; @@ -24,7 +22,9 @@ protected: virtual void HandleHttpError(NETLIBHTTPREQUEST *response); virtual void HandleJsonError(JSONNode &node) = 0; + // events void OnModulesLoaded() override; + MWindow OnCreateAccMgrUI(MWindow) override; JSONNode GetJsonResponse(NETLIBHTTPREQUEST *response); @@ -40,7 +40,7 @@ public: int FileCancel(MCONTACT hContact, HANDLE hTransfer) override; HANDLE SendFile(MCONTACT hContact, const wchar_t *msg, wchar_t **ppszFiles) override; - + HPLUGIN GetId() const; virtual const char* GetModuleName() const = 0; const char* GetAccountName() const; diff --git a/protocols/Discord/src/options.cpp b/protocols/Discord/src/options.cpp index 3ced623311..4716584b96 100644 --- a/protocols/Discord/src/options.cpp +++ b/protocols/Discord/src/options.cpp @@ -77,12 +77,12 @@ public: ///////////////////////////////////////////////////////////////////////////////////////// -INT_PTR CDiscordProto::SvcCreateAccMgrUI(WPARAM, LPARAM hwndParent) +MWindow CDiscordProto::OnCreateAccMgrUI(MWindow hwndParent) { CDiscardAccountOptions *pDlg = new CDiscardAccountOptions(this, IDD_OPTIONS_ACCMGR, false); - pDlg->SetParent((HWND)hwndParent); + pDlg->SetParent(hwndParent); pDlg->Create(); - return (INT_PTR)pDlg->GetHwnd(); + return pDlg->GetHwnd(); } int CDiscordProto::OnOptionsInit(WPARAM wParam, LPARAM) diff --git a/protocols/Discord/src/proto.cpp b/protocols/Discord/src/proto.cpp index f984595ff4..cf5bd0671f 100644 --- a/protocols/Discord/src/proto.cpp +++ b/protocols/Discord/src/proto.cpp @@ -56,8 +56,6 @@ CDiscordProto::CDiscordProto(const char *proto_name, const wchar_t *username) : m_bSyncDeleteMsgs(this, "DeleteServerMsgs", true) { // Services - CreateProtoService(PS_CREATEACCMGRUI, &CDiscordProto::SvcCreateAccMgrUI); - CreateProtoService(PS_GETAVATARINFO, &CDiscordProto::GetAvatarInfo); CreateProtoService(PS_GETAVATARCAPS, &CDiscordProto::GetAvatarCaps); CreateProtoService(PS_GETMYAVATAR, &CDiscordProto::GetMyAvatar); @@ -597,7 +595,7 @@ void CDiscordProto::SendMarkRead() } } -void CDiscordProto::OnMarkRead(MCONTACT hContact, MEVENT hDbEvent) +void CDiscordProto::OnMarkRead(MCONTACT hContact, MEVENT) { if (m_bOnline) { m_impl.m_markRead.Start(200); diff --git a/protocols/Discord/src/proto.h b/protocols/Discord/src/proto.h index 2c0bd0709a..dd69f60e20 100644 --- a/protocols/Discord/src/proto.h +++ b/protocols/Discord/src/proto.h @@ -377,6 +377,7 @@ public: void OnBuildProtoMenu() override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; void OnShutdown() override; @@ -385,7 +386,6 @@ public: // Services INT_PTR __cdecl RequestFriendship(WPARAM, LPARAM); - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); INT_PTR __cdecl GetAvatarCaps(WPARAM, LPARAM); INT_PTR __cdecl GetAvatarInfo(WPARAM, LPARAM); diff --git a/protocols/Dummy/src/dummy_options.cpp b/protocols/Dummy/src/dummy_options.cpp index 3ceecc0225..37125777a7 100644 --- a/protocols/Dummy/src/dummy_options.cpp +++ b/protocols/Dummy/src/dummy_options.cpp @@ -114,7 +114,7 @@ INT_PTR CALLBACK DummyAccountProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM return FALSE; } -INT_PTR CDummyProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow CDummyProto::OnCreateAccMgrUI(MWindow hwndParent) { - return (INT_PTR)CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_ACCMGRUI), (HWND)lParam, DummyAccountProc, (LPARAM)this); + return CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_ACCMGRUI), hwndParent, DummyAccountProc, (LPARAM)this); } diff --git a/protocols/Dummy/src/dummy_proto.cpp b/protocols/Dummy/src/dummy_proto.cpp index 7ec308eb3e..8a67a9763d 100644 --- a/protocols/Dummy/src/dummy_proto.cpp +++ b/protocols/Dummy/src/dummy_proto.cpp @@ -68,8 +68,6 @@ static int sttCompareProtocols(const CDummyProto *p1, const CDummyProto *p2) CDummyProto::CDummyProto(const char *szModuleName, const wchar_t *ptszUserName) : PROTO(szModuleName, ptszUserName) { - CreateProtoService(PS_CREATEACCMGRUI, &CDummyProto::SvcCreateAccMgrUI); - msgid = 0; int id = getTemplateId(); diff --git a/protocols/Dummy/src/dummy_proto.h b/protocols/Dummy/src/dummy_proto.h index ffe2d4b9fc..d7836f7f64 100644 --- a/protocols/Dummy/src/dummy_proto.h +++ b/protocols/Dummy/src/dummy_proto.h @@ -38,9 +38,9 @@ struct CDummyProto : public PROTO MCONTACT AddToList(int flags, PROTOSEARCHRESULT* psr) override; - //==== Services ====================================================================== + //==== Events ========================================================================== - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); + MWindow OnCreateAccMgrUI(MWindow) override; void __cdecl SearchIdAckThread(void*); diff --git a/protocols/Facebook/src/proto.cpp b/protocols/Facebook/src/proto.cpp index 82043fdf55..ab9a35a58a 100644 --- a/protocols/Facebook/src/proto.cpp +++ b/protocols/Facebook/src/proto.cpp @@ -297,8 +297,7 @@ int FacebookProto::UserIsTyping(MCONTACT hContact, int type) ////////////////////////////////////////////////////////////////////////////// // Services -INT_PTR FacebookProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow FacebookProto::OnCreateAccMgrUI(MWindow hwndParent) { - return (INT_PTR) CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_FACEBOOKACCOUNT), - (HWND) lParam, FBAccountProc, (LPARAM) this); + return CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_FACEBOOKACCOUNT), hwndParent, FBAccountProc, (LPARAM)this); } diff --git a/protocols/Facebook/src/proto.h b/protocols/Facebook/src/proto.h index 20d218b4b1..16a3cbd4c1 100644 --- a/protocols/Facebook/src/proto.h +++ b/protocols/Facebook/src/proto.h @@ -532,6 +532,7 @@ public: int SetStatus(int iNewStatus) override; int UserIsTyping(MCONTACT hContact, int type) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; //////////////////////////////////////////////////////////////////////////////////////// @@ -547,7 +548,6 @@ public: INT_PTR __cdecl GetAvatarCaps(WPARAM, LPARAM); INT_PTR __cdecl GetAvatarInfo(WPARAM, LPARAM); - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); }; typedef CProtoDlgBase CFBDlgBase; diff --git a/protocols/Gadu-Gadu/src/dialogs.cpp b/protocols/Gadu-Gadu/src/dialogs.cpp index 656db1888a..02bfe9451e 100644 --- a/protocols/Gadu-Gadu/src/dialogs.cpp +++ b/protocols/Gadu-Gadu/src/dialogs.cpp @@ -71,7 +71,7 @@ void gg_optsdlgcheck(HWND m_hwnd) //////////////////////////////////////////////////////////////////////////////////////////// // Proc: Account manager options dialog -INT_PTR CALLBACK gg_acc_mgr_guidlgproc(HWND m_hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +static INT_PTR CALLBACK gg_acc_mgr_guidlgproc(HWND m_hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { GaduProto *gg = (GaduProto *)GetWindowLongPtr(m_hwnd, GWLP_USERDATA); @@ -176,3 +176,8 @@ INT_PTR CALLBACK gg_acc_mgr_guidlgproc(HWND m_hwnd, UINT msg, WPARAM wParam, LPA } return FALSE; } + +MWindow GaduProto::OnCreateAccMgrUI(MWindow hwndParent) +{ + return CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_ACCMGRUI), hwndParent, gg_acc_mgr_guidlgproc, (LPARAM)this); +} diff --git a/protocols/Gadu-Gadu/src/gg_proto.cpp b/protocols/Gadu-Gadu/src/gg_proto.cpp index 3df051bdb6..44234ddb35 100644 --- a/protocols/Gadu-Gadu/src/gg_proto.cpp +++ b/protocols/Gadu-Gadu/src/gg_proto.cpp @@ -67,7 +67,6 @@ GaduProto::GaduProto(const char *pszProtoName, const wchar_t *tszUserName) : CreateProtoService(PS_SETMYAVATAR, &GaduProto::setmyavatar); CreateProtoService(PS_GETMYAWAYMSG, &GaduProto::getmyawaymsg); - CreateProtoService(PS_CREATEACCMGRUI, &GaduProto::get_acc_mgr_gui); CreateProtoService(PS_LEAVECHAT, &GaduProto::leavechat); diff --git a/protocols/Gadu-Gadu/src/gg_proto.h b/protocols/Gadu-Gadu/src/gg_proto.h index 6142e92838..388fe907e0 100644 --- a/protocols/Gadu-Gadu/src/gg_proto.h +++ b/protocols/Gadu-Gadu/src/gg_proto.h @@ -58,6 +58,7 @@ struct GaduProto : public PROTO void OnBuildProtoMenu(void) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnModulesLoaded() override; void OnShutdown() override; @@ -66,7 +67,6 @@ struct GaduProto : public PROTO INT_PTR __cdecl blockuser(WPARAM wParam, LPARAM lParam); INT_PTR __cdecl getmyawaymsg(WPARAM wParam, LPARAM lParam); - INT_PTR __cdecl get_acc_mgr_gui(WPARAM wParam, LPARAM lParam); INT_PTR __cdecl leavechat(WPARAM wParam, LPARAM lParam); ////////////////////////////////////////////////////////////////////////////////////// diff --git a/protocols/Gadu-Gadu/src/services.cpp b/protocols/Gadu-Gadu/src/services.cpp index 15c7e14096..392e9b0d66 100644 --- a/protocols/Gadu-Gadu/src/services.cpp +++ b/protocols/Gadu-Gadu/src/services.cpp @@ -369,17 +369,6 @@ INT_PTR GaduProto::getmyawaymsg(WPARAM wParam, LPARAM lParam) return res; } -extern INT_PTR CALLBACK gg_acc_mgr_guidlgproc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); - -////////////////////////////////////////////////////////// -// gets account manager GUI -// registered as ProtoService PS_CREATEACCMGRUI -// -INT_PTR GaduProto::get_acc_mgr_gui(WPARAM, LPARAM lParam) -{ - return (INT_PTR)CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_ACCMGRUI), (HWND)lParam, gg_acc_mgr_guidlgproc, (LPARAM)this); -} - ////////////////////////////////////////////////////////// // leaves (terminates) conference // registered as ProtoService PS_LEAVECHAT diff --git a/protocols/ICQ-WIM/src/options.cpp b/protocols/ICQ-WIM/src/options.cpp index 5f9d9ce5db..d5cd234cf4 100644 --- a/protocols/ICQ-WIM/src/options.cpp +++ b/protocols/ICQ-WIM/src/options.cpp @@ -366,12 +366,12 @@ public: ///////////////////////////////////////////////////////////////////////////////////////// // Services -INT_PTR CIcqProto::CreateAccMgrUI(WPARAM, LPARAM hwndParent) +MWindow CIcqProto::OnCreateAccMgrUI(MWindow hwndParent) { COptionsDlg *pDlg = new COptionsDlg(this, IDD_OPTIONS_ACCMGR, false); - pDlg->SetParent((HWND)hwndParent); + pDlg->SetParent(hwndParent); pDlg->Create(); - return (INT_PTR)pDlg->GetHwnd(); + return pDlg->GetHwnd(); } int CIcqProto::OnOptionsInit(WPARAM wParam, LPARAM) diff --git a/protocols/ICQ-WIM/src/proto.cpp b/protocols/ICQ-WIM/src/proto.cpp index 4f34d1c0ff..7a2c9d1002 100644 --- a/protocols/ICQ-WIM/src/proto.cpp +++ b/protocols/ICQ-WIM/src/proto.cpp @@ -63,8 +63,6 @@ CIcqProto::CIcqProto(const char *aProtoName, const wchar_t *aUserName) : m_isMra = !stricmp(Proto_GetAccount(m_szModuleName)->szProtoName, "MRA"); // services - CreateProtoService(PS_CREATEACCMGRUI, &CIcqProto::CreateAccMgrUI); - CreateProtoService(PS_GETAVATARCAPS, &CIcqProto::GetAvatarCaps); CreateProtoService(PS_GETAVATARINFO, &CIcqProto::GetAvatarInfo); CreateProtoService(PS_GETMYAVATAR, &CIcqProto::GetAvatar); diff --git a/protocols/ICQ-WIM/src/proto.h b/protocols/ICQ-WIM/src/proto.h index c184e02c8e..f36f6911ab 100644 --- a/protocols/ICQ-WIM/src/proto.h +++ b/protocols/ICQ-WIM/src/proto.h @@ -406,7 +406,6 @@ class CIcqProto : public PROTO INT_PTR __cdecl GetAvatarInfo(WPARAM, LPARAM); INT_PTR __cdecl SetAvatar(WPARAM, LPARAM); - INT_PTR __cdecl CreateAccMgrUI(WPARAM, LPARAM); INT_PTR __cdecl EditGroups(WPARAM, LPARAM); INT_PTR __cdecl EditProfile(WPARAM, LPARAM); INT_PTR __cdecl GetEmailCount(WPARAM, LPARAM); @@ -450,6 +449,7 @@ class CIcqProto : public PROTO void OnBuildProtoMenu(void) override; void OnContactAdded(MCONTACT) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnEventEdited(MCONTACT, MEVENT) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; diff --git a/protocols/IRCG/src/ircproto.cpp b/protocols/IRCG/src/ircproto.cpp index 205dab708d..3b807fea9d 100644 --- a/protocols/IRCG/src/ircproto.cpp +++ b/protocols/IRCG/src/ircproto.cpp @@ -41,7 +41,6 @@ CIrcProto::CIrcProto(const char* szModuleName, const wchar_t* tszUserName) : { CreateProtoService(PS_GETMYAWAYMSG, &CIrcProto::GetMyAwayMsg); - CreateProtoService(PS_CREATEACCMGRUI, &CIrcProto::SvcCreateAccMgrUI); CreateProtoService(PS_JOINCHAT, &CIrcProto::OnJoinChat); CreateProtoService(PS_LEAVECHAT, &CIrcProto::OnLeaveChat); diff --git a/protocols/IRCG/src/ircproto.h b/protocols/IRCG/src/ircproto.h index ee40589a8a..6614bf4df7 100644 --- a/protocols/IRCG/src/ircproto.h +++ b/protocols/IRCG/src/ircproto.h @@ -71,11 +71,11 @@ struct CIrcProto : public PROTO void OnBuildProtoMenu(void) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnModulesLoaded() override; void OnShutdown() override; // Services - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); INT_PTR __cdecl GetMyAwayMsg(WPARAM, LPARAM); INT_PTR __cdecl OnChangeNickMenuCommand(WPARAM, LPARAM); diff --git a/protocols/IRCG/src/options.cpp b/protocols/IRCG/src/options.cpp index c9be724a6a..4f3439540d 100644 --- a/protocols/IRCG/src/options.cpp +++ b/protocols/IRCG/src/options.cpp @@ -1352,11 +1352,11 @@ public: } }; -INT_PTR CIrcProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow CIrcProto::OnCreateAccMgrUI(MWindow hwndParent) { - CDlgAccMgrUI *dlg = new CDlgAccMgrUI(this, (HWND)lParam); + CDlgAccMgrUI *dlg = new CDlgAccMgrUI(this, hwndParent); dlg->Show(); - return (INT_PTR)dlg->GetHwnd(); + return dlg->GetHwnd(); } ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/protocols/JabberG/src/jabber_opt.cpp b/protocols/JabberG/src/jabber_opt.cpp index 5313e260fb..c516232099 100644 --- a/protocols/JabberG/src/jabber_opt.cpp +++ b/protocols/JabberG/src/jabber_opt.cpp @@ -1400,11 +1400,11 @@ private: } }; -INT_PTR CJabberProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow CJabberProto::OnCreateAccMgrUI(MWindow hwndParent) { - CJabberDlgAccMgrUI *dlg = new CJabberDlgAccMgrUI(this, (HWND)lParam); + CJabberDlgAccMgrUI *dlg = new CJabberDlgAccMgrUI(this, hwndParent); dlg->Show(); - return (INT_PTR)dlg->GetHwnd(); + return dlg->GetHwnd(); } INT_PTR __cdecl CJabberProto::OnMenuOptions(WPARAM, LPARAM) diff --git a/protocols/JabberG/src/jabber_proto.cpp b/protocols/JabberG/src/jabber_proto.cpp index 6c425da2c4..a00e52b195 100644 --- a/protocols/JabberG/src/jabber_proto.cpp +++ b/protocols/JabberG/src/jabber_proto.cpp @@ -148,8 +148,6 @@ CJabberProto::CJabberProto(const char *aProtoName, const wchar_t *aUserName) : m_hEventXStatusIconChanged = CreateProtoEvent(JE_CUSTOMSTATUS_EXTRAICON_CHANGED); m_hEventXStatusChanged = CreateProtoEvent(JE_CUSTOMSTATUS_CHANGED); - CreateProtoService(PS_CREATEACCMGRUI, &CJabberProto::SvcCreateAccMgrUI); - CreateProtoService(PS_GETAVATARINFO, &CJabberProto::JabberGetAvatarInfo); CreateProtoService(PS_GETMYAWAYMSG, &CJabberProto::GetMyAwayMsg); CreateProtoService(PS_SET_LISTENINGTO, &CJabberProto::OnSetListeningTo); diff --git a/protocols/JabberG/src/jabber_proto.h b/protocols/JabberG/src/jabber_proto.h index 9f5d8d5c0b..643b432bd0 100644 --- a/protocols/JabberG/src/jabber_proto.h +++ b/protocols/JabberG/src/jabber_proto.h @@ -150,12 +150,12 @@ struct CJabberProto : public PROTO, public IJabberInterface void OnBuildProtoMenu(void) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; void OnShutdown() override; //====| Services |==================================================================== - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM wParam, LPARAM lParam); INT_PTR __cdecl GetMyAwayMsg(WPARAM wParam, LPARAM lParam); INT_PTR __cdecl JabberVOIP_call(WPARAM hContact, LPARAM); diff --git a/protocols/MinecraftDynmap/src/proto.cpp b/protocols/MinecraftDynmap/src/proto.cpp index f5c780a07a..69ffe75278 100644 --- a/protocols/MinecraftDynmap/src/proto.cpp +++ b/protocols/MinecraftDynmap/src/proto.cpp @@ -36,8 +36,6 @@ MinecraftDynmapProto::MinecraftDynmapProto(const char* proto_name, const wchar_t CreateProtoService(PS_JOINCHAT, &MinecraftDynmapProto::OnJoinChat); CreateProtoService(PS_LEAVECHAT, &MinecraftDynmapProto::OnLeaveChat); - CreateProtoService(PS_CREATEACCMGRUI, &MinecraftDynmapProto::SvcCreateAccMgrUI); - HookProtoEvent(ME_GC_EVENT, &MinecraftDynmapProto::OnChatEvent); // Create standard network connection @@ -133,9 +131,9 @@ int MinecraftDynmapProto::SetStatus(int new_status) ////////////////////////////////////////////////////////////////////////////// // EVENTS -INT_PTR MinecraftDynmapProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow MinecraftDynmapProto::OnCreateAccMgrUI(MWindow hwndParent) { - return (INT_PTR)CreateDialogParam(g_plugin.getInst(),MAKEINTRESOURCE(IDD_MinecraftDynmapACCOUNT), (HWND)lParam, MinecraftDynmapAccountProc, (LPARAM)this); + return CreateDialogParam(g_plugin.getInst(),MAKEINTRESOURCE(IDD_MinecraftDynmapACCOUNT), hwndParent, MinecraftDynmapAccountProc, (LPARAM)this); } void MinecraftDynmapProto::OnShutdown() diff --git a/protocols/MinecraftDynmap/src/proto.h b/protocols/MinecraftDynmap/src/proto.h index 7cae90dae4..39a7b0e08f 100644 --- a/protocols/MinecraftDynmap/src/proto.h +++ b/protocols/MinecraftDynmap/src/proto.h @@ -47,11 +47,9 @@ public: int SetStatus(int iNewStatus) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnShutdown() override; - // Services - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); - // Chat handling int __cdecl OnChatEvent(WPARAM,LPARAM); INT_PTR __cdecl OnJoinChat(WPARAM,LPARAM); diff --git a/protocols/Omegle/src/proto.cpp b/protocols/Omegle/src/proto.cpp index 036dc41d6f..36b85b01dd 100644 --- a/protocols/Omegle/src/proto.cpp +++ b/protocols/Omegle/src/proto.cpp @@ -36,8 +36,6 @@ OmegleProto::OmegleProto(const char* proto_name, const wchar_t* username) : CreateProtoService(PS_JOINCHAT, &OmegleProto::OnJoinChat); CreateProtoService(PS_LEAVECHAT, &OmegleProto::OnLeaveChat); - CreateProtoService(PS_CREATEACCMGRUI, &OmegleProto::SvcCreateAccMgrUI); - HookProtoEvent(ME_OPT_INITIALISE, &OmegleProto::OnOptionsInit); HookProtoEvent(ME_GC_EVENT, &OmegleProto::OnChatEvent); @@ -136,10 +134,9 @@ int OmegleProto::SetStatus(int new_status) ////////////////////////////////////////////////////////////////////////////// // EVENTS -INT_PTR OmegleProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow OmegleProto::OnCreateAccMgrUI(MWindow hwndParent) { - return (INT_PTR)CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_OmegleACCOUNT), - (HWND)lParam, OmegleAccountProc, (LPARAM)this); + return CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_OmegleACCOUNT), hwndParent, OmegleAccountProc, (LPARAM)this); } void OmegleProto::OnShutdown() diff --git a/protocols/Omegle/src/proto.h b/protocols/Omegle/src/proto.h index c1a0c5dcfa..da10733393 100644 --- a/protocols/Omegle/src/proto.h +++ b/protocols/Omegle/src/proto.h @@ -54,11 +54,9 @@ public: int UserIsTyping(MCONTACT hContact, int type) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnShutdown() override; - // Services - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); - // Events int __cdecl OnOptionsInit(WPARAM, LPARAM); diff --git a/protocols/SkypeWeb/src/skype_options.cpp b/protocols/SkypeWeb/src/skype_options.cpp index 07f15c215a..358440dd1f 100644 --- a/protocols/SkypeWeb/src/skype_options.cpp +++ b/protocols/SkypeWeb/src/skype_options.cpp @@ -82,12 +82,12 @@ public: ///////////////////////////////////////////////////////////////////////////////// -INT_PTR CSkypeProto::OnAccountManagerInit(WPARAM, LPARAM lParam) +MWindow CSkypeProto::OnCreateAccMgrUI(MWindow hwndParent) { auto *pDlg = new CSkypeOptionsMain(this, IDD_ACCOUNT_MANAGER); - pDlg->SetParent(HWND(lParam)); + pDlg->SetParent(hwndParent); pDlg->Show(); - return (INT_PTR)pDlg->GetHwnd(); + return pDlg->GetHwnd(); } int CSkypeProto::OnOptionsInit(WPARAM wParam, LPARAM) diff --git a/protocols/SkypeWeb/src/skype_proto.cpp b/protocols/SkypeWeb/src/skype_proto.cpp index 5a70b171a8..8bf269e682 100644 --- a/protocols/SkypeWeb/src/skype_proto.cpp +++ b/protocols/SkypeWeb/src/skype_proto.cpp @@ -38,7 +38,6 @@ CSkypeProto::CSkypeProto(const char* protoName, const wchar_t* userName) : nlu.szSettingsModule = m_szModuleName; m_hNetlibUser = Netlib_RegisterUser(&nlu); - CreateProtoService(PS_CREATEACCMGRUI, &CSkypeProto::OnAccountManagerInit); CreateProtoService(PS_GETAVATARINFO, &CSkypeProto::SvcGetAvatarInfo); CreateProtoService(PS_GETAVATARCAPS, &CSkypeProto::SvcGetAvatarCaps); CreateProtoService(PS_GETMYAVATAR, &CSkypeProto::SvcGetMyAvatar); diff --git a/protocols/SkypeWeb/src/skype_proto.h b/protocols/SkypeWeb/src/skype_proto.h index f2d9c467ac..8a48e595dc 100644 --- a/protocols/SkypeWeb/src/skype_proto.h +++ b/protocols/SkypeWeb/src/skype_proto.h @@ -69,6 +69,7 @@ public: void OnBuildProtoMenu(void) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; void OnShutdown() override; @@ -186,8 +187,6 @@ private: EventHandle m_hTrouterHealthEvent; - INT_PTR __cdecl OnAccountManagerInit(WPARAM, LPARAM); - INT_PTR __cdecl SvcGetAvatarInfo(WPARAM, LPARAM); INT_PTR __cdecl SvcGetAvatarCaps(WPARAM, LPARAM); INT_PTR __cdecl SvcGetMyAvatar(WPARAM, LPARAM); diff --git a/protocols/Steam/src/steam_options.cpp b/protocols/Steam/src/steam_options.cpp index c59d90e9bb..bbfa7311cd 100644 --- a/protocols/Steam/src/steam_options.cpp +++ b/protocols/Steam/src/steam_options.cpp @@ -60,11 +60,11 @@ public: } }; -INT_PTR CSteamProto::OnAccountManagerInit(WPARAM, LPARAM lParam) +MWindow CSteamProto::OnCreateAccMgrUI(MWindow hwndParent) { - auto *page = new CSteamOptionsMain(this, IDD_ACCMGR, (HWND)lParam); + auto *page = new CSteamOptionsMain(this, IDD_ACCMGR, hwndParent); page->Show(); - return (INT_PTR)page->GetHwnd(); + return page->GetHwnd(); } ///////////////////////////////////////////////////////////////////////////////// diff --git a/protocols/Steam/src/steam_proto.cpp b/protocols/Steam/src/steam_proto.cpp index 8a2959f84a..5f42e3ebe2 100644 --- a/protocols/Steam/src/steam_proto.cpp +++ b/protocols/Steam/src/steam_proto.cpp @@ -4,8 +4,6 @@ CSteamProto::CSteamProto(const char *protoName, const wchar_t *userName) : PROTO(protoName, userName), m_requestQueue(1), hAuthProcess(1), hMessageProcess(1) { - CreateProtoService(PS_CREATEACCMGRUI, &CSteamProto::OnAccountManagerInit); - m_hRequestsQueueEvent = CreateEvent(NULL, FALSE, FALSE, NULL); // default group diff --git a/protocols/Steam/src/steam_proto.h b/protocols/Steam/src/steam_proto.h index 4c72b97c57..b6605e50e3 100644 --- a/protocols/Steam/src/steam_proto.h +++ b/protocols/Steam/src/steam_proto.h @@ -106,6 +106,7 @@ public: int UserIsTyping(MCONTACT hContact, int type) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnModulesLoaded() override; // menus @@ -236,7 +237,6 @@ protected: // events int __cdecl OnIdleChanged(WPARAM, LPARAM); int __cdecl OnOptionsInit(WPARAM wParam, LPARAM lParam); - INT_PTR __cdecl OnAccountManagerInit(WPARAM wParam, LPARAM lParam); // utils static uint16_t SteamToMirandaStatus(PersonaState state); diff --git a/protocols/Telegram/src/options.cpp b/protocols/Telegram/src/options.cpp index 0604f8dc0d..5f8719da69 100644 --- a/protocols/Telegram/src/options.cpp +++ b/protocols/Telegram/src/options.cpp @@ -167,12 +167,12 @@ public: ///////////////////////////////////////////////////////////////////////////////////////// -INT_PTR CTelegramProto::SvcCreateAccMgrUI(WPARAM, LPARAM hwndParent) +MWindow CTelegramProto::OnCreateAccMgrUI(MWindow hwndParent) { auto *pDlg = new COptionsDlg(this, IDD_ACCMGRUI, false); - pDlg->SetParent((HWND)hwndParent); + pDlg->SetParent(hwndParent); pDlg->Create(); - return (INT_PTR)pDlg->GetHwnd(); + return pDlg->GetHwnd(); } int CTelegramProto::OnOptionsInit(WPARAM wParam, LPARAM) diff --git a/protocols/Telegram/src/proto.cpp b/protocols/Telegram/src/proto.cpp index 2ed51339d7..3ac7dcb924 100644 --- a/protocols/Telegram/src/proto.cpp +++ b/protocols/Telegram/src/proto.cpp @@ -49,7 +49,6 @@ CTelegramProto::CTelegramProto(const char* protoName, const wchar_t* userName) : { m_iOwnId = _atoi64(getMStringA(DBKEY_ID)); - CreateProtoService(PS_CREATEACCMGRUI, &CTelegramProto::SvcCreateAccMgrUI); CreateProtoService(PS_GETAVATARCAPS, &CTelegramProto::SvcGetAvatarCaps); CreateProtoService(PS_GETAVATARINFO, &CTelegramProto::SvcGetAvatarInfo); CreateProtoService(PS_GETMYAVATAR, &CTelegramProto::SvcGetMyAvatar); @@ -169,7 +168,7 @@ INT_PTR CTelegramProto::GetCaps(int type, MCONTACT) { switch (type) { case PFLAGNUM_1: - return PF1_IM | PF1_FILE | PF1_CHAT | PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_MODEMSGRECV; + return PF1_IM | PF1_FILE | PF1_CHAT | PF1_EXTSEARCH | PF1_ADDSEARCHRES | PF1_MODEMSGRECV | PF1_SERVERCLIST; case PFLAGNUM_2: return PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY; case PFLAGNUM_4: diff --git a/protocols/Telegram/src/proto.h b/protocols/Telegram/src/proto.h index 1585f9d62d..2c0fe18116 100644 --- a/protocols/Telegram/src/proto.h +++ b/protocols/Telegram/src/proto.h @@ -238,18 +238,15 @@ public: INT_PTR GetCaps(int type, MCONTACT hContact = NULL) override; - int SendMsg(MCONTACT hContact, int flags, const char *pszMessage) override; - int SetStatus(int iNewStatus) override; - - void OnContactDeleted(MCONTACT hContact) override; - void OnMarkRead(MCONTACT, MEVENT) override; - void OnModulesLoaded() override; - void OnShutdown() override; - void OnErase() override; - - // Services ////////////////////////////////////////////////////////////////////////// - - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); + int SendMsg(MCONTACT hContact, int flags, const char *pszMessage) override; + int SetStatus(int iNewStatus) override; + + void OnContactDeleted(MCONTACT hContact) override; + MWindow OnCreateAccMgrUI(MWindow) override; + void OnMarkRead(MCONTACT, MEVENT) override; + void OnModulesLoaded() override; + void OnShutdown() override; + void OnErase() override; // Events //////////////////////////////////////////////////////////////////////////// diff --git a/protocols/Tox/src/tox_accounts.cpp b/protocols/Tox/src/tox_accounts.cpp index b4c7f62c4d..352707ecc1 100644 --- a/protocols/Tox/src/tox_accounts.cpp +++ b/protocols/Tox/src/tox_accounts.cpp @@ -15,7 +15,7 @@ int CToxProto::OnAccountRenamed(WPARAM wParam, LPARAM lParam) return 0; } -INT_PTR CToxProto::OnAccountManagerInit(WPARAM, LPARAM lParam) +MWindow CToxProto::OnCreateAccMgrUI(MWindow hwndParent) { - return (INT_PTR)(CToxOptionsMain::CreateAccountManagerPage(this, (HWND)lParam))->GetHwnd(); + return (CToxOptionsMain::CreateAccountManagerPage(this, hwndParent))->GetHwnd(); } diff --git a/protocols/Tox/src/tox_proto.cpp b/protocols/Tox/src/tox_proto.cpp index 7a231ef89d..4d29655855 100644 --- a/protocols/Tox/src/tox_proto.cpp +++ b/protocols/Tox/src/tox_proto.cpp @@ -15,8 +15,6 @@ CToxProto::CToxProto(const char* protoName, const wchar_t* userName) if (m_defaultGroup == nullptr) m_defaultGroup = mir_wstrdup(L"Tox"); - CreateProtoService(PS_CREATEACCMGRUI, &CToxProto::OnAccountManagerInit); - setAllContactStatuses(ID_STATUS_OFFLINE); // avatars diff --git a/protocols/Tox/src/tox_proto.h b/protocols/Tox/src/tox_proto.h index 22efa4f6e1..2a6e485932 100644 --- a/protocols/Tox/src/tox_proto.h +++ b/protocols/Tox/src/tox_proto.h @@ -48,6 +48,7 @@ public: void OnBuildProtoMenu(void) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnErase() override; void OnModulesLoaded() override; @@ -117,8 +118,6 @@ private: // accounts int __cdecl OnAccountRenamed(WPARAM, LPARAM); - INT_PTR __cdecl OnAccountManagerInit(WPARAM, LPARAM); - // netlib void InitNetlib(); diff --git a/protocols/Twitter/src/proto.cpp b/protocols/Twitter/src/proto.cpp index aadfb416a2..3cf8a955dd 100644 --- a/protocols/Twitter/src/proto.cpp +++ b/protocols/Twitter/src/proto.cpp @@ -27,8 +27,6 @@ CTwitterProto::CTwitterProto(const char *proto_name, const wchar_t *username) : PROTO(proto_name, username), m_arChatMarks(10, NumericKeySortT) { - CreateProtoService(PS_CREATEACCMGRUI, &CTwitterProto::SvcCreateAccMgrUI); - CreateProtoService(PS_JOINCHAT, &CTwitterProto::OnJoinChat); CreateProtoService(PS_LEAVECHAT, &CTwitterProto::OnLeaveChat); @@ -181,9 +179,9 @@ int CTwitterProto::SetStatus(int new_status) ///////////////////////////////////////////////////////////////////////////////////////// -INT_PTR CTwitterProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow CTwitterProto::OnCreateAccMgrUI(MWindow hwndParent) { - return (INT_PTR)CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_TWITTERACCOUNT), (HWND)lParam, first_run_dialog, (LPARAM)this); + return CreateDialogParam(g_plugin.getInst(), MAKEINTRESOURCE(IDD_TWITTERACCOUNT), hwndParent, first_run_dialog, (LPARAM)this); } INT_PTR CTwitterProto::ReplyToTweet(WPARAM wParam, LPARAM) diff --git a/protocols/Twitter/src/proto.h b/protocols/Twitter/src/proto.h index d545f409db..544c08d9a7 100644 --- a/protocols/Twitter/src/proto.h +++ b/protocols/Twitter/src/proto.h @@ -167,6 +167,7 @@ public: HANDLE GetAwayMsg(MCONTACT) override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; @@ -175,7 +176,6 @@ public: ////////////////////////////////////////////////////////////////////////////////////// // Services - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM,LPARAM); INT_PTR __cdecl ReplyToTweet(WPARAM,LPARAM); INT_PTR __cdecl VisitHomepage(WPARAM,LPARAM); INT_PTR __cdecl GetAvatar(WPARAM,LPARAM); diff --git a/protocols/VKontakte/src/vk_options.cpp b/protocols/VKontakte/src/vk_options.cpp index 8342842cd3..3c80b825e8 100644 --- a/protocols/VKontakte/src/vk_options.cpp +++ b/protocols/VKontakte/src/vk_options.cpp @@ -74,11 +74,11 @@ public: } }; -INT_PTR CVkProto::SvcCreateAccMgrUI(WPARAM, LPARAM lParam) +MWindow CVkProto::OnCreateAccMgrUI(MWindow hwndParent) { - CVkAccMgrForm *dlg = new CVkAccMgrForm(this, (HWND)lParam); + CVkAccMgrForm *dlg = new CVkAccMgrForm(this, hwndParent); dlg->Show(); - return (INT_PTR)dlg->GetHwnd(); + return dlg->GetHwnd(); } ////////////////////// Options /////////////////////////////////////////////// diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index 9e7a621593..78ccaf1bf8 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -48,7 +48,6 @@ CVkProto::CVkProto(const char *szModuleName, const wchar_t *pwszUserName) : InitQueue(); CheckUpdate(); - CreateProtoService(PS_CREATEACCMGRUI, &CVkProto::SvcCreateAccMgrUI); CreateProtoService(PS_GETAVATARINFO, &CVkProto::SvcGetAvatarInfo); CreateProtoService(PS_GETAVATARCAPS, &CVkProto::SvcGetAvatarCaps); CreateProtoService(PS_GETMYAVATAR, &CVkProto::SvcGetMyAvatar); diff --git a/protocols/VKontakte/src/vk_proto.h b/protocols/VKontakte/src/vk_proto.h index 4c9cb67a08..2ee40961f3 100644 --- a/protocols/VKontakte/src/vk_proto.h +++ b/protocols/VKontakte/src/vk_proto.h @@ -69,6 +69,7 @@ struct CVkProto : public PROTO void OnBuildProtoMenu() override; void OnContactDeleted(MCONTACT) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnMarkRead(MCONTACT, MEVENT) override; void OnModulesLoaded() override; void OnShutdown() override; @@ -81,7 +82,6 @@ struct CVkProto : public PROTO //==== Services ====================================================================== - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); INT_PTR __cdecl SvcGetAvatarInfo(WPARAM, LPARAM); INT_PTR __cdecl SvcGetAvatarCaps(WPARAM, LPARAM); INT_PTR __cdecl SvcGetMyAvatar(WPARAM, LPARAM); diff --git a/protocols/WhatsApp/src/options.cpp b/protocols/WhatsApp/src/options.cpp index 86cffde83b..073ac02d49 100644 --- a/protocols/WhatsApp/src/options.cpp +++ b/protocols/WhatsApp/src/options.cpp @@ -71,12 +71,12 @@ public: ///////////////////////////////////////////////////////////////////////////////////////// -INT_PTR WhatsAppProto::SvcCreateAccMgrUI(WPARAM, LPARAM hwndParent) +MWindow WhatsAppProto::OnCreateAccMgrUI(MWindow hwndParent) { auto *pDlg = new COptionsDlg(this, IDD_ACCMGRUI, false); - pDlg->SetParent((HWND)hwndParent); + pDlg->SetParent(hwndParent); pDlg->Create(); - return (INT_PTR)pDlg->GetHwnd(); + return pDlg->GetHwnd(); } int WhatsAppProto::OnOptionsInit(WPARAM wParam, LPARAM) diff --git a/protocols/WhatsApp/src/proto.cpp b/protocols/WhatsApp/src/proto.cpp index 1c2e0a7142..be3526d996 100644 --- a/protocols/WhatsApp/src/proto.cpp +++ b/protocols/WhatsApp/src/proto.cpp @@ -58,8 +58,6 @@ WhatsAppProto::WhatsAppProto(const char *proto_name, const wchar_t *username) : { db_set_resident(m_szModuleName, "StatusMsg"); - CreateProtoService(PS_CREATEACCMGRUI, &WhatsAppProto::SvcCreateAccMgrUI); - CreateProtoService(PS_GETAVATARINFO, &WhatsAppProto::GetAvatarInfo); CreateProtoService(PS_GETAVATARCAPS, &WhatsAppProto::GetAvatarCaps); CreateProtoService(PS_GETMYAVATAR, &WhatsAppProto::GetMyAvatar); diff --git a/protocols/WhatsApp/src/proto.h b/protocols/WhatsApp/src/proto.h index 4edc296d3f..942ab8d862 100644 --- a/protocols/WhatsApp/src/proto.h +++ b/protocols/WhatsApp/src/proto.h @@ -464,13 +464,10 @@ public: int SetStatus(int iNewStatus) override; int UserIsTyping(MCONTACT hContact, int type) override; + MWindow OnCreateAccMgrUI(MWindow) override; void OnErase() override; void OnModulesLoaded() override; - // Services //////////////////////////////////////////////////////////////////////////// - - INT_PTR __cdecl SvcCreateAccMgrUI(WPARAM, LPARAM); - // Events ////////////////////////////////////////////////////////////////////////////// int __cdecl OnOptionsInit(WPARAM, LPARAM); diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index 208d93904c..bca07ef01d 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -819,3 +819,4 @@ Srmm_CreateHotkey @886 NONAME ?Chat_Control@@YGHPBDH@Z @934 NONAME ?UpdateChatLog@CSrmmBaseDialog@@IAEXXZ @935 NONAME ?OnMarkRead@PROTO_INTERFACE@@UAEXII@Z @936 NONAME +?OnCreateAccMgrUI@PROTO_INTERFACE@@UAEPAUHWND__@@PAU2@@Z @937 NONAME diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 451d75680a..b1ec756b7f 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -819,3 +819,4 @@ Srmm_CreateHotkey @886 NONAME ?Chat_Control@@YAHPEBDH@Z @934 NONAME ?UpdateChatLog@CSrmmBaseDialog@@IEAAXXZ @935 NONAME ?OnMarkRead@PROTO_INTERFACE@@UEAAXII@Z @936 NONAME +?OnCreateAccMgrUI@PROTO_INTERFACE@@UEAAPEAUHWND__@@PEAU2@@Z @937 NONAME diff --git a/src/mir_app/src/proto_interface.cpp b/src/mir_app/src/proto_interface.cpp index 96c155a9a9..16718039f7 100644 --- a/src/mir_app/src/proto_interface.cpp +++ b/src/mir_app/src/proto_interface.cpp @@ -74,6 +74,11 @@ void PROTO_INTERFACE::OnContactAdded(MCONTACT) void PROTO_INTERFACE::OnContactDeleted(MCONTACT) {} +MWindow PROTO_INTERFACE::OnCreateAccMgrUI(MWindow) +{ + return nullptr; // error +} + void PROTO_INTERFACE::OnEventEdited(MCONTACT, MEVENT) {} diff --git a/src/mir_app/src/proto_opts.cpp b/src/mir_app/src/proto_opts.cpp index c2dfe73e72..68e2d71658 100644 --- a/src/mir_app/src/proto_opts.cpp +++ b/src/mir_app/src/proto_opts.cpp @@ -202,12 +202,11 @@ class CAccountManagerDlg : public CDlgBase SetDlgItemText(m_hwnd, IDC_TXT_INFO, TranslateT("Account is disabled. Please activate it to access options.")); } else { - HWND hwnd = (HWND)CallProtoService(pa->szModuleName, PS_CREATEACCMGRUI, 0, (LPARAM)m_hwnd); - if (hwnd && (hwnd != (HWND)CALLSERVICE_NOTFOUND)) { - RECT rc; - + MWindow hwnd = pa->ppro->OnCreateAccMgrUI(m_hwnd); + if (hwnd) { ShowWindow(GetDlgItem(m_hwnd, IDC_TXT_INFO), SW_HIDE); + RECT rc; GetWindowRect(GetDlgItem(m_hwnd, IDC_TXT_INFO), &rc); MapWindowPoints(nullptr, m_hwnd, (LPPOINT)&rc, 2); SetWindowPos(hwnd, m_accList.GetHwnd(), rc.left, rc.top, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW); -- cgit v1.2.3