summaryrefslogtreecommitdiff
path: root/protocols/WhatsAppWeb/src/options.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-04-19 14:02:21 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-04-19 14:02:21 +0300
commit99f8fd05b99fbe8df51ba05ee859a419962a535e (patch)
tree08b2e710e3d2e080801544f1d5b626fe9ad885b2 /protocols/WhatsAppWeb/src/options.cpp
parentf41ad525b78a54d6b81472b98a9137f5a353c5a3 (diff)
WhatsApp:
- group chats are separated from contacts; - basic options dialog; - resource file cleaning
Diffstat (limited to 'protocols/WhatsAppWeb/src/options.cpp')
-rw-r--r--protocols/WhatsAppWeb/src/options.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/protocols/WhatsAppWeb/src/options.cpp b/protocols/WhatsAppWeb/src/options.cpp
index 44f1cc8458..c3a5c5b875 100644
--- a/protocols/WhatsAppWeb/src/options.cpp
+++ b/protocols/WhatsAppWeb/src/options.cpp
@@ -6,3 +6,56 @@ Copyright © 2019-21 George Hazan
*/
#include "stdafx.h"
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
+class COptionsDlg : public CProtoDlgBase<WhatsAppProto>
+{
+ CCtrlCheck chkHideChats;
+ CCtrlEdit edtGroup;
+ ptrW m_wszOldGroup;
+
+public:
+ COptionsDlg(WhatsAppProto *ppro, int iDlgID, bool bFullDlg) :
+ CProtoDlgBase<WhatsAppProto>(ppro, iDlgID),
+ chkHideChats(this, IDC_HIDECHATS),
+ edtGroup(this, IDC_DEFGROUP),
+ m_wszOldGroup(mir_wstrdup(ppro->m_wszDefaultGroup))
+ {
+ CreateLink(edtGroup, ppro->m_wszDefaultGroup);
+
+ if (bFullDlg)
+ CreateLink(chkHideChats, ppro->m_bHideGroupchats);
+ }
+
+ bool OnApply() override
+ {
+ if (mir_wstrcmp(m_proto->m_wszDefaultGroup, m_wszOldGroup))
+ Clist_GroupCreate(0, m_proto->m_wszDefaultGroup);
+ return true;
+ }
+};
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
+INT_PTR WhatsAppProto::SvcCreateAccMgrUI(WPARAM, LPARAM hwndParent)
+{
+ auto *pDlg = new COptionsDlg(this, IDD_ACCMGRUI, false);
+ pDlg->SetParent((HWND)hwndParent);
+ pDlg->Create();
+ return (INT_PTR)pDlg->GetHwnd();
+}
+
+int WhatsAppProto::OnOptionsInit(WPARAM wParam, LPARAM)
+{
+ OPTIONSDIALOGPAGE odp = {};
+ odp.szTitle.w = m_tszUserName;
+ odp.flags = ODPF_UNICODE;
+ odp.szGroup.w = LPGENW("Network");
+
+ odp.position = 1;
+ odp.szTab.w = LPGENW("Account");
+ odp.pDialog = new COptionsDlg(this, IDD_OPTIONS, true);
+ g_plugin.addOptions(wParam, &odp);
+ return 0;
+}