summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-07-06 14:45:38 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-07-06 14:45:38 +0300
commit893a6939a7f4c8cece773c817505821225808c81 (patch)
tree85ddf3f491bd517be4dba8297f78f36c4b4e2478 /protocols
parent4c272807e3f3d4c58300ebecfff7cbf21956f53d (diff)
Discord: a hidden option to block sending "mark read" packets from Miranda
Diffstat (limited to 'protocols')
-rw-r--r--protocols/Discord/src/proto.cpp5
-rw-r--r--protocols/Discord/src/proto.h9
2 files changed, 8 insertions, 6 deletions
diff --git a/protocols/Discord/src/proto.cpp b/protocols/Discord/src/proto.cpp
index 6f0ff667bb..de9619dda3 100644
--- a/protocols/Discord/src/proto.cpp
+++ b/protocols/Discord/src/proto.cpp
@@ -53,7 +53,8 @@ CDiscordProto::CDiscordProto(const char *proto_name, const wchar_t *username) :
m_bUseGroupchats(this, "UseGroupChats", true),
m_bHideGroupchats(this, "HideChats", true),
m_bUseGuildGroups(this, "UseGuildGroups", false),
- m_bSyncDeleteMsgs(this, "DeleteServerMsgs", true)
+ m_bSyncDeleteMsgs(this, "DeleteServerMsgs", true),
+ m_bSyncMarkRead(this, "SendMarkRead", true)
{
// Services
CreateProtoService(PS_GETAVATARINFO, &CDiscordProto::GetAvatarInfo);
@@ -597,7 +598,7 @@ void CDiscordProto::SendMarkRead()
void CDiscordProto::OnMarkRead(MCONTACT hContact, MEVENT)
{
- if (m_bOnline) {
+ if (m_bOnline && m_bSyncMarkRead) {
m_impl.m_markRead.Start(200);
CDiscordUser *pUser = FindUser(getId(hContact, DB_KEY_ID));
diff --git a/protocols/Discord/src/proto.h b/protocols/Discord/src/proto.h
index bf13191c49..3ba17654c1 100644
--- a/protocols/Discord/src/proto.h
+++ b/protocols/Discord/src/proto.h
@@ -261,10 +261,11 @@ class CDiscordProto : public PROTO<CDiscordProto>
CMOption<wchar_t*> m_wszEmail; // my own email
CMOption<wchar_t*> m_wszDefaultGroup; // clist group to store contacts
- CMOption<uint8_t> m_bUseGroupchats; // Shall we connect Guilds at all?
- CMOption<uint8_t> m_bHideGroupchats; // Do not open chat windows on creation
- CMOption<uint8_t> m_bUseGuildGroups; // use special subgroups for guilds
- CMOption<uint8_t> m_bSyncDeleteMsgs; // delete messages from Miranda if they are deleted at the server
+ CMOption<bool> m_bUseGroupchats; // Shall we connect Guilds at all?
+ CMOption<bool> m_bHideGroupchats; // Do not open chat windows on creation
+ CMOption<bool> m_bUseGuildGroups; // use special subgroups for guilds
+ CMOption<bool> m_bSyncDeleteMsgs; // delete messages from Miranda if they are deleted at the server
+ CMOption<bool> m_bSyncMarkRead; // hidden option: send "mark read" packet to server when Miranda displays a message
//////////////////////////////////////////////////////////////////////////////////////
// common data