summaryrefslogtreecommitdiff
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
parent216f8c18eaafa9df87bb7c1701bb3ae0c19ea4b9 (diff)
fixes #2844 (Discord: Keep deleted messages)
-rw-r--r--protocols/Discord/res/discord.rc19
-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
7 files changed, 22 insertions, 11 deletions
diff --git a/protocols/Discord/res/discord.rc b/protocols/Discord/res/discord.rc
index 93febddec9..4a9b9e560f 100644
--- a/protocols/Discord/res/discord.rc
+++ b/protocols/Discord/res/discord.rc
@@ -60,29 +60,32 @@ IDI_VOICE_CALL ICON "voiceCall.ico"
IDI_VOICE_ENDED ICON "voiceEnded.ico"
+
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
-IDD_OPTIONS_ACCOUNT DIALOGEX 0, 0, 305, 154
+IDD_OPTIONS_ACCOUNT DIALOGEX 0, 0, 305, 144
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
- GROUPBOX "User details",IDC_STATIC,7,7,291,62
+ GROUPBOX "User details",IDC_STATIC,7,7,291,46
LTEXT "E-mail:",IDC_STATIC,17,20,61,8,0,WS_EX_RIGHT
EDITTEXT IDC_USERNAME,84,18,123,13,ES_AUTOHSCROLL
LTEXT "Password:",IDC_STATIC,17,36,61,8,0,WS_EX_RIGHT
EDITTEXT IDC_PASSWORD,84,34,123,13,ES_PASSWORD | ES_AUTOHSCROLL
- GROUPBOX "Contacts",IDC_STATIC,7,71,291,79
- LTEXT "Default group:",IDC_STATIC,17,88,61,8,0,WS_EX_RIGHT
- EDITTEXT IDC_GROUP,84,86,123,13,ES_AUTOHSCROLL
- CONTROL "Enable group chats",IDC_USECHANNELS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,105,248,10
+ GROUPBOX "Contacts",IDC_STATIC,7,54,291,86
+ LTEXT "Default group:",IDC_STATIC,17,73,61,8,0,WS_EX_RIGHT
+ EDITTEXT IDC_GROUP,84,71,123,13,ES_AUTOHSCROLL
+ CONTROL "Enable group chats",IDC_USECHANNELS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,90,275,10
CONTROL "Do not open chat windows on creation",IDC_HIDECHATS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,118,248,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,102,248,10
CONTROL "Use subgroups for server channels (requires restart)",IDC_USEGROUPS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,131,248,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,23,114,248,10
+ CONTROL "Delete messages in Miranda when they are deleted from server",IDC_DELETE_MSGS,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,126,275,10
END
IDD_OPTIONS_ACCMGR DIALOGEX 0, 0, 200, 88
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>