Index: src/ch/RuleEditNotEnoughSpaceDlg.cpp =================================================================== diff -u -N -r3aa1103497018be2a7494e79e03c5f4c674485be -r9250a0229add10f4315e76848c755f337a16ae95 --- src/ch/RuleEditNotEnoughSpaceDlg.cpp (.../RuleEditNotEnoughSpaceDlg.cpp) (revision 3aa1103497018be2a7494e79e03c5f4c674485be) +++ src/ch/RuleEditNotEnoughSpaceDlg.cpp (.../RuleEditNotEnoughSpaceDlg.cpp) (revision 9250a0229add10f4315e76848c755f337a16ae95) @@ -52,6 +52,8 @@ BEGIN_MESSAGE_MAP(RuleEditNotEnoughSpaceDlg,ictranslate::CLanguageDialog) ON_BN_CLICKED(IDC_INCLUDE_MASK_CHECK, EnableControls) ON_BN_CLICKED(IDC_EXCLUDE_MASK_CHECK, EnableControls) + ON_BN_CLICKED(IDC_INCLUDE_MASK_BUTTON, OnIncludeMaskButton) + ON_BN_CLICKED(IDC_EXCLUDE_MASK_BUTTON, OnExcludeMaskButton) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -82,6 +84,8 @@ EFeedbackResult eResult = m_rule.GetResult(); m_comboResponse.SelectComboResult(eResult == eResult_Unknown ? eResult_Ignore : eResult); + m_filterTypesWrapper.Init(); + UpdateData(FALSE); EnableControls(); @@ -107,6 +111,16 @@ } } +void RuleEditNotEnoughSpaceDlg::OnIncludeMaskButton() +{ + m_filterTypesWrapper.StartTracking(true, *this, IDC_INCLUDE_MASK_BUTTON); +} + +void RuleEditNotEnoughSpaceDlg::OnExcludeMaskButton() +{ + m_filterTypesWrapper.StartTracking(false, *this, IDC_EXCLUDE_MASK_BUTTON); +} + void RuleEditNotEnoughSpaceDlg::OnLanguageChanged() { // combo result @@ -121,6 +135,8 @@ // mask m_ctlIncludeMask.EnableWindow(m_bUseIncludeMask); m_ctlExcludeMask.EnableWindow(m_bUseExcludeMask); + GetDlgItem(IDC_INCLUDE_MASK_BUTTON)->EnableWindow(m_bUseIncludeMask); + GetDlgItem(IDC_EXCLUDE_MASK_BUTTON)->EnableWindow(m_bUseExcludeMask); } void RuleEditNotEnoughSpaceDlg::OnOK() @@ -141,3 +157,16 @@ CLanguageDialog::OnOK(); } + +BOOL RuleEditNotEnoughSpaceDlg::OnCommand(WPARAM wParam, LPARAM lParam) +{ + if(HIWORD(wParam) == 0) + { + if(LOWORD(wParam) >= ID_POPUP_FILTER_FILE_WILDCARD && LOWORD(wParam) <= ID_POPUP_FILTER_SEPARATOR_CHAR) + { + CComboBox& rCombo = m_filterTypesWrapper.IsTrackingIncludeMask() ? m_ctlIncludeMask : m_ctlExcludeMask; + m_filterTypesWrapper.OnCommand(LOWORD(wParam), rCombo); + } + } + return ictranslate::CLanguageDialog::OnCommand(wParam, lParam); +}