From d32ceca89165c3f537c5b32c38c153d26cd4aed7 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 24 Jan 2021 18:07:04 +0300 Subject: more effective way to use OnChange callbacks automatically --- plugins/Scriver/res/resource.rc | 4 ++-- plugins/Scriver/src/msgoptions.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'plugins/Scriver') diff --git a/plugins/Scriver/res/resource.rc b/plugins/Scriver/res/resource.rc index 30b372f02c..51cf4dac29 100644 --- a/plugins/Scriver/res/resource.rc +++ b/plugins/Scriver/res/resource.rc @@ -35,9 +35,9 @@ BEGIN "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,12,155,10 CONTROL "Tree1",IDC_POPLIST,"SysTreeView32",TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_NONEVENHEIGHT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,163,12,98,44 CONTROL "and stay minimized",IDC_STAYMINIMIZED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,23,141,10 - CONTROL "Cascade new windows",IDC_CASCADE,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,6,58,293,10 + CONTROL "Cascade new windows",IDC_CASCADE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,58,293,10 CONTROL "Save size and location for each contact",IDC_SAVEPERCONTACT, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,6,69,293,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,69,293,10 CONTROL "Minimize on send",IDC_AUTOMIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,80,293,10 CONTROL "Hide windows on close",IDC_HIDECONTAINERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,91,293,10 CONTROL "Remember unsent messages",IDC_SAVEDRAFTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,103,293,10 diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp index 01a240729e..b095ef49ee 100644 --- a/plugins/Scriver/src/msgoptions.cpp +++ b/plugins/Scriver/src/msgoptions.cpp @@ -271,7 +271,9 @@ public: CreateLink(chkStayMinimized, g_plugin.bStayMinimized); CreateLink(chkSavePerContact, g_plugin.bSavePerContact); + chkCascade.OnChange = Callback(this, &CMainOptionsDlg::onChange_Cascade); chkAutoPopup.OnChange = Callback(this, &CMainOptionsDlg::onChange_AutoPopup); + chkSavePerContact.OnChange = Callback(this, &CMainOptionsDlg::onChange_SavePerContact); } bool OnInitDialog() override @@ -301,6 +303,16 @@ public: m_tree.Enable(bChecked); EnableWindow(GetDlgItem(m_hwnd, IDC_STAYMINIMIZED), bChecked); } + + void onChange_Cascade(CCtrlCheck *pCheck) + { + chkSavePerContact.SetState(!pCheck->GetState()); + } + + void onChange_SavePerContact(CCtrlCheck *pCheck) + { + chkCascade.SetState(!pCheck->GetState()); + } }; ///////////////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3