Index: src/ch/CustomCopyDlg.cpp =================================================================== diff -u -N -r0c09e62b3e90352413f389fdfe4b9bc49a1bcc89 -r2d7bee54f998ae8f5d4145a2cf3f4a589253016f --- src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision 0c09e62b3e90352413f389fdfe4b9bc49a1bcc89) +++ src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision 2d7bee54f998ae8f5d4145a2cf3f4a589253016f) @@ -38,30 +38,25 @@ // CCustomCopyDlg dialog -CCustomCopyDlg::CCustomCopyDlg() :ictranslate::CLanguageDialog(CCustomCopyDlg::IDD) +CCustomCopyDlg::CCustomCopyDlg() : + ictranslate::CLanguageDialog(CCustomCopyDlg::IDD) { - //{{AFX_DATA_INIT(CCustomCopyDlg) m_bOnlyCreate = FALSE; m_bIgnoreFolders = FALSE; m_bFilters = FALSE; m_bAdvanced = FALSE; m_bForceDirectories = FALSE; - //}}AFX_DATA_INIT -// m_ccData.m_astrPaths.RemoveAll(); // unneeded -// m_ccData.m_strDestPath.Empty(); - - m_ccData.m_iOperation=0; - m_ccData.m_iPriority=THREAD_PRIORITY_NORMAL; + GetConfig().ExtractSubConfig(BRANCH_TASK_SETTINGS, m_tTaskDefinition.GetConfiguration()); - // m_ccData.m_bsSizes stays uninitialized - // m_ccData.m_afFilters - this too - - m_ccData.m_bIgnoreFolders=false; - m_ccData.m_bForceDirectories=false; - m_ccData.m_bCreateStructure=false; + m_bActualisation = false; +} - m_bActualisation=false; +CCustomCopyDlg::CCustomCopyDlg(const chcore::TTaskDefinition& rTaskDefinition) : + ictranslate::CLanguageDialog(CCustomCopyDlg::IDD), + m_tTaskDefinition(rTaskDefinition) +{ + } void CCustomCopyDlg::DoDataExchange(CDataExchange* pDX) @@ -184,8 +179,10 @@ m_ctlFiles.InsertColumn(1, &lvc); // fill paths' listbox - for (int i=0;i(m_tTaskDefinition.GetConfiguration()))); // fill buffer sizes listbox SetBuffersizesString(); @@ -279,14 +276,17 @@ lvc.cchTextMax=lstrlen(lvc.pszText); lvc.cx=static_cast(0.1*rc.Width()); m_ctlFilters.InsertColumn(6, &lvc); - - m_bFilters = !m_ccData.m_afFilters.IsEmpty(); + CFiltersArray afFilters; + GetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); + + m_bFilters = !afFilters.IsEmpty(); + // other custom flags - m_bAdvanced=(m_ccData.m_bIgnoreFolders | m_ccData.m_bCreateStructure); - m_bIgnoreFolders=m_ccData.m_bIgnoreFolders; - m_bForceDirectories=m_ccData.m_bForceDirectories; - m_bOnlyCreate=m_ccData.m_bCreateStructure; + m_bIgnoreFolders = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + m_bForceDirectories = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + m_bOnlyCreate = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + m_bAdvanced = (m_bIgnoreFolders | m_bForceDirectories | m_bOnlyCreate); UpdateData(FALSE); @@ -378,10 +378,11 @@ m_ctlFilters.InsertColumn(6, &lvc); // refresh the entries in filters' list + CFiltersArray afFilters = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); m_ctlFilters.DeleteAllItems(); - for (size_t stIndex = 0; stIndex < m_ccData.m_afFilters.GetSize(); ++stIndex) + for(size_t stIndex = 0; stIndex < afFilters.GetSize(); ++stIndex) { - const CFileFilter* pFilter = m_ccData.m_afFilters.GetAt(stIndex); + const CFileFilter* pFilter = afFilters.GetAt(stIndex); if(pFilter) AddFilter(*pFilter, boost::numeric_cast(stIndex)); } @@ -461,34 +462,37 @@ { UpdateData(TRUE); - // copy files from listctrl to an array - m_ccData.m_astrPaths.RemoveAll(); CString strPath; + m_ctlDstPath.GetWindowText(strPath); - for (int i=0;i(m_tTaskDefinition.GetConfiguration(), m_ctlPriority.GetCurSel()); - // buffersize is being changed realtime - // so as filter + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bIgnoreFolders != 0)); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bForceDirectories != 0)); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bOnlyCreate != 0)); - m_ccData.m_bIgnoreFolders=(m_bIgnoreFolders != 0); - m_ccData.m_bForceDirectories=(m_bForceDirectories != 0); - m_ccData.m_bCreateStructure=(m_bOnlyCreate != 0); - - if (m_ccData.m_strDestPath.IsEmpty() || m_ccData.m_astrPaths.GetSize() == 0) - MsgBox(IDS_MISSINGDATA_STRING); - else - CLanguageDialog::OnOK(); + CLanguageDialog::OnOK(); } void CCustomCopyDlg::SetBuffersizesString() @@ -506,37 +510,58 @@ TCHAR szSize[64]; ictranslate::CFormat fmt; + BUFFERSIZES bsSizes; + bsSizes.m_bOnlyDefault = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + bsSizes.m_uiDefaultSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + bsSizes.m_uiOneDiskSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + bsSizes.m_uiTwoDisksSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + bsSizes.m_uiCDSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + bsSizes.m_uiLANSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + fmt.SetFormat(GetResManager().LoadString(IDS_BSEDEFAULT_STRING)); - fmt.SetParam(_t("%size"), GetSizeString(m_ccData.m_bsSizes.m_uiDefaultSize, szSize, 64, true)); + fmt.SetParam(_t("%size"), GetSizeString(bsSizes.m_uiDefaultSize, szSize, 64, true)); m_ctlBufferSizes.AddString(fmt); - if (!m_ccData.m_bsSizes.m_bOnlyDefault) + if (!bsSizes.m_bOnlyDefault) { fmt.SetFormat(GetResManager().LoadString(IDS_BSEONEDISK_STRING)); - fmt.SetParam(_t("%size"), GetSizeString(m_ccData.m_bsSizes.m_uiOneDiskSize, szSize, 64, true)); + fmt.SetParam(_t("%size"), GetSizeString(bsSizes.m_uiOneDiskSize, szSize, 64, true)); m_ctlBufferSizes.AddString(fmt); fmt.SetFormat(GetResManager().LoadString(IDS_BSETWODISKS_STRING)); - fmt.SetParam(_t("%size"), GetSizeString(m_ccData.m_bsSizes.m_uiTwoDisksSize, szSize, 64, true)); + fmt.SetParam(_t("%size"), GetSizeString(bsSizes.m_uiTwoDisksSize, szSize, 64, true)); m_ctlBufferSizes.AddString(fmt); fmt.SetFormat(GetResManager().LoadString(IDS_BSECD_STRING)); - fmt.SetParam(_t("%size"), GetSizeString(m_ccData.m_bsSizes.m_uiCDSize, szSize, 64, true)); + fmt.SetParam(_t("%size"), GetSizeString(bsSizes.m_uiCDSize, szSize, 64, true)); m_ctlBufferSizes.AddString(fmt); fmt.SetFormat(GetResManager().LoadString(IDS_BSELAN_STRING)); - fmt.SetParam(_t("%size"), GetSizeString(m_ccData.m_bsSizes.m_uiLANSize, szSize, 64, true)); + fmt.SetParam(_t("%size"), GetSizeString(bsSizes.m_uiLANSize, szSize, 64, true)); m_ctlBufferSizes.AddString(fmt); } } void CCustomCopyDlg::OnChangebufferButton() { CBufferSizeDlg dlg; - dlg.m_bsSizes=m_ccData.m_bsSizes; - if (dlg.DoModal() == IDOK) + + dlg.m_bsSizes.m_bOnlyDefault = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiDefaultSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiOneDiskSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiTwoDisksSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiCDSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiLANSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + + if(dlg.DoModal() == IDOK) { - m_ccData.m_bsSizes=dlg.m_bsSizes; + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_bOnlyDefault); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiDefaultSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiOneDiskSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiTwoDisksSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiCDSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiLANSize); + SetBuffersizesString(); } } @@ -566,9 +591,11 @@ { CFilterDlg dlg; CString strData; - for (size_t i=0;i(m_tTaskDefinition.GetConfiguration()); + for (size_t i = 0; i < afFilters.GetSize(); i++) { - const CFileFilter* pFilter = m_ccData.m_afFilters.GetAt(i); + const CFileFilter* pFilter = afFilters.GetAt(i); BOOST_ASSERT(pFilter); if(pFilter) { @@ -579,12 +606,12 @@ } } - if (dlg.DoModal() == IDOK) + if(dlg.DoModal() == IDOK) { - if (dlg.m_ffFilter.m_bUseMask || dlg.m_ffFilter.m_bUseExcludeMask || dlg.m_ffFilter.m_bUseSize - || dlg.m_ffFilter.m_bUseDate || dlg.m_ffFilter.m_bUseAttributes) + if(dlg.m_ffFilter.m_bUseMask || dlg.m_ffFilter.m_bUseExcludeMask || dlg.m_ffFilter.m_bUseSize || dlg.m_ffFilter.m_bUseDate || dlg.m_ffFilter.m_bUseAttributes) { - m_ccData.m_afFilters.Add(dlg.m_ffFilter); + afFilters.Add(dlg.m_ffFilter); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); AddFilter(dlg.m_ffFilter); } else @@ -735,9 +762,11 @@ void CCustomCopyDlg::OnRemovefilterButton() { + CFiltersArray afFilters = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + POSITION pos; int iItem; - while (true) + while(true) { pos=m_ctlFilters.GetFirstSelectedItemPosition(); if (pos == NULL) @@ -746,7 +775,9 @@ { iItem=m_ctlFilters.GetNextSelectedItem(pos); m_ctlFilters.DeleteItem(iItem); - m_ccData.m_afFilters.RemoveAt(iItem); + afFilters.RemoveAt(iItem); + + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); } } } @@ -789,20 +820,22 @@ void CCustomCopyDlg::OnDblclkFiltersList(NMHDR* /*pNMHDR*/, LRESULT* pResult) { - POSITION pos=m_ctlFilters.GetFirstSelectedItemPosition(); - if (pos != NULL) + POSITION pos = m_ctlFilters.GetFirstSelectedItemPosition(); + if(pos != NULL) { - int iItem=m_ctlFilters.GetNextSelectedItem(pos); + CFiltersArray afFilters = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + + int iItem = m_ctlFilters.GetNextSelectedItem(pos); CFilterDlg dlg; - const CFileFilter* pFilter = m_ccData.m_afFilters.GetAt(iItem); + const CFileFilter* pFilter = afFilters.GetAt(iItem); BOOST_ASSERT(pFilter); if(pFilter) - dlg.m_ffFilter = *pFilter; + dlg.m_ffFilter = *pFilter; CString strData; - for (size_t stIndex = 0; stIndex < m_ccData.m_afFilters.GetSize(); ++stIndex) + for(size_t stIndex = 0; stIndex < afFilters.GetSize(); ++stIndex) { - pFilter = m_ccData.m_afFilters.GetAt(stIndex); + pFilter = afFilters.GetAt(stIndex); BOOST_ASSERT(pFilter); if(pFilter) { @@ -823,7 +856,8 @@ if (dlg.m_ffFilter.m_bUseMask || dlg.m_ffFilter.m_bUseExcludeMask || dlg.m_ffFilter.m_bUseSize || dlg.m_ffFilter.m_bUseDate || dlg.m_ffFilter.m_bUseAttributes) { - m_ccData.m_afFilters.SetAt(iItem, dlg.m_ffFilter); + afFilters.SetAt(iItem, dlg.m_ffFilter); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), afFilters); AddFilter(dlg.m_ffFilter, iItem); } } @@ -834,15 +868,28 @@ void CCustomCopyDlg::OnDblclkBuffersizesList() { - int iItem=m_ctlBufferSizes.GetCurSel(); - if (iItem != LB_ERR) + int iItem = m_ctlBufferSizes.GetCurSel(); + if(iItem != LB_ERR) { CBufferSizeDlg dlg; - dlg.m_bsSizes=m_ccData.m_bsSizes; - dlg.m_iActiveIndex=iItem; - if (dlg.DoModal() == IDOK) + + dlg.m_bsSizes.m_bOnlyDefault = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiDefaultSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiOneDiskSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiTwoDisksSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiCDSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + dlg.m_bsSizes.m_uiLANSize = GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + + dlg.m_iActiveIndex = iItem; + if(dlg.DoModal() == IDOK) { - m_ccData.m_bsSizes=dlg.m_bsSizes; + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_bOnlyDefault); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiDefaultSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiOneDiskSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiTwoDisksSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiCDSize); + SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), dlg.m_bsSizes.m_uiLANSize); + SetBuffersizesString(); } }