summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2019-09-26 22:15:57 +0300
committerGeorge Hazan <ghazan@miranda.im>2019-09-26 22:15:57 +0300
commit15c49e3fc4cf033fffbf79e9f68a0405d5a95d14 (patch)
tree3ba342e3e8645156102d3c5f3f9a1b5dafe4c22c
parentd095047014348c9e8dd72a72dc59b2abd22bbf9c (diff)
Clist_IsHidden / Clist_HideContact - two helpers to hide CList/Hidden variable and unify access to it
-rw-r--r--include/m_clist.h6
-rw-r--r--libs/win32/mir_app.libbin193018 -> 193462 bytes
-rw-r--r--libs/win64/mir_app.libbin188764 -> 189170 bytes
-rw-r--r--plugins/AVS/src/options.cpp18
-rw-r--r--plugins/AVS/src/utils.cpp2
-rw-r--r--plugins/AutoShutdown/src/watcher.cpp2
-rw-r--r--plugins/BuddyExpectator/src/BuddyExpectator.cpp10
-rw-r--r--plugins/ClientChangeNotify/src/ClientChangeNotify.cpp2
-rw-r--r--plugins/Clist_modern/src/modern_clc.cpp2
-rw-r--r--plugins/Clist_modern/src/modern_clcitems.cpp4
-rw-r--r--plugins/Clist_nicer/src/clc.cpp2
-rw-r--r--plugins/Clist_nicer/src/clcitems.cpp2
-rw-r--r--plugins/KeyboardNotify/src/ignore.cpp2
-rw-r--r--plugins/MenuItemEx/src/main.cpp7
-rw-r--r--plugins/MirFox/src/MirfoxData.cpp3
-rw-r--r--plugins/MirFox/src/MirfoxMiranda.cpp5
-rw-r--r--plugins/MirandaG15/src/CAppletManager.cpp4
-rw-r--r--plugins/MirandaG15/src/CContactList.cpp4
-rw-r--r--plugins/MirandaG15/src/CEventScreen.cpp3
-rw-r--r--plugins/NewXstatusNotify/src/main.cpp2
-rw-r--r--plugins/NewXstatusNotify/src/xstatus.cpp2
-rw-r--r--plugins/SecureIM/src/crypt_check.cpp2
-rw-r--r--plugins/SeenPlugin/src/utils.cpp2
-rw-r--r--plugins/Sessions/Src/Utils.cpp2
-rw-r--r--plugins/ShellExt/src/shlcom.cpp8
-rw-r--r--plugins/Spamotron/src/spamotron.cpp8
-rwxr-xr-xplugins/StopSpamMod/src/stopspam.cpp6
-rw-r--r--plugins/StopSpamPlus/src/events.cpp6
-rw-r--r--plugins/TabSRMM/src/chat_tools.cpp4
-rw-r--r--plugins/TabSRMM/src/typingnotify.cpp2
-rw-r--r--plugins/TooltipNotify/src/TooltipNotify.cpp2
-rw-r--r--plugins/UserInfoEx/src/svc_reminder.cpp2
-rw-r--r--plugins/WhenWasIt/src/hooked_events.cpp2
-rw-r--r--plugins/wbOSD/src/events.cpp4
-rw-r--r--protocols/Discord/src/groupchat.cpp2
-rw-r--r--protocols/Dummy/src/dummy_proto.cpp4
-rw-r--r--protocols/EmLanProto/src/mlan.cpp8
-rw-r--r--protocols/EmLanProto/src/stdafx.h1
-rw-r--r--protocols/FacebookRM/src/contacts.cpp2
-rw-r--r--protocols/FacebookRM/src/proto.cpp2
-rw-r--r--protocols/Gadu-Gadu/src/core.cpp5
-rw-r--r--protocols/ICQ-WIM/src/groupchats.cpp2
-rw-r--r--protocols/ICQ-WIM/src/ignore.cpp2
-rw-r--r--protocols/ICQCorp/src/protocol.cpp4
-rw-r--r--protocols/ICQCorp/src/services.cpp4
-rw-r--r--protocols/IRCG/src/clist.cpp6
-rw-r--r--protocols/IRCG/src/commandmonitor.cpp9
-rw-r--r--protocols/JabberG/src/jabber_chat.cpp4
-rw-r--r--protocols/JabberG/src/jabber_events.cpp2
-rw-r--r--protocols/JabberG/src/jabber_iq_handlers.cpp2
-rwxr-xr-xprotocols/JabberG/src/jabber_iqid.cpp2
-rwxr-xr-xprotocols/JabberG/src/jabber_misc.cpp2
-rwxr-xr-xprotocols/JabberG/src/jabber_proto.cpp2
-rw-r--r--protocols/MSN/src/msn_commands.cpp2
-rw-r--r--protocols/MSN/src/msn_contact.cpp2
-rw-r--r--protocols/MSN/src/msn_proto.cpp8
-rw-r--r--protocols/MSN/src/msn_soapab.cpp2
-rw-r--r--protocols/NewsAggregator/Src/Options.cpp4
-rw-r--r--protocols/Sametime/src/sametime_proto.cpp4
-rw-r--r--protocols/Sametime/src/userlist.cpp6
-rw-r--r--protocols/SkypeWeb/src/skype_chatrooms.cpp2
-rw-r--r--protocols/SkypeWeb/src/skype_contacts.cpp11
-rw-r--r--protocols/VKontakte/src/misc.cpp4
-rw-r--r--protocols/VKontakte/src/vk_chats.cpp4
-rw-r--r--protocols/VKontakte/src/vk_thread.cpp3
-rw-r--r--protocols/Weather/src/weather_addstn.cpp2
-rw-r--r--protocols/Weather/src/weather_mwin.cpp4
-rw-r--r--protocols/WebView/src/webview_services.cpp4
-rw-r--r--protocols/YAMN/src/proto/pop3/pop3comm.cpp4
-rw-r--r--protocols/YAMN/src/services.cpp7
-rw-r--r--src/core/stduseronline/src/useronline.cpp2
-rw-r--r--src/mir_app/src/chat_manager.cpp2
-rw-r--r--src/mir_app/src/chat_tools.cpp4
-rw-r--r--src/mir_app/src/clc.cpp4
-rw-r--r--src/mir_app/src/clcitems.cpp2
-rw-r--r--src/mir_app/src/clcutils.cpp15
-rw-r--r--src/mir_app/src/clistsettings.cpp4
-rw-r--r--src/mir_app/src/clui.cpp2
-rw-r--r--src/mir_app/src/contact.cpp2
-rw-r--r--src/mir_app/src/ignore.cpp12
-rw-r--r--src/mir_app/src/meta_menu.cpp4
-rw-r--r--src/mir_app/src/meta_utils.cpp2
-rw-r--r--src/mir_app/src/mir_app.def2
-rw-r--r--src/mir_app/src/mir_app64.def2
84 files changed, 171 insertions, 158 deletions
diff --git a/include/m_clist.h b/include/m_clist.h
index 3142a497ed..c4b74e8397 100644
--- a/include/m_clist.h
+++ b/include/m_clist.h
@@ -489,6 +489,12 @@ EXTERN_C MIR_APP_DLL(int) Clist_ContactCompare(MCONTACT hContact1, MCONTACT hCon
EXTERN_C MIR_APP_DLL(wchar_t*) Clist_GetContactDisplayName(MCONTACT hContact, int mode = 0);
/////////////////////////////////////////////////////////////////////////////////////////
+// gets / sets hidden status for a contact
+
+EXTERN_C MIR_APP_DLL(bool) Clist_IsHidden(MCONTACT hContact);
+EXTERN_C MIR_APP_DLL(void) Clist_HideContact(MCONTACT hContact, bool bHidden = true);
+
+/////////////////////////////////////////////////////////////////////////////////////////
// DRAG-N-DROP SUPPORT
/////////////////////////////////////////////////////////////////////////////////////////
// a contact is being dragged outside the main window
diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib
index 230c0a3dde..8dd255cecb 100644
--- a/libs/win32/mir_app.lib
+++ b/libs/win32/mir_app.lib
Binary files differ
diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib
index 9583f8c37e..d018b79b8b 100644
--- a/libs/win64/mir_app.lib
+++ b/libs/win64/mir_app.lib
Binary files differ
diff --git a/plugins/AVS/src/options.cpp b/plugins/AVS/src/options.cpp
index 1411ecffb3..93ef446f50 100644
--- a/plugins/AVS/src/options.cpp
+++ b/plugins/AVS/src/options.cpp
@@ -496,7 +496,7 @@ INT_PTR CALLBACK DlgProcAvatarOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPA
ShowWindow(hwndDlg, SW_SHOWNORMAL);
InvalidateRect(GetDlgItem(hwndDlg, IDC_PROTOPIC), nullptr, FALSE);
CheckDlgButton(hwndDlg, IDC_PROTECTAVATAR, db_get_b(hContact, "ContactPhoto", "Locked", 0) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_HIDEAVATAR, db_get_b(hContact, "ContactPhoto", "Hidden", 0) ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_HIDEAVATAR, Clist_IsHidden(hContact) ? BST_CHECKED : BST_UNCHECKED);
SendDlgItemMessage(hwndDlg, IDC_BKG_NUM_POINTS_SPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_BKG_NUM_POINTS), 0);
SendDlgItemMessage(hwndDlg, IDC_BKG_NUM_POINTS_SPIN, UDM_SETRANGE, 0, MAKELONG(8, 2));
@@ -525,11 +525,11 @@ INT_PTR CALLBACK DlgProcAvatarOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPA
case IDOK:
{
- BOOL locked = IsDlgButtonChecked(hwndDlg, IDC_PROTECTAVATAR);
- int hidden = IsDlgButtonChecked(hwndDlg, IDC_HIDEAVATAR) ? 1 : 0;
+ bool locked = IsDlgButtonChecked(hwndDlg, IDC_PROTECTAVATAR) != 0;
+ bool hidden = IsDlgButtonChecked(hwndDlg, IDC_HIDEAVATAR) != 0;
SetAvatarAttribute(hContact, AVS_HIDEONCLIST, hidden);
- if (hidden != db_get_b(hContact, "ContactPhoto", "Hidden", 0))
- db_set_b(hContact, "ContactPhoto", "Hidden", hidden);
+ if (hidden != Clist_IsHidden(hContact))
+ Clist_HideContact(hContact, hidden);
if (!locked && db_get_b(hContact, "ContactPhoto", "NeedUpdate", 0))
QueueAdd(hContact);
@@ -750,7 +750,7 @@ static INT_PTR CALLBACK DlgProcAvatarUserInfo(HWND hwndDlg, UINT msg, WPARAM wPa
TranslateDialogDefault(hwndDlg);
SendMessage(hwndDlg, DM_SETAVATARNAME, 0, 0);
CheckDlgButton(hwndDlg, IDC_PROTECTAVATAR, db_get_b(hContact, "ContactPhoto", "Locked", 0) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_HIDEAVATAR, db_get_b(hContact, "ContactPhoto", "Hidden", 0) ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_HIDEAVATAR, Clist_IsHidden(hContact) ? BST_CHECKED : BST_UNCHECKED);
SendDlgItemMessage(hwndDlg, IDC_BKG_NUM_POINTS_SPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_BKG_NUM_POINTS), 0);
SendDlgItemMessage(hwndDlg, IDC_BKG_NUM_POINTS_SPIN, UDM_SETRANGE, 0, MAKELONG(8, 2));
@@ -783,10 +783,10 @@ static INT_PTR CALLBACK DlgProcAvatarUserInfo(HWND hwndDlg, UINT msg, WPARAM wPa
case IDC_HIDEAVATAR:
{
- int hidden = IsDlgButtonChecked(hwndDlg, IDC_HIDEAVATAR) ? 1 : 0;
+ bool hidden = IsDlgButtonChecked(hwndDlg, IDC_HIDEAVATAR) != 0;
SetAvatarAttribute(hContact, AVS_HIDEONCLIST, hidden);
- if (hidden != db_get_b(hContact, "ContactPhoto", "Hidden", 0))
- db_set_b(hContact, "ContactPhoto", "Hidden", hidden);
+ if (hidden != Clist_IsHidden(hContact))
+ Clist_HideContact(hContact, hidden);
}
break;
diff --git a/plugins/AVS/src/utils.cpp b/plugins/AVS/src/utils.cpp
index cea5beb71e..80b8add728 100644
--- a/plugins/AVS/src/utils.cpp
+++ b/plugins/AVS/src/utils.cpp
@@ -158,7 +158,7 @@ int CreateAvatarInCache(MCONTACT hContact, AVATARCACHEENTRY *ace, const char *sz
GetObject(ace->hbmPic, sizeof(bminfo), &bminfo);
ace->dwFlags = AVS_BITMAP_VALID;
- if (hContact != NULL && db_get_b(hContact, "ContactPhoto", "Hidden", 0))
+ if (hContact != NULL && Clist_IsHidden(hContact))
ace->dwFlags |= AVS_HIDEONCLIST;
ace->hContact = hContact;
ace->bmHeight = bminfo.bmHeight;
diff --git a/plugins/AutoShutdown/src/watcher.cpp b/plugins/AutoShutdown/src/watcher.cpp
index fe08ea17a2..87cba96fde 100644
--- a/plugins/AutoShutdown/src/watcher.cpp
+++ b/plugins/AutoShutdown/src/watcher.cpp
@@ -182,7 +182,7 @@ static BOOL CheckAllContactsOffline(void)
if (db_get_b(hContact, pszProto, "ChatRoom", 0)) continue;
if (db_get_w(hContact, pszProto, "Status", 0) != ID_STATUS_OFFLINE) {
if (fSmartCheck) {
- if (db_get_b(hContact, "CList", "Hidden", 0)) continue;
+ if (Clist_IsHidden(hContact)) continue;
if (db_get_b(hContact, "CList", "NotOnList", 0)) continue;
}
fAllOffline = FALSE;
diff --git a/plugins/BuddyExpectator/src/BuddyExpectator.cpp b/plugins/BuddyExpectator/src/BuddyExpectator.cpp
index 48649fcc95..82dd5204fb 100644
--- a/plugins/BuddyExpectator/src/BuddyExpectator.cpp
+++ b/plugins/BuddyExpectator/src/BuddyExpectator.cpp
@@ -100,7 +100,7 @@ LRESULT CALLBACK HidePopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM
switch (message) {
case WM_COMMAND:
if (HIWORD(wParam) == STN_CLICKED) {
- db_set_b(PUGetContact(hWnd), "CList", "Hidden", 1);
+ Clist_HideContact(PUGetContact(hWnd));
PUDeletePopup(hWnd);
}
break;
@@ -112,7 +112,7 @@ LRESULT CALLBACK HidePopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM
case UM_POPUPACTION:
if (wParam == 2) {
- db_set_b(PUGetContact(hWnd), "CList", "Hidden", 1);
+ Clist_HideContact(PUGetContact(hWnd));
PUDeletePopup(hWnd);
}
if (wParam == 3) {
@@ -223,7 +223,7 @@ bool isContactGoneFor(MCONTACT hContact, int days)
if (options.hideInactive)
if (daysSinceMessage >= options.iSilencePeriod)
- if (!db_get_b(hContact, "CList", "Hidden", 0) && !g_plugin.getByte(hContact, "NeverHide", 0)) {
+ if (!Clist_IsHidden(hContact) && !g_plugin.getByte(hContact, "NeverHide", 0)) {
POPUPDATAW ppd;
ppd.lchContact = hContact;
ppd.lchIcon = IcoLib_GetIcon("enabled_icon");
@@ -252,7 +252,7 @@ bool isContactGoneFor(MCONTACT hContact, int days)
void ReturnNotify(MCONTACT hContact, wchar_t *message)
{
- if (db_get_b(hContact, "CList", "NotOnList", 0) == 1 || db_get_b(hContact, "CList", "Hidden", 0) == 1)
+ if (db_get_b(hContact, "CList", "NotOnList", 0) == 1 || Clist_IsHidden(hContact))
return;
Skin_PlaySound("buddyExpectatorReturn");
@@ -291,7 +291,7 @@ void ReturnNotify(MCONTACT hContact, wchar_t *message)
void GoneNotify(MCONTACT hContact, wchar_t *message)
{
- if (db_get_b(hContact, "CList", "NotOnList", 0) == 1 || db_get_b(hContact, "CList", "Hidden", 0) == 1)
+ if (db_get_b(hContact, "CList", "NotOnList", 0) == 1 || Clist_IsHidden(hContact))
return;
if (options.iShowPopup2 > 0) {
diff --git a/plugins/ClientChangeNotify/src/ClientChangeNotify.cpp b/plugins/ClientChangeNotify/src/ClientChangeNotify.cpp
index 97eff14c37..7cbd225163 100644
--- a/plugins/ClientChangeNotify/src/ClientChangeNotify.cpp
+++ b/plugins/ClientChangeNotify/src/ClientChangeNotify.cpp
@@ -212,7 +212,7 @@ int ContactSettingChanged(WPARAM hContact, LPARAM lParam)
if (!hContactOrMeta)
hContactOrMeta = hContact;
- if (hContact && db_get_b(hContactOrMeta, "CList", "Hidden", 0))
+ if (hContact && Clist_IsHidden(hContactOrMeta))
return 0;
int PerContactSetting = hContact ? g_plugin.getByte(hContact, DB_CCN_NOTIFY, NOTIFY_USEGLOBAL) : NOTIFY_ALWAYS; // NOTIFY_ALWAYS for preview
diff --git a/plugins/Clist_modern/src/modern_clc.cpp b/plugins/Clist_modern/src/modern_clc.cpp
index e59f10c3fe..a9afcacfd1 100644
--- a/plugins/Clist_modern/src/modern_clc.cpp
+++ b/plugins/Clist_modern/src/modern_clc.cpp
@@ -1308,7 +1308,7 @@ static LRESULT clcOnIntmGroupChanged(ClcData *dat, HWND hwnd, UINT, WPARAM wPara
flags = contact->flags;
}
Clist_DeleteItemFromTree(hwnd, wParam);
- if (GetWindowLongPtr(hwnd, GWL_STYLE) & CLS_SHOWHIDDEN || !g_plugin.getByte(wParam, "Hidden")) {
+ if (GetWindowLongPtr(hwnd, GWL_STYLE) & CLS_SHOWHIDDEN || !Clist_IsHidden(wParam)) {
NMCLISTCONTROL nm;
g_clistApi.pfnAddContactToTree(hwnd, dat, wParam, 1, 1);
if (Clist_FindItem(hwnd, dat, wParam, &contact)) {
diff --git a/plugins/Clist_modern/src/modern_clcitems.cpp b/plugins/Clist_modern/src/modern_clcitems.cpp
index d9e9c35246..87a0c84cd1 100644
--- a/plugins/Clist_modern/src/modern_clcitems.cpp
+++ b/plugins/Clist_modern/src/modern_clcitems.cpp
@@ -326,7 +326,7 @@ ClcCacheEntry* cliCreateCacheItem(MCONTACT hContact)
pdnce->hContact = hContact;
pdnce->szProto = GetContactProto(hContact);
- pdnce->bIsHidden = g_plugin.getByte(hContact, "Hidden");
+ pdnce->bIsHidden = Clist_IsHidden(hContact);
pdnce->m_bIsSub = db_mc_isSub(hContact) != 0;
pdnce->m_bNoHiddenOffline = g_plugin.getByte(hContact, "noOffline");
pdnce->IdleTS = db_get_dw(hContact, pdnce->szProto, "IdleTS", 0);
@@ -396,7 +396,7 @@ int cliGetGroupContentsCount(ClcGroup *group, int visibleOnly)
int CLVM_GetContactHiddenStatus(MCONTACT hContact, char *szProto, ClcData *dat)
{
- int dbHidden = g_plugin.getByte(hContact, "Hidden"); // default hidden state, always respect it.
+ int dbHidden = Clist_IsHidden(hContact); // default hidden state, always respect it.
int filterResult = 1;
int searchResult = 0;
ClcCacheEntry *pdnce = Clist_GetCacheEntry(hContact);
diff --git a/plugins/Clist_nicer/src/clc.cpp b/plugins/Clist_nicer/src/clc.cpp
index bb843b5bbe..fe8faf6126 100644
--- a/plugins/Clist_nicer/src/clc.cpp
+++ b/plugins/Clist_nicer/src/clc.cpp
@@ -131,7 +131,7 @@ static int ClcSettingChanged(WPARAM hContact, LPARAM lParam)
if (!__strcmp(szProto, cws->szModule)) {
// was a unique setting key written?
if (!__strcmp(cws->szSetting, "Status")) {
- if (!g_plugin.getByte(hContact, "Hidden"))
+ if (!Clist_IsHidden(hContact))
if (cws->value.wVal == ID_STATUS_OFFLINE)
if (g_plugin.getByte("HideOffline", SETTING_HIDEOFFLINE_DEFAULT))
return 0;
diff --git a/plugins/Clist_nicer/src/clcitems.cpp b/plugins/Clist_nicer/src/clcitems.cpp
index 023ba9a40d..283691b06a 100644
--- a/plugins/Clist_nicer/src/clcitems.cpp
+++ b/plugins/Clist_nicer/src/clcitems.cpp
@@ -373,7 +373,7 @@ void LoadSkinItemToCache(TExtraCache *cEntry)
int CLVM_GetContactHiddenStatus(MCONTACT hContact, char *szProto, struct ClcData *dat)
{
- int dbHidden = g_plugin.getByte(hContact, "Hidden"); // default hidden state, always respect it.
+ int dbHidden = Clist_IsHidden(hContact); // default hidden state, always respect it.
// always hide subcontacts (but show them on embedded contact lists)
if (dat != nullptr && dat->bHideSubcontacts && cfg::dat.bMetaEnabled && db_mc_isSub(hContact))
diff --git a/plugins/KeyboardNotify/src/ignore.cpp b/plugins/KeyboardNotify/src/ignore.cpp
index fd9808108c..9d2c57df76 100644
--- a/plugins/KeyboardNotify/src/ignore.cpp
+++ b/plugins/KeyboardNotify/src/ignore.cpp
@@ -32,7 +32,7 @@ static DWORD GetMask(MCONTACT hContact)
if(hContact == NULL)
mask=0;
else {
- if(db_get_b(hContact, "CList", "Hidden", 0) || db_get_b(hContact, "CList", "NotOnList", 0))
+ if (Clist_IsHidden(hContact) || db_get_b(hContact, "CList", "NotOnList", 0))
mask = g_plugin.getDword("Mask1", 0);
else
mask = g_plugin.getDword("Default1", 0);
diff --git a/plugins/MenuItemEx/src/main.cpp b/plugins/MenuItemEx/src/main.cpp
index 5a1c87ab99..a8c8a6f3c5 100644
--- a/plugins/MenuItemEx/src/main.cpp
+++ b/plugins/MenuItemEx/src/main.cpp
@@ -377,7 +377,7 @@ static INT_PTR onSetVis(WPARAM wparam, LPARAM)
static INT_PTR onHide(WPARAM wparam, LPARAM)
{
MCONTACT hContact = (MCONTACT)wparam;
- db_set_b(hContact, "CList", "Hidden", (BYTE)!db_get_b(hContact, "CList", "Hidden", 0));
+ Clist_HideContact(hContact, !Clist_IsHidden(hContact));
return 0;
}
@@ -643,7 +643,7 @@ static int isIgnored(MCONTACT hContact, int type)
static INT_PTR onIgnore(WPARAM wparam, LPARAM lparam)
{
if (g_plugin.getByte("ignorehide", 0) && (lparam == IGNOREEVENT_ALL))
- db_set_b((MCONTACT)wparam, "CList", "Hidden", (isIgnored((MCONTACT)wparam, lparam) ? (byte)0 : (byte)1));
+ Clist_HideContact(wparam, !isIgnored((MCONTACT)wparam, lparam));
CallService(isIgnored((MCONTACT)wparam, lparam) ? MS_IGNORE_UNIGNORE : MS_IGNORE_IGNORE, wparam, lparam);
return 0;
@@ -693,8 +693,7 @@ static int BuildMenu(WPARAM wparam, LPARAM)
bEnabled = bShowAll || (flags & VF_HFL);
Menu_ShowItem(hmenuHide, bEnabled);
if (bEnabled) {
- BYTE bHidden = db_get_b(hContact, "CList", "Hidden", 0);
- if (bHidden)
+ if (Clist_IsHidden(hContact))
Menu_ModifyItem(hmenuHide, LPGENW("Show in list"), IcoLib_GetIconHandle("miex_showil"));
else
Menu_ModifyItem(hmenuHide, LPGENW("Hide from list"), IcoLib_GetIconHandle("miex_hidefl"));
diff --git a/plugins/MirFox/src/MirfoxData.cpp b/plugins/MirFox/src/MirfoxData.cpp
index 5aa4034d45..ac402cfab0 100644
--- a/plugins/MirFox/src/MirfoxData.cpp
+++ b/plugins/MirFox/src/MirfoxData.cpp
@@ -616,7 +616,8 @@ void MirfoxData::initializeMirandaContacts()
for (auto &hContact : Contacts()){
//"Hidden" contacts not allowed in MirfoxData and SM, "NotOnList" contacts allowed and enabled
- if (db_get_b(hContact, "CList", "Hidden", 0) == 1) continue;
+ if (Clist_IsHidden(hContact))
+ continue;
//add to MirfoxData list
MirandaContact* mirandaContactItemPtr = new MirandaContact(
diff --git a/plugins/MirFox/src/MirfoxMiranda.cpp b/plugins/MirFox/src/MirfoxMiranda.cpp
index e855537f5b..015fecfc7f 100644
--- a/plugins/MirFox/src/MirfoxMiranda.cpp
+++ b/plugins/MirFox/src/MirfoxMiranda.cpp
@@ -127,7 +127,7 @@ void CMirfoxMiranda::onContactAdded_async(void* threadArg)
canAdd = false;
// execute
- if (canAdd && db_get_b(onContactAsyncThreadArgStruct->hContact, "CList", "Hidden", 0) == 1)
+ if (canAdd && Clist_IsHidden(onContactAsyncThreadArgStruct->hContact))
canAdd = false;
// add
@@ -188,10 +188,9 @@ void CMirfoxMiranda::onContactSettingChanged_async(void* threadArg){
canAdd = false;
// edit
- if (canAdd &&db_get_b(onContactAsyncThreadArgStruct->hContact, "CList", "Hidden", 0) == 1)
+ if (canAdd && Clist_IsHidden(onContactAsyncThreadArgStruct->hContact))
canAdd = false;
-
if (canAdd)
mirfoxMiranda->getMirfoxData().refreshContact_Edit(mirfoxMiranda->getSharedMemoryUtils(), onContactAsyncThreadArgStruct->hContact);
diff --git a/plugins/MirandaG15/src/CAppletManager.cpp b/plugins/MirandaG15/src/CAppletManager.cpp
index 602fec49f4..1942853761 100644
--- a/plugins/MirandaG15/src/CAppletManager.cpp
+++ b/plugins/MirandaG15/src/CAppletManager.cpp
@@ -1123,7 +1123,7 @@ int CAppletManager::HookChatInbound(WPARAM, LPARAM lParam)
Event.hContact = NULL;
// Ignore events from hidden chatrooms, except for join events
- if (gce->pszID.w != nullptr && db_get_b(Event.hContact, "CList", "Hidden", 0)) {
+ if (gce->pszID.w != nullptr && Clist_IsHidden(Event.hContact)) {
if (gce->iType == GC_EVENT_JOIN && pHistory)
pHistory->LUsers.push_back(toTstring(gce->pszNick.w));
@@ -1645,7 +1645,7 @@ int CAppletManager::HookSettingChanged(WPARAM hContact, LPARAM lParam)
else if (!strcmp(dbcws->szModule, "CList")) {
if (!strcmp(dbcws->szSetting, "Hidden")) {
Event.eType = EVENT_CONTACT_HIDDEN;
- Event.iValue = db_get_b(hContact, "CList", "Hidden", 0);
+ Event.iValue = Clist_IsHidden(hContact);
}
else if (!strcmp(dbcws->szSetting, "Group")) {
Event.eType = EVENT_CONTACT_GROUP;
diff --git a/plugins/MirandaG15/src/CContactList.cpp b/plugins/MirandaG15/src/CContactList.cpp
index c385b7965b..1331ef94e9 100644
--- a/plugins/MirandaG15/src/CContactList.cpp
+++ b/plugins/MirandaG15/src/CContactList.cpp
@@ -202,12 +202,12 @@ bool CContactList::IsVisible(CContactListEntry *pEntry)
return true;
if (CConfig::GetBoolSetting(CLIST_USEIGNORE)) {
- if (db_get_b(pEntry->hHandle, "CList", "Hidden", 0))
+ if (Clist_IsHidden(pEntry->hHandle))
return false;
if (db_mc_isSub(pEntry->hHandle)) {
MCONTACT hMetaContact = db_mc_getMeta(pEntry->hHandle);
- if (db_get_b(hMetaContact, "CList", "Hidden", 0))
+ if (Clist_IsHidden(hMetaContact))
return false;
}
}
diff --git a/plugins/MirandaG15/src/CEventScreen.cpp b/plugins/MirandaG15/src/CEventScreen.cpp
index 169a2caef9..c307a5715b 100644
--- a/plugins/MirandaG15/src/CEventScreen.cpp
+++ b/plugins/MirandaG15/src/CEventScreen.cpp
@@ -186,8 +186,7 @@ void CEventScreen::OnLCDButtonDown(int iButton)
char *szProto = GetContactProto(pEntry->hContact);
CIRCConnection *pIRCCon = CAppletManager::GetInstance()->GetIRCConnection(toTstring(szProto));
- if (pIRCCon && db_get_b(pEntry->hContact, szProto, "ChatRoom", 0) != 0 &&
- db_get_b(pEntry->hContact, "CList", "Hidden", 0))
+ if (pIRCCon && db_get_b(pEntry->hContact, szProto, "ChatRoom", 0) != 0 && Clist_IsHidden(pEntry->hContact))
return;
CAppletManager::GetInstance()->ActivateChatScreen(pEntry->hContact);
diff --git a/plugins/NewXstatusNotify/src/main.cpp b/plugins/NewXstatusNotify/src/main.cpp
index 559517ec96..f89d1bb017 100644
--- a/plugins/NewXstatusNotify/src/main.cpp
+++ b/plugins/NewXstatusNotify/src/main.cpp
@@ -262,7 +262,7 @@ wchar_t* GetStr(STATUSMSGINFO *n, const wchar_t *tmplt)
bool SkipHiddenContact(MCONTACT hContact)
{
- return (!opt.HiddenContactsToo && (db_get_b(hContact, "CList", "Hidden", 0) == 1));
+ return (!opt.HiddenContactsToo && Clist_IsHidden(hContact));
}
void LogSMsgToDB(STATUSMSGINFO *smi, const wchar_t *tmplt)
diff --git a/plugins/NewXstatusNotify/src/xstatus.cpp b/plugins/NewXstatusNotify/src/xstatus.cpp
index 944dddf5fd..58c30723a1 100644
--- a/plugins/NewXstatusNotify/src/xstatus.cpp
+++ b/plugins/NewXstatusNotify/src/xstatus.cpp
@@ -350,7 +350,7 @@ void ExtraStatusChanged(XSTATUSCHANGE *xsc)
mir_snprintf(buff, "%d", ID_STATUS_EXTRASTATUS);
if ((g_plugin.getByte(buff, 1) == 0)
|| (db_get_w(xsc->hContact, xsc->szProto, "Status", ID_STATUS_OFFLINE) == ID_STATUS_OFFLINE)
- || (!opt.HiddenContactsToo && (db_get_b(xsc->hContact, "CList", "Hidden", 0) == 1))
+ || (!opt.HiddenContactsToo && Clist_IsHidden(xsc->hContact))
|| (Proto_GetStatus(xsc->szProto) == ID_STATUS_OFFLINE))
{
FreeXSC(xsc);
diff --git a/plugins/SecureIM/src/crypt_check.cpp b/plugins/SecureIM/src/crypt_check.cpp
index 0b9242d9e2..fb9c691e6b 100644
--- a/plugins/SecureIM/src/crypt_check.cpp
+++ b/plugins/SecureIM/src/crypt_check.cpp
@@ -96,7 +96,7 @@ bool isProtoSmallPackets(MCONTACT hContact)
bool isContactInvisible(MCONTACT hContact)
{
- if (!db_mc_isSub(hContact) && db_get_b(hContact, "CList", "Hidden", 0))
+ if (!db_mc_isSub(hContact) && Clist_IsHidden(hContact))
return true;
pUinKey p = findUinKey(hContact);
diff --git a/plugins/SeenPlugin/src/utils.cpp b/plugins/SeenPlugin/src/utils.cpp
index 0364a99da1..0bb0111924 100644
--- a/plugins/SeenPlugin/src/utils.cpp
+++ b/plugins/SeenPlugin/src/utils.cpp
@@ -439,7 +439,7 @@ void ShowPopup(MCONTACT hcontact, const char * lpzProto, int newStatus)
if (CallService(MS_IGNORE_ISIGNORED, (WPARAM)hcontact, IGNOREEVENT_USERONLINE))
return;
- if (!g_plugin.getByte("UsePopups", 0) || !db_get_b(hcontact, "CList", "Hidden", 0))
+ if (!g_plugin.getByte("UsePopups", 0) || !Clist_IsHidden(hcontact))
return;
DBVARIANT dbv;
diff --git a/plugins/Sessions/Src/Utils.cpp b/plugins/Sessions/Src/Utils.cpp
index 67a9750877..e19a4f87ab 100644
--- a/plugins/Sessions/Src/Utils.cpp
+++ b/plugins/Sessions/Src/Utils.cpp
@@ -289,7 +289,7 @@ void OffsetWindow(HWND parent, HWND hwnd, int dx, int dy)
int CheckContactVisibility(MCONTACT hContact)
{
- return db_mc_isSub(hContact) || !db_get_b(hContact, "CList", "Hidden", 0);
+ return db_mc_isSub(hContact) || !Clist_IsHidden(hContact);
}
void RenameUserDefSession(int ses_count, wchar_t* ptszNewName)
diff --git a/plugins/ShellExt/src/shlcom.cpp b/plugins/ShellExt/src/shlcom.cpp
index 3b13388e9f..a71875bfa4 100644
--- a/plugins/ShellExt/src/shlcom.cpp
+++ b/plugins/ShellExt/src/shlcom.cpp
@@ -271,10 +271,10 @@ bool ipcGetSortedContacts(THeaderIPC * ipch, int* pSlot, bool bGroupMode)
// is HIT on?
if (BST_UNCHECKED == g_plugin.getByte(SHLExt_UseHITContacts, BST_UNCHECKED)) {
- // don't show people who are "Hidden" "NotOnList" or Ignored
- if (db_get_b(hContact, "CList", "Hidden", 0) == 1 ||
- db_get_b(hContact, "CList", "NotOnList", 0) == 1 ||
- CallService(MS_IGNORE_ISIGNORED, hContact, IGNOREEVENT_MESSAGE | IGNOREEVENT_FILE) != 0)
+ // don't show people who are hidden, "NotOnList" or ignored
+ if (Clist_IsHidden(hContact) ||
+ db_get_b(hContact, "CList", "NotOnList", 0) == 1 ||
+ CallService(MS_IGNORE_ISIGNORED, hContact, IGNOREEVENT_MESSAGE | IGNOREEVENT_FILE) != 0)
continue;
}
// is HIT2 off?
diff --git a/plugins/Spamotron/src/spamotron.cpp b/plugins/Spamotron/src/spamotron.cpp
index f5632f6614..1e85e029a9 100644
--- a/plugins/Spamotron/src/spamotron.cpp
+++ b/plugins/Spamotron/src/spamotron.cpp
@@ -101,7 +101,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam)
// Hide the contact until verified if option set.
if (g_plugin.getByte("HideUnverified", defaultHideUnverified))
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
// Fetch the incoming message body
char *msgblob;
@@ -145,7 +145,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam)
if (bCorrectResponse) {
g_plugin.setByte(hContact, "Verified", 1);
if (g_plugin.getByte("HideUnverified", defaultHideUnverified))
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
if (g_plugin.getByte("AddPermanently", defaultAddPermanently))
db_unset(hContact, "CList", "NotOnList");
db_unset(hContact, "CList", "Delete");
@@ -210,7 +210,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam)
{
g_plugin.setByte(hContact, "Verified", 1);
if (g_plugin.getByte("HideUnverified", defaultHideUnverified))
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
if (g_plugin.getByte("AddPermanently", defaultAddPermanently))
db_unset(hContact, "CList", "NotOnList");
db_unset(hContact, "CList", "Delete");
@@ -313,7 +313,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam)
_notify(hContact, POPUP_APPROVED, TranslateT("Contact %s approved."), message);
g_plugin.setByte(hContact, "Verified", 1);
if (g_plugin.getByte("HideUnverified", defaultHideUnverified))
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
if (g_plugin.getByte("AddPermanently", defaultAddPermanently))
db_unset(hContact, "CList", "NotOnList");
db_unset(hContact, "CList", "Delete");
diff --git a/plugins/StopSpamMod/src/stopspam.cpp b/plugins/StopSpamMod/src/stopspam.cpp
index b3035150e4..6d0c8e937c 100755
--- a/plugins/StopSpamMod/src/stopspam.cpp
+++ b/plugins/StopSpamMod/src/stopspam.cpp
@@ -44,7 +44,7 @@ int OnDbEventAdded(WPARAM hContact, LPARAM hDbEvent)
// ...send message
if (gbHideContacts)
- db_set_b(hcntct, "CList", "Hidden", 1);
+ Clist_HideContact(hcntct);
if (gbSpecialGroup)
Clist_SetGroup(hcntct, gbSpammersGroup.c_str());
BYTE msg = 1;
@@ -156,7 +156,7 @@ int OnDbEventFilterAdd(WPARAM hContact, LPARAM l)
if (answered) {
// unhide contact
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
g_plugin.delSetting(hContact, "MathAnswer");
@@ -270,7 +270,7 @@ int OnDbEventFilterAdd(WPARAM hContact, LPARAM l)
}
}
if (gbHideContacts)
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
if (gbSpecialGroup)
Clist_SetGroup(hContact, gbSpammersGroup.c_str());
db_set_b(hContact, "CList", "NotOnList", 1);
diff --git a/plugins/StopSpamPlus/src/events.cpp b/plugins/StopSpamPlus/src/events.cpp
index ad96474d80..27c44c374b 100644
--- a/plugins/StopSpamPlus/src/events.cpp
+++ b/plugins/StopSpamPlus/src/events.cpp
@@ -34,7 +34,7 @@ int OnDbEventAdded(WPARAM, LPARAM lParam)
CallProtoService(dbei.szModule, PS_AUTHDENY, hDbEvent, (LPARAM)_T2A(variables_parse(g_sets.getReply(), hcntct).c_str()));
db_set_b(hcntct, "CList", "NotOnList", 1);
- db_set_b(hcntct, "CList", "Hidden", 1);
+ Clist_HideContact(hcntct);
if (!g_sets.HistLog)
db_event_delete(0, hDbEvent);
return 1;
@@ -105,7 +105,7 @@ int OnDbEventFilterAdd(WPARAM w, LPARAM l)
// if message equal right answer...
if (g_sets.AnswNotCaseSens ? !mir_wstrcmpi(message.c_str(), answer.c_str()) : !mir_wstrcmp(message.c_str(), answer.c_str())) {
// unhide contact
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
// mark contact as Answered
g_plugin.setByte(hContact, DB_KEY_ANSWERED, 1);
@@ -147,7 +147,7 @@ int OnDbEventFilterAdd(WPARAM w, LPARAM l)
// hide contact from contact list
db_set_b(hContact, "CList", "NotOnList", 1);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
// save message from contact
dbei->flags |= DBEF_READ;
diff --git a/plugins/TabSRMM/src/chat_tools.cpp b/plugins/TabSRMM/src/chat_tools.cpp
index 79e173ec07..c92e11d842 100644
--- a/plugins/TabSRMM/src/chat_tools.cpp
+++ b/plugins/TabSRMM/src/chat_tools.cpp
@@ -309,8 +309,8 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight
if (bHighlight) {
gce->iType |= GC_EVENT_HIGHLIGHT;
params->sound = "ChatHighlight";
- if (db_get_b(si->hContact, "CList", "Hidden", 0) != 0)
- db_unset(si->hContact, "CList", "Hidden");
+ if (Clist_IsHidden(si->hContact) != 0)
+ Clist_HideContact(si->hContact, false);
if (params->bInactive) {
bFlagUnread = true;
DoTrayIcon(si, gce);
diff --git a/plugins/TabSRMM/src/typingnotify.cpp b/plugins/TabSRMM/src/typingnotify.cpp
index f9a92d12fb..2a4f630dbb 100644
--- a/plugins/TabSRMM/src/typingnotify.cpp
+++ b/plugins/TabSRMM/src/typingnotify.cpp
@@ -81,7 +81,7 @@ static LRESULT CALLBACK PopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPA
void TN_TypingMessage(MCONTACT hContact, int iMode)
{
// hidden & ignored contacts check
- if (db_get_b(hContact, "CList", "Hidden", 0) || (db_get_dw(hContact, "Ignore", "Mask1", 0) & 1)) // 9 - online notification
+ if (Clist_IsHidden(hContact) || (db_get_dw(hContact, "Ignore", "Mask1", 0) & 1)) // 9 - online notification
return;
if (Disabled)
diff --git a/plugins/TooltipNotify/src/TooltipNotify.cpp b/plugins/TooltipNotify/src/TooltipNotify.cpp
index efb801e967..1e2e724238 100644
--- a/plugins/TooltipNotify/src/TooltipNotify.cpp
+++ b/plugins/TooltipNotify/src/TooltipNotify.cpp
@@ -203,7 +203,7 @@ int CTooltipNotify::ContactSettingChanged(WPARAM hContact, LPARAM lParam)
idle = true;
else return 0;
- if (db_get_b(hContact, "CList", "Hidden", 0))
+ if (Clist_IsHidden(hContact))
return 0;
const char *pszProto = cws->szModule;
diff --git a/plugins/UserInfoEx/src/svc_reminder.cpp b/plugins/UserInfoEx/src/svc_reminder.cpp
index 93ec9fbad0..2ab71be4a1 100644
--- a/plugins/UserInfoEx/src/svc_reminder.cpp
+++ b/plugins/UserInfoEx/src/svc_reminder.cpp
@@ -523,7 +523,7 @@ static bool CheckBirthday(MCONTACT hContact, MTime &Now, CEvent &evt, BYTE bNoti
static void CheckContact(MCONTACT hContact, MTime &Now, CEvent &evt, BYTE bNotify, PWORD LastAnwer = nullptr)
{
// ignore meta subcontacts here as their birthday information are collected explicitly
- if (hContact && (!gRemindOpts.bCheckVisibleOnly || !db_get_b(hContact, MOD_CLIST, "Hidden", FALSE)) && !db_mc_isSub(hContact)) {
+ if (hContact && (!gRemindOpts.bCheckVisibleOnly || !Clist_IsHidden(hContact)) && !db_mc_isSub(hContact)) {
CEvent ca;
if (CheckBirthday(hContact, Now, ca, bNotify, LastAnwer) || CheckAnniversaries(hContact, Now, ca, bNotify)) {
diff --git a/plugins/WhenWasIt/src/hooked_events.cpp b/plugins/WhenWasIt/src/hooked_events.cpp
index 443794d9bd..638b6d31fd 100644
--- a/plugins/WhenWasIt/src/hooked_events.cpp
+++ b/plugins/WhenWasIt/src/hooked_events.cpp
@@ -91,7 +91,7 @@ int RefreshContactListIcons(MCONTACT hContact)
if (hContact == 0)
return 0;
- int hidden = db_get_b(hContact, "CList", "Hidden", 0);
+ bool hidden = Clist_IsHidden(hContact);
int ignored = db_get_dw(hContact, "Ignore", "Mask1", 0);
ignored = ((ignored & 0x3f) != 0) ? 1 : 0;
int ok = 1;
diff --git a/plugins/wbOSD/src/events.cpp b/plugins/wbOSD/src/events.cpp
index a3b9346e88..925ad4e588 100644
--- a/plugins/wbOSD/src/events.cpp
+++ b/plugins/wbOSD/src/events.cpp
@@ -117,9 +117,7 @@ int ContactStatusChanged(WPARAM wParam, LPARAM lParam)
logmsg("ContactStatusChanged2");
- if (db_get_b(hContact, "CList", "NotOnList", 0) || db_get_b(hContact, "CList", "Hidden", 0) ||
- (CallService(MS_IGNORE_ISIGNORED, wParam, IGNOREEVENT_USERONLINE) && newStatus == ID_STATUS_ONLINE)
- )
+ if (db_get_b(hContact, "CList", "NotOnList", 0) || Clist_IsHidden(hContact) || (CallService(MS_IGNORE_ISIGNORED, wParam, IGNOREEVENT_USERONLINE) && newStatus == ID_STATUS_ONLINE))
return 0;
wchar_t bufferW[512];
diff --git a/protocols/Discord/src/groupchat.cpp b/protocols/Discord/src/groupchat.cpp
index 95e3c47fb8..8d1f584fe4 100644
--- a/protocols/Discord/src/groupchat.cpp
+++ b/protocols/Discord/src/groupchat.cpp
@@ -82,7 +82,7 @@ void CDiscordProto::Chat_SendPrivateMessage(GCHOOK *gch)
setId(hContact, DB_KEY_ID, userId);
setId(hContact, DB_KEY_CHANNELID, _wtoi64(gch->ptszID));
setWString(hContact, "Nick", gch->ptszNick);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_dw(hContact, "Ignore", "Mask1", 0);
}
else hContact = pUser->hContact;
diff --git a/protocols/Dummy/src/dummy_proto.cpp b/protocols/Dummy/src/dummy_proto.cpp
index 3c32087d23..6fc7b953cf 100644
--- a/protocols/Dummy/src/dummy_proto.cpp
+++ b/protocols/Dummy/src/dummy_proto.cpp
@@ -154,11 +154,11 @@ MCONTACT CDummyProto::AddToList(int flags, PROTOSEARCHRESULT* psr)
Proto_AddToContact(hContact, m_szModuleName);
if (flags & PALF_TEMPORARY) {
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_b(hContact, "CList", "NotOnList", 1);
}
else if (db_get_b(hContact, "CList", "NotOnList", 0)) {
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
db_unset(hContact, "CList", "NotOnList");
}
setWString(hContact, uniqueIdSetting, psr->id.w);
diff --git a/protocols/EmLanProto/src/mlan.cpp b/protocols/EmLanProto/src/mlan.cpp
index 6ad76e2f95..27a3d9508e 100644
--- a/protocols/EmLanProto/src/mlan.cpp
+++ b/protocols/EmLanProto/src/mlan.cpp
@@ -207,7 +207,7 @@ MCONTACT CMLan::FindContact(in_addr addr, const char *nick, bool add_to_list, bo
if (make_permanent)
db_unset(res, "CList", "NotOnList");
if (make_visible)
- db_unset(res, "CList", "Hidden");
+ Clist_HideContact(res, false);
return res;
}
}
@@ -221,7 +221,7 @@ MCONTACT CMLan::FindContact(in_addr addr, const char *nick, bool add_to_list, bo
if (!make_permanent)
db_set_b(res, "CList", "NotOnList", 1);
if (!make_visible)
- db_set_b(res, "CList", "Hidden", 1);
+ Clist_HideContact(res);
g_plugin.setWord(res, "Status", status);
return res;
@@ -340,7 +340,7 @@ void CMLan::OnRecvPacket(u_char *mes, int len, in_addr from)
void CMLan::RecvMessageUrl(CCSDATA *ccs)
{
- db_unset(ccs->hContact, "CList", "Hidden");
+ Clist_HideContact(ccs->hContact, false);
PROTORECVEVENT *pre = (PROTORECVEVENT*)ccs->lParam;
ptrA szMessage(mir_utf8encode(pre->szMessage));
@@ -924,7 +924,7 @@ void CMLan::RecvFile(CCSDATA *ccs)
{
PROTORECVEVENT *pre = (PROTORECVEVENT *)ccs->lParam;
- db_unset(ccs->hContact, "CList", "Hidden");
+ Clist_HideContact(ccs->hContact, false);
char *szFile = pre->szMessage + sizeof(DWORD);
char *szDesc = szFile + mir_strlen(szFile) + 1;
diff --git a/protocols/EmLanProto/src/stdafx.h b/protocols/EmLanProto/src/stdafx.h
index 5da73a09ee..550e2dfaf3 100644
--- a/protocols/EmLanProto/src/stdafx.h
+++ b/protocols/EmLanProto/src/stdafx.h
@@ -16,6 +16,7 @@
#include <m_protosvc.h>
#include <m_database.h>
#include <m_langpack.h>
+#include <m_clist.h>
#include "resource.h"
#include "version.h"
diff --git a/protocols/FacebookRM/src/contacts.cpp b/protocols/FacebookRM/src/contacts.cpp
index 74f73fae43..5251abe84a 100644
--- a/protocols/FacebookRM/src/contacts.cpp
+++ b/protocols/FacebookRM/src/contacts.cpp
@@ -234,7 +234,7 @@ MCONTACT FacebookProto::AddToContactList(facebook_user* fbu, bool force_add, boo
if (hContact) {
// Save these values only when adding new contact, not when updating existing
if (add_temporarily) {
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_b(hContact, "CList", "NotOnList", 1);
}
diff --git a/protocols/FacebookRM/src/proto.cpp b/protocols/FacebookRM/src/proto.cpp
index ba0acbd03f..12b5f3c80f 100644
--- a/protocols/FacebookRM/src/proto.cpp
+++ b/protocols/FacebookRM/src/proto.cpp
@@ -282,7 +282,7 @@ MCONTACT FacebookProto::AddToList(int flags, PROTOSEARCHRESULT* psr)
// Reset NotOnList flag if present and we're adding this contact not temporarily
if (hContact && !add_temporarily && db_get_b(hContact, "CList", "NotOnList", 0)) {
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
db_unset(hContact, "CList", "NotOnList");
}
diff --git a/protocols/Gadu-Gadu/src/core.cpp b/protocols/Gadu-Gadu/src/core.cpp
index d6a16a9493..3a2644f0b6 100644
--- a/protocols/Gadu-Gadu/src/core.cpp
+++ b/protocols/Gadu-Gadu/src/core.cpp
@@ -1317,8 +1317,9 @@ int GaduProto::dbsettingchanged(WPARAM hContact, LPARAM lParam)
// If not on list changed
if (!strcmp(cws->szSetting, "NotOnList"))
{
- if (db_get_b(hContact, "CList", "Hidden", 0))
+ if (Clist_IsHidden(hContact))
return 0;
+
// Notify user normally this time if added to the list permanently
if (cws->value.type == DBVT_DELETED || (cws->value.type == DBVT_BYTE && cws->value.bVal == 0))
notifyuser(hContact, 1);
@@ -1460,7 +1461,7 @@ MCONTACT GaduProto::getcontact(uin_t uin, int create, int inlist, wchar_t *szNic
if ((uin_t)getDword(hContact, GG_KEY_UIN, 0) == uin && !isChatRoom(hContact)) {
if (inlist) {
db_unset(hContact, "CList", "NotOnList");
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
return hContact;
}
diff --git a/protocols/ICQ-WIM/src/groupchats.cpp b/protocols/ICQ-WIM/src/groupchats.cpp
index dc5747e0c8..c0f477b122 100644
--- a/protocols/ICQ-WIM/src/groupchats.cpp
+++ b/protocols/ICQ-WIM/src/groupchats.cpp
@@ -258,7 +258,7 @@ void CIcqProto::Chat_SendPrivateMessage(GCHOOK *gch)
if (pCache == nullptr) {
hContact = CreateContact(gch->ptszUID, true);
setWString(hContact, "Nick", gch->ptszNick);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_dw(hContact, "Ignore", "Mask1", 0);
}
else hContact = pCache->m_hContact;
diff --git a/protocols/ICQ-WIM/src/ignore.cpp b/protocols/ICQ-WIM/src/ignore.cpp
index 069d8c1844..cdf83cc517 100644
--- a/protocols/ICQ-WIM/src/ignore.cpp
+++ b/protocols/ICQ-WIM/src/ignore.cpp
@@ -50,7 +50,7 @@ void CIcqProto::ProcessPermissions(const JSONNode &ev)
auto *p = FindContactByUIN(wszId);
if (p == nullptr) {
auto hContact = CreateContact(wszId, false);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
p = FindContactByUIN(wszId);
}
p->m_iApparentMode = ID_STATUS_OFFLINE;
diff --git a/protocols/ICQCorp/src/protocol.cpp b/protocols/ICQCorp/src/protocol.cpp
index c43c3b6fad..6aeebfe8f5 100644
--- a/protocols/ICQCorp/src/protocol.cpp
+++ b/protocols/ICQCorp/src/protocol.cpp
@@ -1257,7 +1257,7 @@ ICQUser* ICQ::addUser(unsigned int uin, bool persistent)
if (u->dwUIN == uin) {
if (persistent) {
db_unset(u->hContact, "CList", "NotOnList");
- db_unset(u->hContact, "CList", "Hidden");
+ Clist_HideContact(u->hContact, false);
}
return u;
}
@@ -1275,7 +1275,7 @@ ICQUser* ICQ::addUser(unsigned int uin, bool persistent)
getUserInfo(u, true);
else {
db_set_b(u->hContact, "CList", "NotOnList", 1);
- db_set_b(u->hContact, "CList", "Hidden", 1);
+ Clist_HideContact(u->hContact);
}
updateContactList();
diff --git a/protocols/ICQCorp/src/services.cpp b/protocols/ICQCorp/src/services.cpp
index 0781c67d5c..a33c243606 100644
--- a/protocols/ICQCorp/src/services.cpp
+++ b/protocols/ICQCorp/src/services.cpp
@@ -189,7 +189,7 @@ static INT_PTR icqRecvMessage(WPARAM, LPARAM lParam)
Netlib_Logf(hNetlibUser, "[ ] receive message\n");
CCSDATA *ccs = (CCSDATA*)lParam;
- db_unset(ccs->hContact, "CList", "Hidden");
+ Clist_HideContact(ccs->hContact, false);
PROTORECVEVENT *pre = (PROTORECVEVENT*)ccs->lParam;
ptrA szMsg(mir_utf8encode(pre->szMessage));
@@ -362,7 +362,7 @@ static INT_PTR icqRecvFile(WPARAM, LPARAM lParam)
Netlib_Logf(hNetlibUser, "[ ] receive file\n");
CCSDATA *ccs = (CCSDATA *)lParam;
- db_unset(ccs->hContact, "CList", "Hidden");
+ Clist_HideContact(ccs->hContact, false);
PROTORECVEVENT *pre = (PROTORECVEVENT *)ccs->lParam;
char *szFile = pre->szMessage + sizeof(DWORD);
diff --git a/protocols/IRCG/src/clist.cpp b/protocols/IRCG/src/clist.cpp
index 02739d42e0..43011ce264 100644
--- a/protocols/IRCG/src/clist.cpp
+++ b/protocols/IRCG/src/clist.cpp
@@ -31,7 +31,7 @@ BOOL CIrcProto::CList_AddDCCChat(const CMStringW& name, const CMStringW& hostmas
CONTACT usertemp = { name, nullptr, nullptr, false, false, true };
MCONTACT hc = CList_FindContact(&usertemp);
- if (hc && db_get_b(hc, "CList", "NotOnList", 0) == 0 && db_get_b(hc, "CList", "Hidden", 0) == 0)
+ if (hc && db_get_b(hc, "CList", "NotOnList", 0) == 0 && Clist_IsHidden(hc) == 0)
bFlag = true;
CMStringW contactname = name; contactname += DCCSTRING;
@@ -90,7 +90,7 @@ MCONTACT CIrcProto::CList_AddContact(CONTACT *user, bool InList, bool SetOnline)
if (InList)
db_unset(hContact, "CList", "NotOnList");
setWString(hContact, "Nick", user->name);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
if (SetOnline && getWord(hContact, "Status", ID_STATUS_OFFLINE) == ID_STATUS_OFFLINE)
setWord(hContact, "Status", ID_STATUS_ONLINE);
return hContact;
@@ -105,7 +105,7 @@ MCONTACT CIrcProto::CList_AddContact(CONTACT *user, bool InList, bool SetOnline)
db_unset(hContact, "CList", "NotOnList");
else
db_set_b(hContact, "CList", "NotOnList", 1);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
setWString(hContact, "Nick", user->name);
setWString(hContact, "Default", user->name);
setWord(hContact, "Status", SetOnline ? ID_STATUS_ONLINE : ID_STATUS_OFFLINE);
diff --git a/protocols/IRCG/src/commandmonitor.cpp b/protocols/IRCG/src/commandmonitor.cpp
index 36ae19a469..d982705974 100644
--- a/protocols/IRCG/src/commandmonitor.cpp
+++ b/protocols/IRCG/src/commandmonitor.cpp
@@ -146,7 +146,7 @@ VOID CALLBACK OnlineNotifTimerProc(HWND, UINT, UINT_PTR idEvent, DWORD)
continue;
BYTE bDCC = ppro->getByte(hContact, "DCC", 0);
- BYTE bHidden = db_get_b(hContact, "CList", "Hidden", 0);
+ bool bHidden = Clist_IsHidden(hContact);
if (bDCC || bHidden)
continue;
if (ppro->getWString(hContact, "Default", &dbv))
@@ -691,7 +691,7 @@ bool CIrcProto::OnIrc_PRIVMSG(const CIrcMessage *pmsg)
if ((m_ignore && IsIgnored(pmsg->prefix.sNick, pmsg->prefix.sUser, pmsg->prefix.sHost, 'q'))) {
MCONTACT hContact = CList_FindContact(&user);
- if (!hContact || (hContact && db_get_b(hContact, "CList", "Hidden", 0) == 1))
+ if (!hContact || (hContact && Clist_IsHidden(hContact)))
return true;
}
@@ -1063,10 +1063,7 @@ bool CIrcProto::IsCTCP(const CIrcMessage *pmsg)
MCONTACT hContact = CList_FindContact(&user);
// check if it should be ignored
- if (m_DCCChatIgnore == 1 ||
- m_DCCChatIgnore == 2 && hContact &&
- db_get_b(hContact, "CList", "NotOnList", 0) == 0 &&
- db_get_b(hContact, "CList", "Hidden", 0) == 0) {
+ if (m_DCCChatIgnore == 1 || m_DCCChatIgnore == 2 && hContact && db_get_b(hContact, "CList", "NotOnList", 0) == 0 && !Clist_IsHidden(hContact)) {
CMStringW host = pmsg->prefix.sUser + L"@" + pmsg->prefix.sHost;
CList_AddDCCChat(pmsg->prefix.sNick, host, dwAdr, iPort); // add a CHAT event to the clist
}
diff --git a/protocols/JabberG/src/jabber_chat.cpp b/protocols/JabberG/src/jabber_chat.cpp
index 8feab67e1b..402d007463 100644
--- a/protocols/JabberG/src/jabber_chat.cpp
+++ b/protocols/JabberG/src/jabber_chat.cpp
@@ -330,7 +330,7 @@ void CJabberProto::GcQuit(JABBER_LIST_ITEM *item, int code, const TiXmlElement *
else
Chat_Control(m_szModuleName, wszRoomJid, SESSION_OFFLINE);
- db_unset(item->hContact, "CList", "Hidden");
+ Clist_HideContact(item->hContact, false);
item->bChatActive = false;
if (m_bJabberOnline) {
@@ -1346,7 +1346,7 @@ static void sttSendPrivateMessage(CJabberProto *ppro, JABBER_LIST_ITEM *item, co
if (r)
ppro->setWord(hContact, "Status", r->m_iStatus);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
ppro->setUString(hContact, "Nick", nick);
db_set_dw(hContact, "Ignore", "Mask1", 0);
CallService(MS_MSG_SENDMESSAGE, hContact, 0);
diff --git a/protocols/JabberG/src/jabber_events.cpp b/protocols/JabberG/src/jabber_events.cpp
index 8bc1189fdf..8aac09a5cc 100644
--- a/protocols/JabberG/src/jabber_events.cpp
+++ b/protocols/JabberG/src/jabber_events.cpp
@@ -151,7 +151,7 @@ void __cdecl CJabberProto::OnAddContactForever(MCONTACT hContact)
SendGetVcard(hContact);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
int __cdecl CJabberProto::OnDbSettingChanged(WPARAM hContact, LPARAM lParam)
diff --git a/protocols/JabberG/src/jabber_iq_handlers.cpp b/protocols/JabberG/src/jabber_iq_handlers.cpp
index ed0ace2ff0..686e531a28 100644
--- a/protocols/JabberG/src/jabber_iq_handlers.cpp
+++ b/protocols/JabberG/src/jabber_iq_handlers.cpp
@@ -257,7 +257,7 @@ BOOL CJabberProto::OnRosterPushRequest(const TiXmlElement*, CJabberIqInfo *pInfo
UpdateSubscriptionInfo(item->hContact, item);
}
else if (isChatRoom(item->hContact))
- db_unset(item->hContact, "CList", "Hidden");
+ Clist_HideContact(item->hContact, false);
else
UpdateSubscriptionInfo(item->hContact, item);
}
diff --git a/protocols/JabberG/src/jabber_iqid.cpp b/protocols/JabberG/src/jabber_iqid.cpp
index eb528f544b..c15d6cc78b 100755
--- a/protocols/JabberG/src/jabber_iqid.cpp
+++ b/protocols/JabberG/src/jabber_iqid.cpp
@@ -431,7 +431,7 @@ void CJabberProto::OnIqResultGetRoster(const TiXmlElement *iqNode, CJabberIqInfo
if (char *p = strchr(wszTitle, '@')) *p = 0;
Chat_NewSession(GCW_CHATROOM, m_szModuleName, Utf2T(jid), Utf2T(wszTitle));
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
chatRooms.insert((HANDLE)hContact);
}
else UpdateSubscriptionInfo(hContact, item);
diff --git a/protocols/JabberG/src/jabber_misc.cpp b/protocols/JabberG/src/jabber_misc.cpp
index f41edad6c6..736e60e854 100755
--- a/protocols/JabberG/src/jabber_misc.cpp
+++ b/protocols/JabberG/src/jabber_misc.cpp
@@ -46,7 +46,7 @@ void CJabberProto::AddContactToRoster(const char *jid, const char *nick, const c
void CJabberProto::DBAddAuthRequest(const char *jid, const char *nick)
{
MCONTACT hContact = DBCreateContact(jid, nick, true, true);
- delSetting(hContact, "Hidden");
+ Clist_HideContact(hContact, false);
DB_AUTH_BLOB blob(hContact, nick, nullptr, nullptr, jid, nullptr);
diff --git a/protocols/JabberG/src/jabber_proto.cpp b/protocols/JabberG/src/jabber_proto.cpp
index 3ac61aec58..bdca637d77 100755
--- a/protocols/JabberG/src/jabber_proto.cpp
+++ b/protocols/JabberG/src/jabber_proto.cpp
@@ -358,7 +358,7 @@ MCONTACT CJabberProto::AddToListByJID(const char *newJid, DWORD flags)
MCONTACT hContact = DBCreateContact(newJid, nullptr, true, false);
if (flags & PALF_TEMPORARY)
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
return hContact;
}
diff --git a/protocols/MSN/src/msn_commands.cpp b/protocols/MSN/src/msn_commands.cpp
index e4e3beca97..54a751bc27 100644
--- a/protocols/MSN/src/msn_commands.cpp
+++ b/protocols/MSN/src/msn_commands.cpp
@@ -524,7 +524,7 @@ void CMsnProto::MSN_ProcessYFind(char* buf, size_t len)
MSN_AddUser(hContact, szEmail, netId, LIST_PL + LIST_REMOVE);
MSN_AddUser(hContact, szEmail, netId, LIST_BL + LIST_REMOVE);
MSN_AddUser(hContact, szEmail, netId, LIST_AL);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
MSN_SetContactDb(hContact, szEmail);
}
diff --git a/protocols/MSN/src/msn_contact.cpp b/protocols/MSN/src/msn_contact.cpp
index 61e1cbb5fb..46e96c72c3 100644
--- a/protocols/MSN/src/msn_contact.cpp
+++ b/protocols/MSN/src/msn_contact.cpp
@@ -80,7 +80,7 @@ void CMsnProto::MSN_SetContactDb(MCONTACT hContact, const char *szEmail)
if (listId & LIST_FL) {
if (db_get_b(hContact, "CList", "NotOnList", 0) == 1) {
db_unset(hContact, "CList", "NotOnList");
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
if (listId & (LIST_BL | LIST_AL)) {
diff --git a/protocols/MSN/src/msn_proto.cpp b/protocols/MSN/src/msn_proto.cpp
index 1ab70262a8..56fa7c818b 100644
--- a/protocols/MSN/src/msn_proto.cpp
+++ b/protocols/MSN/src/msn_proto.cpp
@@ -195,17 +195,17 @@ MCONTACT CMsnProto::AddToListByEmail(const char *email, const char *nick, DWORD
if (flags & PALF_TEMPORARY) {
if (db_get_b(hContact, "CList", "NotOnList", 0) == 1)
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
}
else {
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
if (msnLoggedIn) {
int netId = strncmp(email, "tel:", 4) ? NETID_MSN : NETID_MOB;
if (MSN_AddUser(hContact, email, netId, LIST_FL)) {
MSN_AddUser(hContact, email, netId, LIST_PL + LIST_REMOVE);
MSN_AddUser(hContact, email, netId, LIST_BL + LIST_REMOVE);
MSN_AddUser(hContact, email, netId, LIST_AL);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
MSN_SetContactDb(hContact, email);
@@ -660,7 +660,7 @@ MEVENT CMsnProto::RecvMsg(MCONTACT hContact, PROTORECVEVENT* pre)
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)))
if (Lists_IsInList(LIST_FL, tEmail) && db_get_b(hContact, "MetaContacts", "IsSubcontact", 0) == 0)
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
return CSuper::RecvMsg(hContact, pre);
}
diff --git a/protocols/MSN/src/msn_soapab.cpp b/protocols/MSN/src/msn_soapab.cpp
index 3b73664455..6e84d40ea2 100644
--- a/protocols/MSN/src/msn_soapab.cpp
+++ b/protocols/MSN/src/msn_soapab.cpp
@@ -917,7 +917,7 @@ bool CMsnProto::MSN_ABRefreshClist(unsigned int nTry)
else
delSetting(hContact, "Nick");
if (mir_strcmpi(ezxml_txt(ezxml_child(pers, "onHideList")), "true") == 0)
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
setString(hContact, "ID", ezxml_txt(ezxml_child(pers, "id")));
SetAbParam(hContact, "CID", cid);
diff --git a/protocols/NewsAggregator/Src/Options.cpp b/protocols/NewsAggregator/Src/Options.cpp
index 986051a6bf..c6e1967edc 100644
--- a/protocols/NewsAggregator/Src/Options.cpp
+++ b/protocols/NewsAggregator/Src/Options.cpp
@@ -880,9 +880,9 @@ bool COptionsMain::OnApply()
if (mir_wstrcmp(dbNick, nick) == 0) {
g_plugin.setByte(hContact, "CheckState", m_feeds.GetCheckState(i));
if (!m_feeds.GetCheckState(i))
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
else
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
}
}
diff --git a/protocols/Sametime/src/sametime_proto.cpp b/protocols/Sametime/src/sametime_proto.cpp
index ace07a8da0..7feebbafc2 100644
--- a/protocols/Sametime/src/sametime_proto.cpp
+++ b/protocols/Sametime/src/sametime_proto.cpp
@@ -170,7 +170,7 @@ int CSametimeProto::RecvFile(MCONTACT hContact, PROTORECVFILE* pre)
{
debugLogW(L"CSametimeProto::RecvFile() hContact=[%x]", hContact);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
db_unset(hContact, "CList", "NotOnList");
return CSuper::RecvFile(hContact, pre);
@@ -180,7 +180,7 @@ MEVENT CSametimeProto::RecvMsg(MCONTACT hContact, PROTORECVEVENT* pre)
{
debugLogW(L"CSametimeProto::RecvMsg() hContact=[%x]", hContact);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
db_unset(hContact, "CList", "NotOnList");
return CSuper::RecvMsg(hContact, pre);
diff --git a/protocols/Sametime/src/userlist.cpp b/protocols/Sametime/src/userlist.cpp
index 8b892d85d5..ea482a1122 100644
--- a/protocols/Sametime/src/userlist.cpp
+++ b/protocols/Sametime/src/userlist.cpp
@@ -70,7 +70,7 @@ MCONTACT CSametimeProto::AddContact(mwSametimeUser* user, bool temporary)
}
else if (!temporary) {
db_unset(hContact, "CList", "NotOnList");
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
@@ -105,11 +105,11 @@ MCONTACT CSametimeProto::AddContact(mwSametimeUser* user, bool temporary)
if (temporary) {
db_set_b(hContact, "CList", "NotOnList", 1);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
}
else {
db_unset(hContact, "CList", "NotOnList");
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
return hContact;
diff --git a/protocols/SkypeWeb/src/skype_chatrooms.cpp b/protocols/SkypeWeb/src/skype_chatrooms.cpp
index b75fa2509f..cfc268094f 100644
--- a/protocols/SkypeWeb/src/skype_chatrooms.cpp
+++ b/protocols/SkypeWeb/src/skype_chatrooms.cpp
@@ -107,7 +107,7 @@ int CSkypeProto::OnGroupChatEventHook(WPARAM, LPARAM lParam)
if (hContact == NULL) {
hContact = AddContact(user_id, true);
setWord(hContact, "Status", ID_STATUS_ONLINE);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
setWString(hContact, "Nick", gch->ptszUID);
}
CallService(MS_MSG_SENDMESSAGEW, hContact, 0);
diff --git a/protocols/SkypeWeb/src/skype_contacts.cpp b/protocols/SkypeWeb/src/skype_contacts.cpp
index 2961cda97d..57fcdc1355 100644
--- a/protocols/SkypeWeb/src/skype_contacts.cpp
+++ b/protocols/SkypeWeb/src/skype_contacts.cpp
@@ -181,11 +181,11 @@ void CSkypeProto::LoadContactList(const NETLIBHTTPREQUEST *response)
else setByte(hContact, "Grant", 1);
if (item["blocked"].as_bool()) {
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
setByte(hContact, "IsBlocked", 1);
}
else {
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
delSetting(hContact, "IsBlocked");
}
@@ -283,9 +283,8 @@ INT_PTR CSkypeProto::BlockContact(WPARAM hContact, LPARAM)
void CSkypeProto::OnBlockContact(const NETLIBHTTPREQUEST *response, void *p)
{
MCONTACT hContact = (DWORD_PTR)p;
- if (response == nullptr)
- return;
- db_set_b(hContact, "CList", "Hidden", 1);
+ if (response != nullptr)
+ Clist_HideContact(hContact);
}
INT_PTR CSkypeProto::UnblockContact(WPARAM hContact, LPARAM)
@@ -300,6 +299,6 @@ void CSkypeProto::OnUnblockContact(const NETLIBHTTPREQUEST *response, void *p)
return;
MCONTACT hContact = (DWORD_PTR)p;
- db_set_b(hContact, "CList", "Hidden", 0);
+ Clist_HideContact(hContact, false);
delSetting(hContact, "IsBlocked");
}
diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp
index 9d54898e85..9a06c9b164 100644
--- a/protocols/VKontakte/src/misc.cpp
+++ b/protocols/VKontakte/src/misc.cpp
@@ -1500,7 +1500,7 @@ void CVkProto::AddVkDeactivateEvent(MCONTACT hContact, CMStringW& wszType)
hContact, wszType.c_str(),
(int)m_vkOptions.bShowVkDeactivateEvents,
(int)getBool(hContact, "ShowVkDeactivateEvents", true),
- (int)(db_get_b(hContact, "CList", "Hidden", 0) == 0));
+ (int)(!Clist_IsHidden(hContact)));
CVKDeactivateEvent vkDeactivateEvent[] = {
{ L"", Translate("User restored control over own page") },
@@ -1528,7 +1528,7 @@ void CVkProto::AddVkDeactivateEvent(MCONTACT hContact, CMStringW& wszType)
(
m_vkOptions.bShowVkDeactivateEvents
&& getBool(hContact, "ShowVkDeactivateEvents", true)
- && (db_get_b(hContact, "CList", "Hidden", 0) == 0)
+ && (!Clist_IsHidden(hContact))
) ? 0 : DBEF_READ);
db_event_add(hContact, &dbei);
}
diff --git a/protocols/VKontakte/src/vk_chats.cpp b/protocols/VKontakte/src/vk_chats.cpp
index 35977921be..4e5ff332e4 100644
--- a/protocols/VKontakte/src/vk_chats.cpp
+++ b/protocols/VKontakte/src/vk_chats.cpp
@@ -475,7 +475,7 @@ int CVkProto::OnChatEvent(WPARAM, LPARAM lParam)
MCONTACT hContact = FindUser(_wtoi(gch->ptszUID));
if (hContact == 0) {
hContact = FindUser(_wtoi(gch->ptszUID), true);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_b(hContact, "CList", "NotOnList", 1);
db_set_dw(hContact, "Ignore", "Mask1", 0);
RetrieveUserInfo(_wtoi(gch->ptszUID));
@@ -723,7 +723,7 @@ void CVkProto::NickMenuHook(CVkChatInfo *cc, GCHOOK *gch)
hContact = FindUser(cu->m_uid);
if (hContact == 0) {
hContact = FindUser(cu->m_uid, true);
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_b(hContact, "CList", "NotOnList", 1);
db_set_dw(hContact, "Ignore", "Mask1", 0);
}
diff --git a/protocols/VKontakte/src/vk_thread.cpp b/protocols/VKontakte/src/vk_thread.cpp
index ecae89cdd5..b73a88103f 100644
--- a/protocols/VKontakte/src/vk_thread.cpp
+++ b/protocols/VKontakte/src/vk_thread.cpp
@@ -357,12 +357,11 @@ MCONTACT CVkProto::SetContactInfo(const JSONNode &jnItem, bool flag, VKContactTy
return 0;
if (vkContactType == VKContactType::vkContactMUCUser) {
- db_set_b(hContact, "CList", "Hidden", 1);
+ Clist_HideContact(hContact);
db_set_b(hContact, "CList", "NotOnList", 1);
db_set_dw(hContact, "Ignore", "Mask1", 0);
}
-
CMStringW wszNick, wszValue;
int iValue;
diff --git a/protocols/Weather/src/weather_addstn.cpp b/protocols/Weather/src/weather_addstn.cpp
index ca7a8ae6e3..5804f42b00 100644
--- a/protocols/Weather/src/weather_addstn.cpp
+++ b/protocols/Weather/src/weather_addstn.cpp
@@ -50,7 +50,7 @@ INT_PTR WeatherAddToList(WPARAM, LPARAM lParam)
// and add them on the list
if (db_get_b(hContact, "CList", "NotOnList", 1)) {
db_unset(hContact, "CList", "NotOnList");
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
db_free(&dbv);
// contact is added, function quitting
diff --git a/protocols/Weather/src/weather_mwin.cpp b/protocols/Weather/src/weather_mwin.cpp
index 1c1a7b7896..1ab04f0811 100644
--- a/protocols/Weather/src/weather_mwin.cpp
+++ b/protocols/Weather/src/weather_mwin.cpp
@@ -250,7 +250,7 @@ static void addWindow(MCONTACT hContact)
int frameID = g_plugin.addFrame(&Frame);
g_plugin.setDword(hContact, "mwin", frameID);
- db_set_b(hContact, "CList", "Hidden", TRUE);
+ Clist_HideContact(hContact);
}
void removeWindow(MCONTACT hContact)
@@ -261,7 +261,7 @@ void removeWindow(MCONTACT hContact)
CallService(MS_CLIST_FRAMES_REMOVEFRAME, frameId, 0);
g_plugin.setDword(hContact, "mwin", 0);
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
void UpdateMwinData(MCONTACT hContact)
diff --git a/protocols/WebView/src/webview_services.cpp b/protocols/WebView/src/webview_services.cpp
index 5371ff0780..f0af2a30fe 100644
--- a/protocols/WebView/src/webview_services.cpp
+++ b/protocols/WebView/src/webview_services.cpp
@@ -353,7 +353,7 @@ INT_PTR AddToList(WPARAM, LPARAM lParam)
sameurl++;
if (db_get_b(hContact, "CList", "NotOnList", 1)) {
db_unset(hContact, "CList", "NotOnList");
- db_unset(hContact, "CList", "Hidden");
+ Clist_HideContact(hContact, false);
}
}
db_free(&dbv);
@@ -404,7 +404,7 @@ INT_PTR AddToList(WPARAM, LPARAM lParam)
samename++;
if (db_get_b(hContact2, "CList", "NotOnList", 1)) {
db_unset(hContact2, "CList", "NotOnList");
- db_unset(hContact2, "CList", "Hidden");
+ Clist_HideContact(hContact2, false);
}
db_free(&dbv);
}
diff --git a/protocols/YAMN/src/proto/pop3/pop3comm.cpp b/protocols/YAMN/src/proto/pop3/pop3comm.cpp
index 93f7885135..2eb6f725f7 100644
--- a/protocols/YAMN/src/proto/pop3/pop3comm.cpp
+++ b/protocols/YAMN/src/proto/pop3/pop3comm.cpp
@@ -289,10 +289,10 @@ int RegisterPOP3Plugin(WPARAM, LPARAM)
g_plugin.setWord(Finder->hContact, "Status", ID_STATUS_ONLINE);
db_set_s(Finder->hContact, "CList", "StatusMsg", Translate("No new mail message"));
if ((Finder->Flags & YAMN_ACC_ENA) && (Finder->NewMailN.Flags & YAMN_ACC_CONT))
- db_unset(Finder->hContact, "CList", "Hidden");
+ Clist_HideContact(Finder->hContact, false);
if (!(Finder->Flags & YAMN_ACC_ENA) || !(Finder->NewMailN.Flags & YAMN_ACC_CONT))
- db_set_b(Finder->hContact, "CList", "Hidden", 1);
+ Clist_HideContact(Finder->hContact);
}
db_free(&dbv);
}
diff --git a/protocols/YAMN/src/services.cpp b/protocols/YAMN/src/services.cpp
index 771367d479..0ba33321ee 100644
--- a/protocols/YAMN/src/services.cpp
+++ b/protocols/YAMN/src/services.cpp
@@ -427,16 +427,13 @@ void CreateServiceFunctions(void)
CreateServiceFunction(MS_YAMN_CLISTCONTEXTAPP, ContactApplication);
}
-//Function to put all enabled contact to the Online status
+// Function to put all enabled contact to the Online status
void RefreshContact(void)
{
CAccount *Finder;
for (Finder = POP3Plugin->FirstAccount; Finder != nullptr; Finder = Finder->Next) {
if (Finder->hContact != NULL) {
- if ((Finder->Flags & YAMN_ACC_ENA) && (Finder->NewMailN.Flags & YAMN_ACC_CONT))
- db_unset(Finder->hContact, "CList", "Hidden");
- else
- db_set_b(Finder->hContact, "CList", "Hidden", 1);
+ Clist_HideContact(Finder->hContact, !(Finder->Flags & YAMN_ACC_ENA) && (Finder->NewMailN.Flags & YAMN_ACC_CONT));
}
else if ((Finder->Flags & YAMN_ACC_ENA) && (Finder->NewMailN.Flags & YAMN_ACC_CONT)) {
Finder->hContact = db_add_contact();
diff --git a/src/core/stduseronline/src/useronline.cpp b/src/core/stduseronline/src/useronline.cpp
index 1c3a6d3640..ea74f3ed2b 100644
--- a/src/core/stduseronline/src/useronline.cpp
+++ b/src/core/stduseronline/src/useronline.cpp
@@ -36,7 +36,7 @@ static int UserOnlineSettingChanged(WPARAM hContact, LPARAM lParam)
int oldStatus = g_plugin.getWord(hContact, "OldStatus", ID_STATUS_OFFLINE);
g_plugin.setWord(hContact, "OldStatus", (WORD)newStatus);
if (CallService(MS_IGNORE_ISIGNORED, hContact, IGNOREEVENT_USERONLINE)) return 0;
- if (db_get_b(hContact, "CList", "Hidden", 0)) return 0;
+ if (Clist_IsHidden(hContact)) return 0;
if (newStatus == ID_STATUS_OFFLINE && oldStatus != ID_STATUS_OFFLINE) {
// Remove the event from the queue if it exists since they are now offline
MEVENT lastEvent = g_plugin.getDword(hContact, "LastEvent");
diff --git a/src/mir_app/src/chat_manager.cpp b/src/mir_app/src/chat_manager.cpp
index 879bf83780..913615bee5 100644
--- a/src/mir_app/src/chat_manager.cpp
+++ b/src/mir_app/src/chat_manager.cpp
@@ -326,7 +326,7 @@ BOOL SM_SetStatus(const char *pszModule, SESSION_INFO *si, int wStatus)
si->wStatus = wStatus;
if (si->hContact) {
if (si->iType != GCW_SERVER && wStatus != ID_STATUS_OFFLINE)
- db_unset(si->hContact, "CList", "Hidden");
+ Clist_HideContact(si->hContact, false);
db_set_w(si->hContact, si->pszModule, "Status", (WORD)wStatus);
}
diff --git a/src/mir_app/src/chat_tools.cpp b/src/mir_app/src/chat_tools.cpp
index d04c2e0d00..94ba775092 100644
--- a/src/mir_app/src/chat_tools.cpp
+++ b/src/mir_app/src/chat_tools.cpp
@@ -293,8 +293,8 @@ BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO *si, GCEVENT *gce, BOOL bHighlight
gce->iType |= GC_EVENT_HIGHLIGHT;
if (bInactive || !g_Settings->bSoundsFocus)
Skin_PlaySound("ChatHighlight");
- if (db_get_b(si->hContact, "CList", "Hidden", 0) != 0)
- db_unset(si->hContact, "CList", "Hidden");
+ if (Clist_IsHidden(si->hContact))
+ Clist_HideContact(si->hContact, false);
if (bInactive)
g_chatApi.DoTrayIcon(si, gce);
if (bInactive || !g_Settings->bPopupInactiveOnly)
diff --git a/src/mir_app/src/clc.cpp b/src/mir_app/src/clc.cpp
index 166a27793a..10625482ce 100644
--- a/src/mir_app/src/clc.cpp
+++ b/src/mir_app/src/clc.cpp
@@ -452,7 +452,7 @@ LRESULT CALLBACK fnContactListControlWndProc(HWND hwnd, UINT uMsg, WPARAM wParam
flags = contact->flags;
}
Clist_DeleteItemFromTree(hwnd, wParam);
- if (GetWindowLongPtr(hwnd, GWL_STYLE) & CLS_SHOWHIDDEN || !db_get_b(wParam, "CList", "Hidden", 0)) {
+ if (GetWindowLongPtr(hwnd, GWL_STYLE) & CLS_SHOWHIDDEN || !Clist_IsHidden(wParam)) {
NMCLISTCONTROL nm;
g_clistApi.pfnAddContactToTree(hwnd, dat, wParam, 1, 1);
if (Clist_FindItem(hwnd, dat, wParam, &contact)) {
@@ -486,7 +486,7 @@ LRESULT CALLBACK fnContactListControlWndProc(HWND hwnd, UINT uMsg, WPARAM wParam
// this means an offline msg is flashing, so the contact should be shown
DWORD style = GetWindowLongPtr(hwnd, GWL_STYLE);
- int shouldShow = (style & CLS_SHOWHIDDEN || !db_get_b(wParam, "CList", "Hidden", 0))
+ int shouldShow = (style & CLS_SHOWHIDDEN || !Clist_IsHidden(wParam))
&& (!Clist_IsHiddenMode(dat, status) || Clist_GetContactIcon(wParam) != lParam);
contact = nullptr;
diff --git a/src/mir_app/src/clcitems.cpp b/src/mir_app/src/clcitems.cpp
index 4dba92786a..262ddf04f1 100644
--- a/src/mir_app/src/clcitems.cpp
+++ b/src/mir_app/src/clcitems.cpp
@@ -342,7 +342,7 @@ MIR_APP_DLL(void) Clist_DeleteItemFromTree(HWND hwnd, MCONTACT hItem)
int fnGetContactHiddenStatus(MCONTACT hContact, char*, ClcData*)
{
- return db_get_b(hContact, "CList", "Hidden", 0);
+ return Clist_IsHidden(hContact);
}
void fnRebuildEntireList(HWND hwnd, ClcData *dat)
diff --git a/src/mir_app/src/clcutils.cpp b/src/mir_app/src/clcutils.cpp
index cd26b13f54..6573897669 100644
--- a/src/mir_app/src/clcutils.cpp
+++ b/src/mir_app/src/clcutils.cpp
@@ -861,6 +861,21 @@ MIR_APP_DLL(void) Clist_InvalidateItem(HWND hwnd, ClcData *dat, int iItem)
}
///////////////////////////////////////////////////////////////////////////////
+
+MIR_APP_DLL(bool) Clist_IsHidden(MCONTACT hContact)
+{
+ return db_get_b(hContact, "CList", "Hidden", 0) != 0;
+}
+
+MIR_APP_DLL(void) Clist_HideContact(MCONTACT hContact, bool bHidden)
+{
+ if (bHidden)
+ db_set_b(hContact, "CList", "Hidden", 1);
+ else
+ db_unset(hContact, "CList", "Hidden");
+}
+
+///////////////////////////////////////////////////////////////////////////////
// row coord functions
int fnGetRowTopY(ClcData *dat, int item)
diff --git a/src/mir_app/src/clistsettings.cpp b/src/mir_app/src/clistsettings.cpp
index 9a6c18a7b2..c02de30401 100644
--- a/src/mir_app/src/clistsettings.cpp
+++ b/src/mir_app/src/clistsettings.cpp
@@ -69,7 +69,7 @@ void fnCheckCacheItem(ClcCacheEntry *p)
p->szProto = GetContactProto(p->hContact);
if (p->bIsHidden == -1)
- p->bIsHidden = db_get_b(p->hContact, "CList", "Hidden", 0);
+ p->bIsHidden = Clist_IsHidden(p->hContact);
}
void fnFreeCacheItem(ClcCacheEntry *p)
@@ -203,7 +203,7 @@ int ContactSettingChanged(WPARAM hContact, LPARAM lParam)
g_clistApi.pfnCheckCacheItem(pdnce);
}
else if (!strcmp(cws->szSetting, "Status")) {
- if (!db_get_b(hContact, "CList", "Hidden", 0))
+ if (!Clist_IsHidden(hContact))
Clist_ChangeContactIcon(hContact, g_clistApi.pfnIconFromStatusMode(cws->szModule, cws->value.wVal, hContact));
}
}
diff --git a/src/mir_app/src/clui.cpp b/src/mir_app/src/clui.cpp
index 84918f548f..b8e2ba2a9d 100644
--- a/src/mir_app/src/clui.cpp
+++ b/src/mir_app/src/clui.cpp
@@ -203,7 +203,7 @@ static INT_PTR MenuItem_DeleteContact(WPARAM wParam, LPARAM lParam)
switch (action) {
case IDC_HIDE: // Archive contact
- db_set_b(wParam, "CList", "Hidden", 1);
+ Clist_HideContact(wParam);
break;
case IDYES: // Delete contact
diff --git a/src/mir_app/src/contact.cpp b/src/mir_app/src/contact.cpp
index 3ea5b151af..0daf98592f 100644
--- a/src/mir_app/src/contact.cpp
+++ b/src/mir_app/src/contact.cpp
@@ -32,7 +32,7 @@ MIR_APP_DLL(void) Clist_LoadContactTree(void)
int hideOffline = db_get_b(0, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT);
for (auto &hContact : Contacts()) {
int status = Contact_GetStatus(hContact);
- if ((!hideOffline || status != ID_STATUS_OFFLINE) && !db_get_b(hContact, "CList", "Hidden", 0))
+ if ((!hideOffline || status != ID_STATUS_OFFLINE) && !Clist_IsHidden(hContact))
Clist_ChangeContactIcon(hContact, g_clistApi.pfnIconFromStatusMode(GetContactProto(hContact), status, hContact));
}
Clist_EndRebuild();
diff --git a/src/mir_app/src/ignore.cpp b/src/mir_app/src/ignore.cpp
index 82a3772d17..231e4d5a0f 100644
--- a/src/mir_app/src/ignore.cpp
+++ b/src/mir_app/src/ignore.cpp
@@ -38,7 +38,7 @@ static DWORD GetMask(MCONTACT hContact)
if (hContact == 0)
mask = 0;
else {
- if (db_get_b(hContact, "CList", "Hidden", 0) || db_get_b(hContact, "CList", "NotOnList", 0))
+ if (Clist_IsHidden(hContact) || db_get_b(hContact, "CList", "NotOnList", 0))
mask = db_get_dw(0, "Ignore", "Mask1", 0);
else
mask = db_get_dw(0, "Ignore", "Default1", 0);
@@ -192,7 +192,7 @@ static void SetAllContactIcons(HWND hwndList)
}
else proto1Caps = proto4Caps = 0;
InitialiseItem(hwndList, hContact, hItem, proto1Caps, proto4Caps);
- if (!db_get_b(hContact, "CList", "Hidden", 0))
+ if (!Clist_IsHidden(hContact))
SendMessage(hwndList, CLM_SETCHECKMARK, (WPARAM)hItem, 1);
}
}
@@ -304,11 +304,9 @@ static INT_PTR CALLBACK DlgProcIgnoreOpts(HWND hwndDlg, UINT msg, WPARAM, LPARAM
case PSN_APPLY:
for (auto &hContact : Contacts()) {
HANDLE hItem = (HANDLE)SendDlgItemMessage(hwndDlg, IDC_LIST, CLM_FINDCONTACT, hContact, 0);
- if (hItem) SaveItemMask(GetDlgItem(hwndDlg, IDC_LIST), hContact, hItem, "Mask1");
- if (SendDlgItemMessage(hwndDlg, IDC_LIST, CLM_GETCHECKMARK, (WPARAM)hItem, 0))
- db_unset(hContact, "CList", "Hidden");
- else
- db_set_b(hContact, "CList", "Hidden", 1);
+ if (hItem)
+ SaveItemMask(GetDlgItem(hwndDlg, IDC_LIST), hContact, hItem, "Mask1");
+ Clist_HideContact(hContact, !SendDlgItemMessage(hwndDlg, IDC_LIST, CLM_GETCHECKMARK, (WPARAM)hItem, 0));
}
SaveItemMask(GetDlgItem(hwndDlg, IDC_LIST), 0, hItemAll, "Default1");
diff --git a/src/mir_app/src/meta_menu.cpp b/src/mir_app/src/meta_menu.cpp
index bdc340e79d..5d9a53e492 100644
--- a/src/mir_app/src/meta_menu.cpp
+++ b/src/mir_app/src/meta_menu.cpp
@@ -79,7 +79,7 @@ INT_PTR Meta_Convert(WPARAM wParam, LPARAM)
// hide the contact if clist groups disabled (shouldn't create one anyway since menus disabled)
if (!db_mc_isEnabled())
- db_set_b(hMetaContact, "CList", "Hidden", 1);
+ Clist_HideContact(hMetaContact);
return hMetaContact;
}
@@ -96,7 +96,7 @@ void Meta_RemoveContactNumber(DBCachedContact *ccMeta, int number, bool bUpdateI
DBCachedContact *ccSub = currDb->getCache()->GetCachedContact(Meta_GetContactHandle(ccMeta, number));
if (ccSub != nullptr) {
if (ccSub->parentID == ccMeta->contactID) {
- db_unset(ccSub->contactID, "CList", "Hidden");
+ Clist_HideContact(ccSub->contactID, false);
// stop ignoring, if we were
if (g_metaOptions.bSuppressStatus)
diff --git a/src/mir_app/src/meta_utils.cpp b/src/mir_app/src/meta_utils.cpp
index 75e02fa608..7d0cee5982 100644
--- a/src/mir_app/src/meta_utils.cpp
+++ b/src/mir_app/src/meta_utils.cpp
@@ -400,7 +400,7 @@ int Meta_HideMetaContacts(bool bHide)
else
continue;
- db_set_b(hContact, "CList", "Hidden", bSet);
+ Clist_HideContact(hContact, bSet);
}
if (bHide) {
diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def
index e040deddea..8a0d8aaa07 100644
--- a/src/mir_app/src/mir_app.def
+++ b/src/mir_app/src/mir_app.def
@@ -365,6 +365,8 @@ Chat_UpdateOptions @418 NONAME
?onDblClick_List@CSrmmBaseDialog@@IAEXPAVCCtrlListBox@@@Z @440 NONAME
?OnDestroy@CSrmmBaseDialog@@MAEXXZ @441 NONAME
Chat_AddMenuItems @442 NONAME
+Clist_IsHidden @443
+Clist_HideContact @444
Chat_DoEventHook @445 NONAME
_stubLogProc@16 @446 NONAME
_stubMessageProc@16 @447 NONAME
diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def
index 050bc63a1c..d302dbff59 100644
--- a/src/mir_app/src/mir_app64.def
+++ b/src/mir_app/src/mir_app64.def
@@ -365,6 +365,8 @@ Chat_UpdateOptions @418 NONAME
?onDblClick_List@CSrmmBaseDialog@@IEAAXPEAVCCtrlListBox@@@Z @440 NONAME
?OnDestroy@CSrmmBaseDialog@@MEAAXXZ @441 NONAME
Chat_AddMenuItems @442 NONAME
+Clist_IsHidden @443
+Clist_HideContact @444
Chat_DoEventHook @445 NONAME
stubLogProc @446 NONAME
stubMessageProc @447 NONAME