From b68362e4ca9a176bde960f20dce76822e0a5dd0e Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 17 Jan 2019 17:37:28 +0300 Subject: code cleaning --- plugins/MessageState/src/clist_extra.cpp | 14 +++++----- plugins/MessageState/src/main.cpp | 5 ++-- plugins/MessageState/src/messagestate.cpp | 41 ++++++++++-------------------- plugins/MessageState/src/services.cpp | 7 +++-- plugins/MessageState/src/stdafx.h | 2 +- plugins/MessageState/src/utils.cpp | 3 +-- protocols/FacebookRM/src/communication.cpp | 2 +- protocols/FacebookRM/src/main.cpp | 11 ++++++++ protocols/FacebookRM/src/proto.cpp | 2 +- protocols/FacebookRM/src/stdafx.h | 3 ++- protocols/VKontakte/src/main.cpp | 11 ++++++++ protocols/VKontakte/src/misc.cpp | 4 +-- protocols/VKontakte/src/vk.h | 3 ++- protocols/VKontakte/src/vk_history.cpp | 2 +- protocols/VKontakte/src/vk_messages.cpp | 2 +- protocols/VKontakte/src/vk_pollserver.cpp | 4 +-- 16 files changed, 63 insertions(+), 53 deletions(-) diff --git a/plugins/MessageState/src/clist_extra.cpp b/plugins/MessageState/src/clist_extra.cpp index a4cf2e23f6..01a0f52739 100644 --- a/plugins/MessageState/src/clist_extra.cpp +++ b/plugins/MessageState/src/clist_extra.cpp @@ -4,12 +4,12 @@ HANDLE hExtraIcon = nullptr; int ExtraIconsApply(WPARAM hContact, LPARAM force) { - if (hContact == NULL) return 0; - - if (HasUnread(hContact) || force) - ExtraIcon_SetIcon(hExtraIcon, hContact, Icons[ICON_EXTRA].hIcolib); - else - ExtraIcon_Clear(hExtraIcon, hContact); + if (hContact != NULL) { + if (HasUnread(hContact) || force) + ExtraIcon_SetIcon(hExtraIcon, hContact, Icons[ICON_EXTRA].hIcolib); + else + ExtraIcon_Clear(hExtraIcon, hContact); + } return 0; } @@ -18,4 +18,4 @@ void InitClistExtraIcon() { hExtraIcon = ExtraIcon_RegisterIcolib("messagestate_unread", LPGEN("MessageState unread extra icon"), "clist_unread_icon"); HookEvent(ME_CLIST_EXTRA_IMAGE_APPLY, ExtraIconsApply); -} \ No newline at end of file +} diff --git a/plugins/MessageState/src/main.cpp b/plugins/MessageState/src/main.cpp index d799a1408e..d380c58a0a 100644 --- a/plugins/MessageState/src/main.cpp +++ b/plugins/MessageState/src/main.cpp @@ -4,7 +4,7 @@ CMPlugin g_plugin; ///////////////////////////////////////////////////////////////////////////////////////// -PLUGININFOEX pluginInfoEx = +PLUGININFOEX pluginInfoEx = { sizeof(PLUGININFOEX), __PLUGIN_NAME, @@ -21,7 +21,8 @@ PLUGININFOEX pluginInfoEx = CMPlugin::CMPlugin() : PLUGIN(MODULENAME, pluginInfoEx) -{} +{ +} ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/plugins/MessageState/src/messagestate.cpp b/plugins/MessageState/src/messagestate.cpp index 81bc96e438..a2dfc9c7f0 100644 --- a/plugins/MessageState/src/messagestate.cpp +++ b/plugins/MessageState/src/messagestate.cpp @@ -9,7 +9,7 @@ IconItem Icons[] = { LPGEN("Unread clist extra icon"), "clist_unread_icon", IDI_EXTRA }, }; -const wchar_t* Tooltips[] = +const wchar_t* Tooltips[] = { LPGENW("Last message is not read"), LPGENW("Last message read"), @@ -26,31 +26,21 @@ void SetSRMMIcon(MCONTACT hContact, SRMM_ICON_TYPE type, time_t time) CMStringW tszTooltip; - if (type != ICON_HIDDEN) - { + if (type != ICON_HIDDEN) { sid.hIcon = IcoLib_GetIconByHandle(Icons[type].hIcolib); - if (type == ICON_READ) - { - if (g_plugin.getDword(hContact, DBKEY_MESSAGE_READ_TIME_TYPE, -1) == MRD_TYPE_READTIME) - { + if (type == ICON_READ) { + if (g_plugin.getDword(hContact, DBKEY_MESSAGE_READ_TIME_TYPE, -1) == MRD_TYPE_READTIME) { wcsftime(tszTooltip.GetBuffer(64), 64, TranslateT("Last message read at %X %x"), localtime(&time)); tszTooltip.ReleaseBuffer(); } - else - { - tszTooltip = TranslateT("Last message read (unknown time)"); - } + else tszTooltip = TranslateT("Last message read (unknown time)"); } - else - tszTooltip = TranslateW(Tooltips[type]); + else tszTooltip = TranslateW(Tooltips[type]); sid.tszTooltip = tszTooltip.GetBuffer(); } - else - { - sid.flags |= MBF_HIDDEN; - } + else sid.flags |= MBF_HIDDEN; Srmm_ModifyIcon(hContact, &sid); } @@ -59,12 +49,10 @@ int IconsUpdate(MCONTACT hContact) { time_t readtime = g_plugin.getDword(hContact, DBKEY_MESSAGE_READ_TIME, 0); time_t lasttime = GetLastSentMessageTime(hContact); - if (lasttime != -1 && readtime != 0) - { - SetSRMMIcon(hContact, HasUnread(hContact) ? ICON_UNREAD : ICON_READ , readtime); + if (lasttime != -1 && readtime != 0) { + SetSRMMIcon(hContact, HasUnread(hContact) ? ICON_UNREAD : ICON_READ, readtime); } - else - { + else { SetSRMMIcon(hContact, ICON_HIDDEN); } @@ -76,8 +64,7 @@ int IconsUpdate(MCONTACT hContact) int OnProtoAck(WPARAM, LPARAM lParam) { ACKDATA *pAck = (ACKDATA *)lParam; - if (pAck && (pAck->type == ACKTYPE_MESSAGE || pAck->type == ACKTYPE_FILE) && CheckProtoSupport(pAck->szModule)) - { + if (pAck && (pAck->type == ACKTYPE_MESSAGE || pAck->type == ACKTYPE_FILE) && CheckProtoSupport(pAck->szModule)) { if (pAck->result == ACKRESULT_SUCCESS) SetSRMMIcon(pAck->hContact, ICON_UNREAD); else if (pAck->result == ACKRESULT_FAILED) SetSRMMIcon(pAck->hContact, ICON_FAILED); @@ -86,7 +73,7 @@ int OnProtoAck(WPARAM, LPARAM lParam) return 0; } -int OnEventFilterAdd(WPARAM hContact, LPARAM lParam) +int OnEventFilterAdd(WPARAM hContact, LPARAM lParam) { DBEVENTINFO *dbei = (DBEVENTINFO *)lParam; if ((dbei->flags & DBEF_SENT) && CheckProtoSupport(dbei->szModule) && db_get_b(hContact, "Tab_SRMsg", "no_ack", 0)) @@ -98,7 +85,7 @@ int OnModulesLoaded(WPARAM, LPARAM) { HookEvent(ME_PROTO_ACK, OnProtoAck); HookEvent(ME_DB_EVENT_FILTER_ADD, OnEventFilterAdd); - + g_plugin.registerIcon(MODULENAME, Icons); StatusIconData sid = {}; @@ -108,7 +95,7 @@ int OnModulesLoaded(WPARAM, LPARAM) Srmm_AddIcon(&sid, &g_plugin); InitClistExtraIcon(); - + for (auto &hContact : Contacts()) IconsUpdate(hContact); diff --git a/plugins/MessageState/src/services.cpp b/plugins/MessageState/src/services.cpp index 3521ece9a9..4e2706d1e5 100644 --- a/plugins/MessageState/src/services.cpp +++ b/plugins/MessageState/src/services.cpp @@ -10,11 +10,10 @@ void InitServices() INT_PTR UpdateService(WPARAM hContact, LPARAM lParam) { MessageReadData *mrd = (MessageReadData*)lParam; - if (mrd->dw_lastTime > g_plugin.getDword(hContact, DBKEY_MESSAGE_READ_TIME, 0)) - { + if (mrd->dw_lastTime > g_plugin.getDword(hContact, DBKEY_MESSAGE_READ_TIME, 0)) { g_plugin.setDword(hContact, DBKEY_MESSAGE_READ_TIME, mrd->dw_lastTime); g_plugin.setDword(hContact, DBKEY_MESSAGE_READ_TIME_TYPE, mrd->iTimeType); IconsUpdate(hContact); } - return 0; -} \ No newline at end of file + return 0; +} diff --git a/plugins/MessageState/src/stdafx.h b/plugins/MessageState/src/stdafx.h index c5e033d418..ac6e58326e 100644 --- a/plugins/MessageState/src/stdafx.h +++ b/plugins/MessageState/src/stdafx.h @@ -27,4 +27,4 @@ struct CMPlugin : public PLUGIN int Load() override; }; -extern IconItem Icons[]; \ No newline at end of file +extern IconItem Icons[]; diff --git a/plugins/MessageState/src/utils.cpp b/plugins/MessageState/src/utils.cpp index 7f8bf81487..ca4c028ef8 100644 --- a/plugins/MessageState/src/utils.cpp +++ b/plugins/MessageState/src/utils.cpp @@ -2,8 +2,7 @@ time_t GetLastSentMessageTime(MCONTACT hContact) { - for (MEVENT hDbEvent = db_event_last(hContact); hDbEvent; hDbEvent = db_event_prev(hContact, hDbEvent)) - { + for (MEVENT hDbEvent = db_event_last(hContact); hDbEvent; hDbEvent = db_event_prev(hContact, hDbEvent)) { DBEVENTINFO dbei = {}; db_event_get(hDbEvent, &dbei); if (dbei.flags & DBEF_SENT) diff --git a/protocols/FacebookRM/src/communication.cpp b/protocols/FacebookRM/src/communication.cpp index 4af77123c5..39f4a1866d 100644 --- a/protocols/FacebookRM/src/communication.cpp +++ b/protocols/FacebookRM/src/communication.cpp @@ -338,7 +338,7 @@ void facebook_client::insert_reader(MCONTACT hContact, time_t timestamp, const s parent->setDword(hContact, FACEBOOK_KEY_MESSAGE_READ, timestamp); readers.insert(std::make_pair(hContact, timestamp)); parent->MessageRead(hContact); - if (ServiceExists(MS_MESSAGESTATE_UPDATE)) { + if (g_bMessageState) { MessageReadData data(timestamp, MRD_TYPE_READTIME); CallService(MS_MESSAGESTATE_UPDATE, hContact, (LPARAM)&data); } diff --git a/protocols/FacebookRM/src/main.cpp b/protocols/FacebookRM/src/main.cpp index 6503feee49..ec84f62346 100644 --- a/protocols/FacebookRM/src/main.cpp +++ b/protocols/FacebookRM/src/main.cpp @@ -26,6 +26,7 @@ CMPlugin g_plugin; std::string g_strUserAgent; DWORD g_mirandaVersion; +bool g_bMessageState; ///////////////////////////////////////////////////////////////////////////////////////// @@ -56,8 +57,18 @@ extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_PROTOC ///////////////////////////////////////////////////////////////////////////////////////// // Load +static int OnModuleLoaded(WPARAM, LPARAM) +{ + g_bMessageState = ServiceExists(MS_MESSAGESTATE_UPDATE) != 0; + return 0; +} + int CMPlugin::Load() { + HookEvent(ME_SYSTEM_MODULELOAD, OnModuleLoaded); + HookEvent(ME_SYSTEM_MODULEUNLOAD, OnModuleLoaded); + OnModuleLoaded(0, 0); + InitIcons(); InitContactMenus(); diff --git a/protocols/FacebookRM/src/proto.cpp b/protocols/FacebookRM/src/proto.cpp index b4eacb2407..fef127544d 100644 --- a/protocols/FacebookRM/src/proto.cpp +++ b/protocols/FacebookRM/src/proto.cpp @@ -1046,6 +1046,6 @@ void FacebookProto::MessageRead(MCONTACT hContact) ptrW treaders(getWStringA(hContact, FACEBOOK_KEY_MESSAGE_READERS)); Srmm_SetStatusText(hContact, CMStringW(FORMAT, TranslateT("Message read: %s by %s"), ttime, treaders ? treaders : L"???"), hIcon); } - else if (!ServiceExists(MS_MESSAGESTATE_UPDATE)) + else if (!g_bMessageState) Srmm_SetStatusText(hContact, CMStringW(FORMAT, TranslateT("Message read: %s"), ttime), hIcon); } diff --git a/protocols/FacebookRM/src/stdafx.h b/protocols/FacebookRM/src/stdafx.h index 7c0815d6aa..9077ed184c 100644 --- a/protocols/FacebookRM/src/stdafx.h +++ b/protocols/FacebookRM/src/stdafx.h @@ -81,10 +81,11 @@ class FacebookProto; extern std::string g_strUserAgent; extern DWORD g_mirandaVersion; +extern bool g_bMessageState; template __inline static void FreeList(const LIST &lst) { for (auto &it : lst) mir_free(it); -} \ No newline at end of file +} diff --git a/protocols/VKontakte/src/main.cpp b/protocols/VKontakte/src/main.cpp index 8e2909bfa5..c304f57adb 100644 --- a/protocols/VKontakte/src/main.cpp +++ b/protocols/VKontakte/src/main.cpp @@ -19,6 +19,7 @@ along with this program. If not, see . #include "version.h" CMPlugin g_plugin; +bool g_bMessageState; ///////////////////////////////////////////////////////////////////////////////////////// @@ -49,8 +50,18 @@ extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_PROTOC ///////////////////////////////////////////////////////////////////////////////////////// // OnLoad - initialize the plugin instance +static int OnModuleLoaded(WPARAM, LPARAM) +{ + g_bMessageState = ServiceExists(MS_MESSAGESTATE_UPDATE) != 0; + return 0; +} + int CMPlugin::Load() { + HookEvent(ME_SYSTEM_MODULELOAD, OnModuleLoaded); + HookEvent(ME_SYSTEM_MODULEUNLOAD, OnModuleLoaded); + OnModuleLoaded(0, 0); + InitIcons(); return 0; } diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp index 196f76f29f..582aa00481 100644 --- a/protocols/VKontakte/src/misc.cpp +++ b/protocols/VKontakte/src/misc.cpp @@ -701,7 +701,7 @@ void CVkProto::ContactTypingThread(void *p) Sleep(4500); CallService(MS_PROTO_CONTACTISTYPING, hContact); - if (!ServiceExists(MS_MESSAGESTATE_UPDATE)) { + if (!g_bMessageState) { Sleep(1500); SetSrmmReadStatus(hContact); } @@ -739,7 +739,7 @@ int CVkProto::OnProcessSrmmEvent(WPARAM, LPARAM lParam) if (szProto.IsEmpty() || szProto != m_szModuleName) return 0; - if (event->uType == MSG_WINDOW_EVT_OPENING && !ServiceExists(MS_MESSAGESTATE_UPDATE)) + if (event->uType == MSG_WINDOW_EVT_OPENING && !g_bMessageState) SetSrmmReadStatus(event->hContact); if (event->uType == MSG_WINDOW_EVT_OPENING && m_vkOptions.bLoadLastMessageOnMsgWindowsOpen diff --git a/protocols/VKontakte/src/vk.h b/protocols/VKontakte/src/vk.h index 77aed6241c..acc4ae940f 100644 --- a/protocols/VKontakte/src/vk.h +++ b/protocols/VKontakte/src/vk.h @@ -102,6 +102,7 @@ along with this program. If not, see . struct CVkProto; extern mir_cs csInstances; +extern bool g_bMessageState; LPCSTR findHeader(NETLIBHTTPREQUEST *hdr, LPCSTR szField); bool wlstrstr(wchar_t *_s1, wchar_t *_s2); @@ -112,4 +113,4 @@ HANDLE GetIconHandle(int iCommand); char* ExpUrlEncode(const char *szUrl, bool strict = false); bool IsEmpty(LPCWSTR str); -bool IsEmpty(LPCSTR str); \ No newline at end of file +bool IsEmpty(LPCSTR str); diff --git a/protocols/VKontakte/src/vk_history.cpp b/protocols/VKontakte/src/vk_history.cpp index 2b3e00952b..2de3001185 100644 --- a/protocols/VKontakte/src/vk_history.cpp +++ b/protocols/VKontakte/src/vk_history.cpp @@ -309,7 +309,7 @@ void CVkProto::OnReceiveHistoryMessages(NETLIBHTTPREQUEST *reply, AsyncHttpReque setDword(param->hContact, "lastmsgid", iLastMsgId); - if (ServiceExists(MS_MESSAGESTATE_UPDATE)) { + if (g_bMessageState) { MessageReadData data(tLastReadMessageTime, MRD_TYPE_MESSAGETIME); CallService(MS_MESSAGESTATE_UPDATE, param->hContact, (LPARAM)&data); } diff --git a/protocols/VKontakte/src/vk_messages.cpp b/protocols/VKontakte/src/vk_messages.cpp index 349cd997e7..35156eedcf 100644 --- a/protocols/VKontakte/src/vk_messages.cpp +++ b/protocols/VKontakte/src/vk_messages.cpp @@ -438,7 +438,7 @@ void CVkProto::OnReceiveDlgs(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pReq) if (IsGroupUser(hContact)) szGroupIds.AppendFormat(szGroupIds.IsEmpty() ? "%d" : ",%d", -1 * uid); - if (ServiceExists(MS_MESSAGESTATE_UPDATE)) { + if (g_bMessageState) { time_t tLastReadMessageTime = jnDlg["date"].as_int(); bool isOut = jnDlg["out"].as_bool(); bool isRead = jnDlg["read_state"].as_bool(); diff --git a/protocols/VKontakte/src/vk_pollserver.cpp b/protocols/VKontakte/src/vk_pollserver.cpp index c023dd0825..5be1d266a8 100644 --- a/protocols/VKontakte/src/vk_pollserver.cpp +++ b/protocols/VKontakte/src/vk_pollserver.cpp @@ -101,7 +101,7 @@ void CVkProto::PollUpdates(const JSONNode &jnUpdates) if (hContact != 0 && (flags & VKFLAG_MSGUNREAD) && !IsMessageExist(msgid, vkIN)) { setDword(hContact, "LastMsgReadTime", time(0)); - if (ServiceExists(MS_MESSAGESTATE_UPDATE)) { + if (g_bMessageState) { MessageReadData data(time(0), MRD_TYPE_READTIME); CallService(MS_MESSAGESTATE_UPDATE, hContact, (LPARAM)&data); } @@ -175,7 +175,7 @@ void CVkProto::PollUpdates(const JSONNode &jnUpdates) hContact = FindUser(uid); if (hContact != 0) { setDword(hContact, "LastMsgReadTime", time(0)); - if (ServiceExists(MS_MESSAGESTATE_UPDATE)) { + if (g_bMessageState) { MessageReadData data(time(0), MRD_TYPE_READTIME); CallService(MS_MESSAGESTATE_UPDATE, hContact, (LPARAM)&data); } -- cgit v1.2.3