summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--protocols/ICQ-WIM/src/options.cpp53
-rw-r--r--src/mir_core/src/Windows/CCtrlCheck.cpp4
-rw-r--r--src/mir_core/src/Windows/CCtrlSpin.cpp4
3 files changed, 37 insertions, 24 deletions
diff --git a/protocols/ICQ-WIM/src/options.cpp b/protocols/ICQ-WIM/src/options.cpp
index d5cd234cf4..ab17121a30 100644
--- a/protocols/ICQ-WIM/src/options.cpp
+++ b/protocols/ICQ-WIM/src/options.cpp
@@ -315,24 +315,23 @@ public:
edtDiff1.OnChange = Callback(this, &CAdvOptionsDlg::onChange_Timeout1);
edtDiff2.OnChange = Callback(this, &CAdvOptionsDlg::onChange_Timeout2);
+ spin1.OnChange = Callback(this, &CAdvOptionsDlg::onChange_Spin1);
+ spin2.OnChange = Callback(this, &CAdvOptionsDlg::onChange_Spin2);
+
CreateLink(spin1, ppro->m_iTimeDiff1);
CreateLink(spin2, ppro->m_iTimeDiff2);
}
bool OnInitDialog() override
{
- if (cmbStatus1.GetHwnd()) {
- for (uint32_t iStatus = ID_STATUS_OFFLINE; iStatus <= ID_STATUS_MAX; iStatus++) {
- int idx = cmbStatus1.AddString(Clist_GetStatusModeDescription(iStatus, 0));
- cmbStatus1.SetItemData(idx, iStatus);
- if (iStatus == m_proto->m_iStatus1)
- cmbStatus1.SetCurSel(idx);
-
- idx = cmbStatus2.AddString(Clist_GetStatusModeDescription(iStatus, 0));
- cmbStatus2.SetItemData(idx, iStatus);
- if (iStatus == m_proto->m_iStatus2)
- cmbStatus2.SetCurSel(idx);
- }
+ for (uint32_t iStatus = ID_STATUS_OFFLINE; iStatus <= ID_STATUS_MAX; iStatus++) {
+ int idx = cmbStatus1.AddString(Clist_GetStatusModeDescription(iStatus, 0), iStatus);
+ if (iStatus == m_proto->m_iStatus1)
+ cmbStatus1.SetCurSel(idx);
+
+ idx = cmbStatus2.AddString(Clist_GetStatusModeDescription(iStatus, 0), iStatus);
+ if (iStatus == m_proto->m_iStatus2)
+ cmbStatus2.SetCurSel(idx);
}
return true;
@@ -340,27 +339,39 @@ public:
bool OnApply() override
{
- if (cmbStatus1.GetHwnd()) {
- m_proto->m_iStatus1 = cmbStatus1.GetCurData();
- m_proto->m_iStatus2 = cmbStatus2.GetCurData();
- }
-
+ m_proto->m_iStatus1 = cmbStatus1.GetCurData();
+ m_proto->m_iStatus2 = cmbStatus2.GetCurData();
return true;
}
- void onChange_Timeout1(CCtrlEdit*)
+ void onChange_Value1(int val)
{
- bool bEnabled = edtDiff1.GetInt() != 0;
+ bool bEnabled = val != 0;
spin2.Enable(bEnabled);
edtDiff2.Enable(bEnabled);
cmbStatus1.Enable(bEnabled);
- cmbStatus2.Enable(bEnabled && edtDiff2.GetInt() != 0);
+ cmbStatus2.Enable(bEnabled && spin2.GetPosition() != 0);
+ }
+
+ void onChange_Timeout1(CCtrlEdit *)
+ {
+ onChange_Value1(edtDiff1.GetInt());
}
- void onChange_Timeout2(CCtrlEdit*)
+ void onChange_Spin1(CCtrlEdit *)
+ {
+ onChange_Value1(spin1.GetPosition());
+ }
+
+ void onChange_Timeout2(CCtrlEdit *)
{
cmbStatus2.Enable(edtDiff1.GetInt() != 0 && edtDiff2.GetInt() != 0);
}
+
+ void onChange_Spin2(CCtrlEdit *)
+ {
+ cmbStatus2.Enable(spin1.GetPosition() != 0 && spin2.GetPosition() != 0);
+ }
};
/////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/mir_core/src/Windows/CCtrlCheck.cpp b/src/mir_core/src/Windows/CCtrlCheck.cpp
index 3258dce27f..5e69738b23 100644
--- a/src/mir_core/src/Windows/CCtrlCheck.cpp
+++ b/src/mir_core/src/Windows/CCtrlCheck.cpp
@@ -25,8 +25,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/////////////////////////////////////////////////////////////////////////////////////////
// CCtrlCheck class
-CCtrlCheck::CCtrlCheck(CDlgBase *dlg, int ctrlId)
- : CCtrlData(dlg, ctrlId)
+CCtrlCheck::CCtrlCheck(CDlgBase *dlg, int ctrlId) :
+ CCtrlData(dlg, ctrlId)
{
m_bNotifiable = true;
}
diff --git a/src/mir_core/src/Windows/CCtrlSpin.cpp b/src/mir_core/src/Windows/CCtrlSpin.cpp
index 54dc5ffd07..e871296259 100644
--- a/src/mir_core/src/Windows/CCtrlSpin.cpp
+++ b/src/mir_core/src/Windows/CCtrlSpin.cpp
@@ -30,7 +30,9 @@ CCtrlSpin::CCtrlSpin(CDlgBase *dlg, int ctrlId, int16_t wMax, int16_t wMin) :
m_wMin(wMin),
m_wMax(wMax),
m_wCurr(0)
-{}
+{
+ m_bNotifiable = true;
+}
BOOL CCtrlSpin::OnNotify(int, NMHDR *pnmh)
{