Index: src/ch/FileInfo.cpp =================================================================== diff -u -N -rc435ab507c8b8280264188b49e9ada56d46c0261 -rbd08c279240bac9e7902f8da6a9251e0252ec324 --- src/ch/FileInfo.cpp (.../FileInfo.cpp) (revision c435ab507c8b8280264188b49e9ada56d46c0261) +++ src/ch/FileInfo.cpp (.../FileInfo.cpp) (revision bd08c279240bac9e7902f8da6a9251e0252ec324) @@ -56,7 +56,7 @@ m_bMove(rEntry.m_bMove), m_iDriveNumber(rEntry.m_iDriveNumber), m_uiDriveType(rEntry.m_uiDriveType), - m_vDstPaths(rEntry.m_vDstPaths) + m_strDstPath(rEntry.m_strDstPath) { } @@ -96,21 +96,16 @@ return CString(szName) + szExt; } -void CClipboardEntry::AddDestinationPath(const CString& strPath) +void CClipboardEntry::SetDestinationPath(const CString& strPath) { - m_vDstPaths.push_back(strPath); + m_strDstPath = strPath; } -size_t CClipboardEntry::GetDestinationPathsCount() const +CString CClipboardEntry::GetDestinationPath() { - return m_vDstPaths.size(); + return m_strDstPath; } -CString CClipboardEntry::GetDestinationPath(size_t stIndex) -{ - return m_vDstPaths.at(stIndex); -} - ////////////////////////////////////////////////////////////////////////////// // CClipboardArray @@ -455,7 +450,7 @@ && rInfo.m_ftLastWrite.dwHighDateTime == m_ftLastWrite.dwHighDateTime && rInfo.m_ftLastWrite.dwLowDateTime == m_ftLastWrite.dwLowDateTime && rInfo.m_uhFileSize == m_uhFileSize); } -CString CFileInfo::GetDestinationPath(CString strPath, unsigned char ucCopyNumber, int iFlags) +CString CFileInfo::GetDestinationPath(CString strPath, int iFlags) { // add '\\' if (strPath.Right(1) != _T("\\")) @@ -472,26 +467,24 @@ str.TrimLeft(_T("\\")); // force create directory -// AfxMessageBox("Created multiple level of paths for %s"+strPath+str); SHCreateDirectoryEx(NULL, strPath+str, NULL); -// MakeSureDirectoryPathExists(strPath+str); -// AfxMessageBox(strPath+str+fname+CString(ext)); return strPath+str+fname+CString(ext); } else { if (!(iFlags & 0x01) && m_stSrcIndex != std::numeric_limits::max()) { // generate new dest name - while (ucCopyNumber >= m_pClipboard->GetAt(m_stSrcIndex)->GetDestinationPathsCount()) + if(!m_pClipboard->GetAt(m_stSrcIndex)->IsDestinationPathSet()) { CString strNewPath; FindFreeSubstituteName(GetFullFilePath(), strPath, &strNewPath); - m_pClipboard->GetAt(m_stSrcIndex)->AddDestinationPath(strNewPath); + m_pClipboard->GetAt(m_stSrcIndex)->SetDestinationPath(strNewPath); } - return strPath+m_pClipboard->GetAt(m_stSrcIndex)->GetDestinationPath(ucCopyNumber)+m_strFilePath; + CString strResultPath = strPath+m_pClipboard->GetAt(m_stSrcIndex)->GetDestinationPath(ucCopyNumber)+m_strFilePath; + return strResultPath; } else return strPath+GetFileName();