summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2018-01-18 17:33:17 +0300
committerGeorge Hazan <ghazan@miranda.im>2018-01-18 17:33:17 +0300
commitfbc1add780b58370aeb87abfd1915a8fd7ef1710 (patch)
tree779ad164441eddd44e0cfdb079d319eab568c6d0
parent26a29a27927319f614038cfd18b8dbc05fe9ea56 (diff)
fix for processing integer fields in StdMsg options
-rw-r--r--src/core/stdmsg/src/msgoptions.cpp33
1 files changed, 15 insertions, 18 deletions
diff --git a/src/core/stdmsg/src/msgoptions.cpp b/src/core/stdmsg/src/msgoptions.cpp
index 1bde34a331..79cae04ddc 100644
--- a/src/core/stdmsg/src/msgoptions.cpp
+++ b/src/core/stdmsg/src/msgoptions.cpp
@@ -152,6 +152,7 @@ statusValues[] =
class COptionMainDlg : public CPluginDlgBase
{
+ CCtrlEdit edtNFlash, edtAvatarH, edtSecs;
CCtrlCheck chkAutoMin, chkAutoClose, chkSavePerContact, chkDoNotStealFocus;
CCtrlCheck chkDelTemp, chkCascade, chkCharCount, chkStatusWin, chkCtrlSupport;
CCtrlCheck chkAvatar, chkLimitAvatar;
@@ -194,6 +195,9 @@ public:
COptionMainDlg() :
CPluginDlgBase(g_hInst, IDD_OPT_MSGDLG, SRMMMOD),
tree(this, IDC_POPLIST),
+ edtSecs(this, IDC_SECONDS),
+ edtNFlash(this, IDC_NFLASHES),
+ edtAvatarH(this, IDC_AVATARHEIGHT),
chkAvatar(this, IDC_AVATARSUPPORT),
chkDelTemp(this, IDC_DELTEMP),
chkAutoMin(this, IDC_AUTOMIN),
@@ -220,6 +224,9 @@ public:
chkSendOnDblEnter.OnChange = Callback(this, &COptionMainDlg::onChange_SendOnDblEnter);
chkSavePerContact.OnChange = Callback(this, &COptionMainDlg::onChange_SavePerContact);
+ CreateLink(edtNFlash, g_dat.nFlashMax);
+ CreateLink(edtAvatarH, g_dat.iAvatarHeight);
+
CreateLink(chkAvatar, g_dat.bShowAvatar);
CreateLink(chkLimitAvatar, g_dat.bLimitAvatarHeight);
@@ -241,16 +248,10 @@ public:
{
FillCheckBoxTree(g_dat.popupFlags);
- SetDlgItemInt(m_hwnd, IDC_NFLASHES, g_dat.nFlashMax, FALSE);
- SetDlgItemInt(m_hwnd, IDC_AVATARHEIGHT, g_dat.iAvatarHeight, FALSE);
- chkLimitAvatar.Enable(chkAvatar.GetState());
- if (!chkAvatar.GetState())
- EnableWindow(GetDlgItem(m_hwnd, IDC_AVATARHEIGHT), FALSE);
- else
- EnableWindow(GetDlgItem(m_hwnd, IDC_AVATARHEIGHT), chkLimitAvatar.GetState());
-
DWORD msgTimeout = g_dat.msgTimeout;
- SetDlgItemInt(m_hwnd, IDC_SECONDS, (msgTimeout >= 5000) ? msgTimeout / 1000 : 5, FALSE);
+ edtSecs.SetInt((msgTimeout >= 5000) ? msgTimeout / 1000 : 5);
+
+ onChange_Avatar(nullptr);
chkCascade.Enable(!g_dat.bSavePerContact);
chkCtrlSupport.Enable(!g_dat.bAutoClose);
@@ -260,10 +261,7 @@ public:
{
g_dat.popupFlags = MakeCheckBoxTreeFlags();
- DWORD avatarHeight = GetDlgItemInt(m_hwnd, IDC_AVATARHEIGHT, nullptr, TRUE);
- g_dat.iAvatarHeight = (avatarHeight <= 0) ? 60 : avatarHeight;
-
- DWORD msgTimeout = GetDlgItemInt(m_hwnd, IDC_SECONDS, nullptr, TRUE) * 1000;
+ DWORD msgTimeout = edtSecs.GetInt() * 1000;
if (msgTimeout < 5000)
msgTimeout = 5000;
g_dat.msgTimeout = msgTimeout;
@@ -300,15 +298,14 @@ public:
void onChange_Avatar(CCtrlCheck*)
{
- chkLimitAvatar.Enable(chkAvatar.GetState());
- if (!chkAvatar.GetState())
- EnableWindow(GetDlgItem(m_hwnd, IDC_AVATARHEIGHT), FALSE);
- else EnableWindow(GetDlgItem(m_hwnd, IDC_AVATARHEIGHT), chkLimitAvatar.GetState());
+ bool bEnabled = chkAvatar.GetState();
+ edtAvatarH.Enable(bEnabled);
+ chkLimitAvatar.Enable(bEnabled);
}
void onChange_LimitAvatar(CCtrlCheck*)
{
- EnableWindow(GetDlgItem(m_hwnd, IDC_AVATARHEIGHT), chkLimitAvatar.GetState());
+ edtAvatarH.Enable(chkLimitAvatar.GetState());
}
void onChange_Tree(CCtrlTreeView::TEventInfo*)