From a9bc5f8bad923315069aa5ac44f65cc961795027 Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Sun, 26 Jul 2015 02:35:02 +0200 Subject: [PATCH] Restrict default limit value field to numbers and disable if not needed Signed-off-by: Sven Strickroth --- src/Resources/TortoiseProcENG.rc | 2 +- src/TortoiseProc/Settings/SetDialogs.cpp | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/Resources/TortoiseProcENG.rc b/src/Resources/TortoiseProcENG.rc index a4d1289be..4b1921033 100644 --- a/src/Resources/TortoiseProcENG.rc +++ b/src/Resources/TortoiseProcENG.rc @@ -697,7 +697,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN GROUPBOX "Log messages",IDC_STATIC,7,7,287,240 LTEXT "Default limitation of log messages:",IDC_STATIC,14,20,140,8,SS_CENTERIMAGE - EDITTEXT IDC_DEFAULT_NUMBER_OF,253,18,31,13,ES_AUTOHSCROLL,WS_EX_RIGHT + EDITTEXT IDC_DEFAULT_NUMBER_OF,253,18,31,13,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT COMBOBOX IDC_DEFAULT_SCALE,156,18,92,47,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "&Font for log messages:",IDC_STATIC,14,34,92,13,SS_CENTERIMAGE COMBOBOX IDC_FONTNAMES,107,34,141,90,CBS_DROPDOWNLIST | CBS_OWNERDRAWVARIABLE | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP diff --git a/src/TortoiseProc/Settings/SetDialogs.cpp b/src/TortoiseProc/Settings/SetDialogs.cpp index 47920fc98..ca2b22152 100644 --- a/src/TortoiseProc/Settings/SetDialogs.cpp +++ b/src/TortoiseProc/Settings/SetDialogs.cpp @@ -265,16 +265,14 @@ void CSetDialogs::OnChange() void CSetDialogs::OnCbnSelchangeDefaultlogscale() { + UpdateData(); int sel = m_cDefaultLogsScale.GetCurSel(); - if (sel > 1 && m_sDefaultLogs.IsEmpty()) - { - CString str; - str.Format(_T("%ld"), (DWORD)m_regDefaultLogs); - m_DefaultNumberOfCtl.SetWindowText(str); - } + if (sel > 1 && (m_sDefaultLogs.IsEmpty() || _ttol((LPCTSTR)m_sDefaultLogs) == 0)) + m_sDefaultLogs.Format(_T("%ld"), (DWORD)m_regDefaultLogs); else if (sel <= 1) - m_DefaultNumberOfCtl.SetWindowText(L""); - m_DefaultNumberOfCtl.EnableWindow(TRUE); + m_sDefaultLogs.Empty(); + m_DefaultNumberOfCtl.EnableWindow(sel > 1); + UpdateData(FALSE); SetModified(); } @@ -294,7 +292,7 @@ BOOL CSetDialogs::OnApply() int sel = m_cDefaultLogsScale.GetCurSel(); Store(sel > 0 ? sel : 0, m_regDefaultLogsScale); - int val = _ttol(m_sDefaultLogs); + int val = _ttol((LPCTSTR)m_sDefaultLogs); if (sel > 1 && val > 0) Store(val, m_regDefaultLogs); -- 2.11.4.GIT