summaryrefslogtreecommitdiff
path: root/protocols/Discord/src
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-04-13 21:11:28 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-04-13 21:11:28 +0300
commit41f56cb7974aa9aaf7348edac90ea91cda74ce94 (patch)
treeeda72153f020114ca3cb2a8044bec84708e1943e /protocols/Discord/src
parent216f8c18eaafa9df87bb7c1701bb3ae0c19ea4b9 (diff)
fixes #2844 (Discord: Keep deleted messages)
Diffstat (limited to 'protocols/Discord/src')
-rw-r--r--protocols/Discord/src/dispatch.cpp3
-rw-r--r--protocols/Discord/src/options.cpp4
-rw-r--r--protocols/Discord/src/proto.cpp3
-rw-r--r--protocols/Discord/src/proto.h1
-rw-r--r--protocols/Discord/src/resource.h1
-rw-r--r--protocols/Discord/src/version.h2
6 files changed, 11 insertions, 3 deletions
diff --git a/protocols/Discord/src/dispatch.cpp b/protocols/Discord/src/dispatch.cpp
index 458fcf4ed9..01ccef590f 100644
--- a/protocols/Discord/src/dispatch.cpp
+++ b/protocols/Discord/src/dispatch.cpp
@@ -470,6 +470,9 @@ void CDiscordProto::OnCommandMessageAck(const JSONNode &pRoot)
void CDiscordProto::OnCommandMessageDelete(const JSONNode &pRoot)
{
+ if (!m_bSyncDeleteMsgs)
+ return;
+
CMStringA msgid(pRoot["id"].as_mstring());
if (!msgid.IsEmpty()) {
MEVENT hEvent = db_event_getById(m_szModuleName, msgid);
diff --git a/protocols/Discord/src/options.cpp b/protocols/Discord/src/options.cpp
index 4858869891..3aeb657364 100644
--- a/protocols/Discord/src/options.cpp
+++ b/protocols/Discord/src/options.cpp
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
class CDiscardAccountOptions : public CProtoDlgBase<CDiscordProto>
{
- CCtrlCheck chkUseChats, chkHideChats, chkUseGroups;
+ CCtrlCheck chkUseChats, chkHideChats, chkUseGroups, chkDeleteMsgs;
CCtrlEdit m_edGroup, m_edUserName, m_edPassword;
ptrW m_wszOldGroup;
@@ -34,6 +34,7 @@ public:
chkUseChats(this, IDC_USECHANNELS),
chkHideChats(this, IDC_HIDECHATS),
chkUseGroups(this, IDC_USEGROUPS),
+ chkDeleteMsgs(this, IDC_DELETE_MSGS),
m_wszOldGroup(mir_wstrdup(ppro->m_wszDefaultGroup))
{
CreateLink(m_edGroup, ppro->m_wszDefaultGroup);
@@ -42,6 +43,7 @@ public:
CreateLink(chkUseChats, ppro->m_bUseGroupchats);
CreateLink(chkHideChats, ppro->m_bHideGroupchats);
CreateLink(chkUseGroups, ppro->m_bUseGuildGroups);
+ CreateLink(chkDeleteMsgs, ppro->m_bSyncDeleteMsgs);
chkUseChats.OnChange = Callback(this, &CDiscardAccountOptions::onChange_GroupChats);
}
diff --git a/protocols/Discord/src/proto.cpp b/protocols/Discord/src/proto.cpp
index 63a8170b6a..c8304b6375 100644
--- a/protocols/Discord/src/proto.cpp
+++ b/protocols/Discord/src/proto.cpp
@@ -52,7 +52,8 @@ CDiscordProto::CDiscordProto(const char *proto_name, const wchar_t *username) :
m_wszDefaultGroup(this, "GroupName", DB_KEYVAL_GROUP),
m_bUseGroupchats(this, "UseGroupChats", true),
m_bHideGroupchats(this, "HideChats", true),
- m_bUseGuildGroups(this, "UseGuildGroups", false)
+ m_bUseGuildGroups(this, "UseGuildGroups", false),
+ m_bSyncDeleteMsgs(this, "DeleteServerMsgs", true)
{
// Services
CreateProtoService(PS_CREATEACCMGRUI, &CDiscordProto::SvcCreateAccMgrUI);
diff --git a/protocols/Discord/src/proto.h b/protocols/Discord/src/proto.h
index bdbb7752c7..2c63b09362 100644
--- a/protocols/Discord/src/proto.h
+++ b/protocols/Discord/src/proto.h
@@ -263,6 +263,7 @@ class CDiscordProto : public PROTO<CDiscordProto>
CMOption<BYTE> m_bUseGroupchats; // Shall we connect Guilds at all?
CMOption<BYTE> m_bHideGroupchats; // Do not open chat windows on creation
CMOption<BYTE> m_bUseGuildGroups; // use special subgroups for guilds
+ CMOption<BYTE> m_bSyncDeleteMsgs; // delete messages from Miranda if they are deleted at the server
//////////////////////////////////////////////////////////////////////////////////////
// common data
diff --git a/protocols/Discord/src/resource.h b/protocols/Discord/src/resource.h
index b979e4775b..6f300e73af 100644
--- a/protocols/Discord/src/resource.h
+++ b/protocols/Discord/src/resource.h
@@ -16,6 +16,7 @@
#define IDC_HIDECHATS 1005
#define IDC_USEGROUPS 1006
#define IDC_USECHANNELS 1007
+#define IDC_DELETE_MSGS 1009
// Next default values for new objects
//
diff --git a/protocols/Discord/src/version.h b/protocols/Discord/src/version.h
index 946c4136ed..f251323329 100644
--- a/protocols/Discord/src/version.h
+++ b/protocols/Discord/src/version.h
@@ -1,7 +1,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 6
#define __RELEASE_NUM 2
-#define __BUILD_NUM 9
+#define __BUILD_NUM 10
#include <stdver.h>