Index: src/ch/CustomCopyDlg.cpp =================================================================== diff -u -N -rba802caea92ee56a154d1da3fe89a4b2f7875f0e -rb193a95402f2bf4c456fb9d65d111caaf6994823 --- src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision ba802caea92ee56a154d1da3fe89a4b2f7875f0e) +++ src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision b193a95402f2bf4c456fb9d65d111caaf6994823) @@ -278,11 +278,8 @@ lvc.cx=static_cast(0.1*rc.Width()); m_ctlFilters.InsertColumn(6, &lvc); - chcore::TFileFiltersArray afFilters; - chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); + m_bFilters = !m_tTaskDefinition.GetFilters().IsEmpty(); - m_bFilters = !afFilters.IsEmpty(); - // other custom flags m_bIgnoreFolders = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); m_bForceDirectories = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); @@ -379,7 +376,7 @@ m_ctlFilters.InsertColumn(6, &lvc); // refresh the entries in filters' list - chcore::TFileFiltersArray afFilters = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + const chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); m_ctlFilters.DeleteAllItems(); for(size_t stIndex = 0; stIndex < afFilters.GetSize(); ++stIndex) { @@ -591,19 +588,18 @@ void CCustomCopyDlg::OnAddfilterButton() { CFilterDlg dlg; - chcore::TString strData; - chcore::TFileFiltersArray afFilters = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); for (size_t i = 0; i < afFilters.GetSize(); i++) { const chcore::TFileFilter* pFilter = afFilters.GetAt(i); BOOST_ASSERT(pFilter); if(pFilter) { if(pFilter->GetUseMask()) - dlg.m_astrAddMask.Add(pFilter->GetCombinedMask(strData)); + dlg.m_astrAddMask.Add(pFilter->GetCombinedMask()); if(pFilter->GetUseExcludeMask()) - dlg.m_astrAddExcludeMask.Add(pFilter->GetCombinedExcludeMask(strData)); + dlg.m_astrAddExcludeMask.Add(pFilter->GetCombinedExcludeMask()); } } @@ -612,7 +608,6 @@ if(dlg.m_ffFilter.GetUseMask() || dlg.m_ffFilter.GetUseExcludeMask() || dlg.m_ffFilter.GetUseSize1() || dlg.m_ffFilter.GetUseDateTime1() || dlg.m_ffFilter.GetUseAttributes()) { afFilters.Add(dlg.m_ffFilter); - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); AddFilter(dlg.m_ffFilter); } else @@ -634,8 +629,7 @@ if (rFilter.GetUseMask()) { - chcore::TString strData; - rFilter.GetCombinedMask(strData); + chcore::TString strData = rFilter.GetCombinedMask(); _tcscpy(szLoaded, strData); } else @@ -650,8 +644,7 @@ if (rFilter.GetUseExcludeMask()) { - chcore::TString strData; - rFilter.GetCombinedExcludeMask(strData); + chcore::TString strData = rFilter.GetCombinedExcludeMask(); _tcscpy(szLoaded, strData); } else @@ -760,7 +753,7 @@ void CCustomCopyDlg::OnRemovefilterButton() { - chcore::TFileFiltersArray afFilters = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); POSITION pos; int iItem; @@ -774,8 +767,6 @@ iItem=m_ctlFilters.GetNextSelectedItem(pos); m_ctlFilters.DeleteItem(iItem); afFilters.RemoveAt(iItem); - - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); } } } @@ -821,7 +812,7 @@ POSITION pos = m_ctlFilters.GetFirstSelectedItemPosition(); if(pos != NULL) { - chcore::TFileFiltersArray afFilters = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); int iItem = m_ctlFilters.GetNextSelectedItem(pos); CFilterDlg dlg; @@ -830,17 +821,16 @@ if(pFilter) dlg.m_ffFilter = *pFilter; - chcore::TString strData; for(size_t stIndex = 0; stIndex < afFilters.GetSize(); ++stIndex) { pFilter = afFilters.GetAt(stIndex); BOOST_ASSERT(pFilter); if(pFilter) { if(pFilter->GetUseMask() && boost::numeric_cast(stIndex) != iItem) - dlg.m_astrAddMask.Add(pFilter->GetCombinedMask(strData)); + dlg.m_astrAddMask.Add(pFilter->GetCombinedMask()); if (pFilter->GetUseExcludeMask() && boost::numeric_cast(stIndex) != iItem) - dlg.m_astrAddExcludeMask.Add(pFilter->GetCombinedExcludeMask(strData)); + dlg.m_astrAddExcludeMask.Add(pFilter->GetCombinedExcludeMask()); } } @@ -855,7 +845,6 @@ || dlg.m_ffFilter.GetUseDateTime1() || dlg.m_ffFilter.GetUseAttributes()) { afFilters.SetAt(iItem, dlg.m_ffFilter); - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); AddFilter(dlg.m_ffFilter, iItem); } }