From e7bfca36fab763870bf30240ce279beca69a1ad1 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 4 Jun 2018 14:25:47 +0300 Subject: Scriver: - fixes #1404 (Scriver: cannot change "Send message on" settings) - fixes #1405 (Scriver: add "Send message on Ctrl+Enter") --- plugins/Scriver/src/msgoptions.cpp | 20 ++++++++++++++++---- plugins/Scriver/src/msgs.h | 2 ++ plugins/Scriver/src/resource.h | 7 ++++--- 3 files changed, 22 insertions(+), 7 deletions(-) (limited to 'plugins/Scriver/src') diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp index 44b1c84b95..2121c632df 100644 --- a/plugins/Scriver/src/msgoptions.cpp +++ b/plugins/Scriver/src/msgoptions.cpp @@ -225,6 +225,7 @@ static const struct CheckBoxValues_t statusValues[] = class CMainOptionsDlg : public CBaseOptionDlg { CCtrlCheck chkAutoPopup, chkCascade, chkSavePerContact; + CCtrlCheck chkSendOnEnter, chkSendOnDblEnter, chkSendOnCtrlEnter; CCtrlTreeView m_tree; void FillCheckBoxTree(const struct CheckBoxValues_t *values, int nValues, DWORD style) @@ -263,6 +264,9 @@ public: m_tree(this, IDC_POPLIST), chkCascade(this, IDC_CASCADE), chkAutoPopup(this, IDC_AUTOPOPUP), + chkSendOnEnter(this, IDC_SENDONENTER), + chkSendOnDblEnter(this, IDC_SENDONDBLENTER), + chkSendOnCtrlEnter(this, IDC_SENDONCTRLENTER), chkSavePerContact(this, IDC_SAVEPERCONTACT) { chkCascade.OnChange = Callback(this, &CMainOptionsDlg::onChange_Cascade); @@ -275,19 +279,25 @@ public: SetWindowLongPtr(m_tree.GetHwnd(), GWL_STYLE, (GetWindowLongPtr(m_tree.GetHwnd(), GWL_STYLE) & ~WS_BORDER) | TVS_NOHSCROLL | TVS_CHECKBOXES); FillCheckBoxTree(statusValues, _countof(statusValues), db_get_dw(0, SRMM_MODULE, SRMSGSET_POPFLAGS, SRMSGDEFSET_POPFLAGS)); chkAutoPopup.SetState(db_get_b(0, SRMM_MODULE, SRMSGSET_AUTOPOPUP, SRMSGDEFSET_AUTOPOPUP)); + CheckDlgButton(m_hwnd, IDC_STAYMINIMIZED, db_get_b(0, SRMM_MODULE, SRMSGSET_STAYMINIMIZED, SRMSGDEFSET_STAYMINIMIZED) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(m_hwnd, IDC_AUTOMIN, db_get_b(0, SRMM_MODULE, SRMSGSET_AUTOMIN, SRMSGDEFSET_AUTOMIN) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(m_hwnd, IDC_SAVEDRAFTS, db_get_b(0, SRMM_MODULE, SRMSGSET_SAVEDRAFTS, SRMSGDEFSET_SAVEDRAFTS) ? BST_CHECKED : BST_UNCHECKED); - + CheckDlgButton(m_hwnd, IDC_HIDECONTAINERS, db_get_b(0, SRMM_MODULE, SRMSGSET_HIDECONTAINERS, SRMSGDEFSET_HIDECONTAINERS) ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(m_hwnd, IDC_DELTEMP, db_get_b(0, SRMM_MODULE, SRMSGSET_DELTEMP, SRMSGDEFSET_DELTEMP) ? BST_CHECKED : BST_UNCHECKED); + SendDlgItemMessage(m_hwnd, IDC_SECONDSSPIN, UDM_SETRANGE, 0, MAKELONG(60, 4)); SendDlgItemMessage(m_hwnd, IDC_SECONDSSPIN, UDM_SETPOS, 0, db_get_dw(0, SRMM_MODULE, SRMSGSET_MSGTIMEOUT, SRMSGDEFSET_MSGTIMEOUT) / 1000); chkCascade.SetState(db_get_b(0, SRMM_MODULE, SRMSGSET_CASCADE, SRMSGDEFSET_CASCADE)); chkSavePerContact.SetState(db_get_b(0, SRMM_MODULE, SRMSGSET_SAVEPERCONTACT, SRMSGDEFSET_SAVEPERCONTACT)); - CheckDlgButton(m_hwnd, IDC_SENDONENTER, db_get_b(0, SRMM_MODULE, SRMSGSET_SENDONENTER, SRMSGDEFSET_SENDONENTER) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(m_hwnd, IDC_SENDONDBLENTER, db_get_b(0, SRMM_MODULE, SRMSGSET_SENDONDBLENTER, SRMSGDEFSET_SENDONDBLENTER) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(m_hwnd, IDC_HIDECONTAINERS, db_get_b(0, SRMM_MODULE, SRMSGSET_HIDECONTAINERS, SRMSGDEFSET_HIDECONTAINERS) ? BST_CHECKED : BST_UNCHECKED); + + if (db_get_b(0, SRMM_MODULE, SRMSGSET_SENDONENTER, SRMSGDEFSET_SENDONENTER)) + CheckDlgButton(m_hwnd, IDC_SENDONENTER, BST_CHECKED); + else if (db_get_b(0, SRMM_MODULE, SRMSGSET_SENDONDBLENTER, SRMSGDEFSET_SENDONDBLENTER)) + CheckDlgButton(m_hwnd, IDC_SENDONDBLENTER, BST_CHECKED); + else + CheckDlgButton(m_hwnd, IDC_SENDONCTRLENTER, BST_CHECKED); onChange_AutoPopup(0); } @@ -305,6 +315,8 @@ public: db_set_b(0, SRMM_MODULE, SRMSGSET_SENDONENTER, (BYTE)IsDlgButtonChecked(m_hwnd, IDC_SENDONENTER)); db_set_b(0, SRMM_MODULE, SRMSGSET_SENDONDBLENTER, (BYTE)IsDlgButtonChecked(m_hwnd, IDC_SENDONDBLENTER)); + db_set_b(0, SRMM_MODULE, SRMSGSET_SENDONCTRLENTER, (BYTE)IsDlgButtonChecked(m_hwnd, IDC_SENDONCTRLENTER)); + db_set_b(0, SRMM_MODULE, SRMSGSET_SAVEPERCONTACT, chkSavePerContact.GetState()); db_set_b(0, SRMM_MODULE, SRMSGSET_CASCADE, chkCascade.GetState()); diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h index 2ca2855895..5abab8fe59 100644 --- a/plugins/Scriver/src/msgs.h +++ b/plugins/Scriver/src/msgs.h @@ -379,6 +379,8 @@ extern int fontOptionsListSize; #define SRMSGDEFSET_SENDONENTER 1 #define SRMSGSET_SENDONDBLENTER "SendOnDblEnter" #define SRMSGDEFSET_SENDONDBLENTER 0 +#define SRMSGSET_SENDONCTRLENTER "SendOnCtrlEnter" +#define SRMSGDEFSET_SENDONCTRLENTER 0 #define SRMSGSET_SENDBUTTON "UseSendButton" #define SRMSGDEFSET_SENDBUTTON 0 #define SRMSGSET_CHARCOUNT "ShowCharCount" diff --git a/plugins/Scriver/src/resource.h b/plugins/Scriver/src/resource.h index 37bb17e72b..138cce6651 100644 --- a/plugins/Scriver/src/resource.h +++ b/plugins/Scriver/src/resource.h @@ -94,23 +94,24 @@ #define IDC_USERELATIVEDATE 1025 #define IDC_USEIEVIEW 1026 #define IDC_FONTSCOLORS 1027 +#define IDC_LOADUNREAD 1031 #define IDC_SHOWLOGICONS 1032 #define IDC_SHOWTIMES 1033 #define IDC_SHOWDATES 1034 #define IDC_CLIST 1035 #define IDC_GROUPMESSAGES 1036 #define IDC_SAVEPERCONTACT 1037 +#define IDC_LOADCOUNT 1038 #define IDC_LOADCOUNTN 1039 #define IDC_LOADCOUNTSPIN 1040 #define IDC_SHOWSTATUSBAR 1041 #define IDC_SHOWTOOLBAR 1042 -#define IDC_LOADUNREAD 1043 #define IDC_SENDONENTER 1043 -#define IDC_LOADCOUNT 1044 #define IDC_SENDONDBLENTER 1044 #define IDC_LOADTIMEN 1045 #define IDC_LOADTIMESPIN 1046 #define IDC_LOADTIME 1047 +#define IDC_SENDONCTRLENTER 1048 #define IDC_SHOWTITLEBAR 1050 #define IDC_STMINSOLD 1051 #define IDC_SHOWPROGRESS 1052 @@ -247,7 +248,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_RESOURCE_VALUE 103 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1003 #define _APS_NEXT_SYMED_VALUE 101 -- cgit v1.2.3