Index: src/ch/StatusDlg.cpp =================================================================== diff -u -N -r8dc649003961dad64b92da67426814fb5dd862e0 -rd4064fca634707dcae112e5a41ed37e04455dc2a --- src/ch/StatusDlg.cpp (.../StatusDlg.cpp) (revision 8dc649003961dad64b92da67426814fb5dd862e0) +++ src/ch/StatusDlg.cpp (.../StatusDlg.cpp) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) @@ -1039,14 +1039,7 @@ else m_ctlStatusList.InsertItem(&lvi); - chcore::TSubTaskStatsSnapshotPtr spSubTaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); - chcore::TString strCurrentPath; - if(spSubTaskStats) - { - chcore::TSmartPath path; - path.FromString(spSubTaskStats->GetCurrentPath()); - strCurrentPath = path.GetFileName().ToString(); - } + chcore::TString strCurrentPath = spTaskStats->GetSourcePath(); // input file lvi.mask=LVIF_TEXT; @@ -1147,8 +1140,6 @@ if(strPath.IsEmpty()) strPath = GetResManager().LoadString(IDS_NONEINPUTFILE_STRING); - GetDlgItem(IDC_SOURCEOBJECT_STATIC)->SetWindowText(strPath.c_str()); // src object - SetBufferSizesString(spTaskStats->GetCurrentBufferSize(), spSubTaskStats->GetCurrentBufferIndex()); } else @@ -1161,7 +1152,6 @@ GetDlgItem(IDC_SUBTASKPROCESSED_STATIC)->SetWindowText(GetResManager().LoadString(IDS_EMPTYPROCESSEDTEXT_STRING)); GetDlgItem(IDC_SUBTASKTIME_STATIC)->SetWindowText(GetResManager().LoadString(IDS_EMPTYTIMETEXT_STRING)); GetDlgItem(IDC_SUBTASKTRANSFER_STATIC)->SetWindowText(GetResManager().LoadString(IDS_EMPTYTRANSFERTEXT_STRING)); - GetDlgItem(IDC_SOURCEOBJECT_STATIC)->SetWindowText(GetResManager().LoadString(IDS_EMPTYSOURCETEXT_STRING)); GetDlgItem(IDC_BUFFERSIZE_STATIC)->SetWindowText(GetResManager().LoadString(IDS_EMPTYBUFFERSIZETEXT_STRING)); } @@ -1170,6 +1160,12 @@ CString strStatusText = GetStatusString(spTaskStats); GetDlgItem(IDC_OPERATION_STATIC)->SetWindowText(strStatusText); // operation + CString strSrcPath = spTaskStats->GetSourcePath().c_str(); + if(strSrcPath.IsEmpty()) + strSrcPath = GetResManager().LoadString(IDS_EMPTYSOURCETEXT_STRING); + + GetDlgItem(IDC_SOURCEOBJECT_STATIC)->SetWindowText(spTaskStats->GetSourcePath().c_str()); // src object + // count of processed data/overall count of data CString strProcessedText = GetProcessedText(spTaskStats->GetProcessedCount(), spTaskStats->GetTotalCount(), spTaskStats->GetProcessedSize(), spTaskStats->GetTotalSize()); Index: src/ch/ch.rc =================================================================== diff -u -N -rbe569bc86280887eeebb8d3e9489f6fc17c570e6 -rd4064fca634707dcae112e5a41ed37e04455dc2a --- src/ch/ch.rc (.../ch.rc) (revision be569bc86280887eeebb8d3e9489f6fc17c570e6) +++ src/ch/ch.rc (.../ch.rc) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) @@ -906,7 +906,7 @@ IDS_EMPTYOPERATIONTEXT_STRING "None of tasks selected" IDS_EMPTYSOURCETEXT_STRING "empty" IDS_EMPTYDESTINATIONTEXT_STRING "empty" - IDS_EMPTYBUFFERSIZETEXT_STRING "unknown" + IDS_EMPTYBUFFERSIZETEXT_STRING "unused" IDS_EMPTYPRIORITYTEXT_STRING "unknown" IDS_EMPTYPROCESSEDTEXT_STRING "empty" IDS_EMPTYTRANSFERTEXT_STRING "unknown" Index: src/ch/resource.h =================================================================== diff -u -N -rbe569bc86280887eeebb8d3e9489f6fc17c570e6 -rd4064fca634707dcae112e5a41ed37e04455dc2a --- src/ch/resource.h (.../resource.h) (revision be569bc86280887eeebb8d3e9489f6fc17c570e6) +++ src/ch/resource.h (.../resource.h) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) @@ -525,7 +525,7 @@ #define IDS_CFGLOGLEVEL_VALUES 8100 #define IDS_UPDATE_FREQUENCIES 8101 #define IDS_BUFFER_QUEUE_DEPTH 8102 -#define IDS_FASTMOVEBEFOREBLOCK_STRING 8039 +#define IDS_FASTMOVEBEFOREBLOCK_STRING 8103 #define IDS_MENUCOPY_STRING 9000 #define IDS_MENUMOVE_STRING 9001 #define IDS_MENUCOPYMOVESPECIAL_STRING 9002 Index: src/libchcore/TTask.cpp =================================================================== diff -u -N -rbe569bc86280887eeebb8d3e9489f6fc17c570e6 -rd4064fca634707dcae112e5a41ed37e04455dc2a --- src/libchcore/TTask.cpp (.../TTask.cpp) (revision be569bc86280887eeebb8d3e9489f6fc17c570e6) +++ src/libchcore/TTask.cpp (.../TTask.cpp) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) @@ -374,6 +374,14 @@ spSnapshot->SetBufferCount(GetTaskPropValue(m_tConfiguration)); TSubTaskStatsSnapshotPtr spCurrentSubTask = spSnapshot->GetSubTasksStats().GetCurrentSubTaskSnapshot(); + if(spCurrentSubTask) + spSnapshot->SetSourcePath(spCurrentSubTask->GetCurrentPath()); + else if(m_spSrcPaths->GetCount() > 0) + { + TBasePathDataPtr spBasePath = m_spSrcPaths->GetAt(0); + if(spBasePath) + spSnapshot->SetSourcePath(spBasePath->GetSrcPath().ToString()); + } int iCurrentBufferIndex = spCurrentSubTask ? spCurrentSubTask->GetCurrentBufferIndex() : TBufferSizes::eBuffer_Default; switch (iCurrentBufferIndex) Index: src/libchcore/TTaskStatsSnapshot.cpp =================================================================== diff -u -N -rbe569bc86280887eeebb8d3e9489f6fc17c570e6 -rd4064fca634707dcae112e5a41ed37e04455dc2a --- src/libchcore/TTaskStatsSnapshot.cpp (.../TTaskStatsSnapshot.cpp) (revision be569bc86280887eeebb8d3e9489f6fc17c570e6) +++ src/libchcore/TTaskStatsSnapshot.cpp (.../TTaskStatsSnapshot.cpp) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) @@ -175,6 +175,16 @@ return m_dCombinedProgress; } + TString TTaskStatsSnapshot::GetSourcePath() const + { + return m_strSrcPath; + } + + void TTaskStatsSnapshot::SetSourcePath(const TString& pathSrc) + { + m_strSrcPath = pathSrc; + } + double TTaskStatsSnapshot::GetAvgCountSpeed() const { if (!m_bCacheFilled) Index: src/libchcore/TTaskStatsSnapshot.h =================================================================== diff -u -N -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 -rd4064fca634707dcae112e5a41ed37e04455dc2a --- src/libchcore/TTaskStatsSnapshot.h (.../TTaskStatsSnapshot.h) (revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3) +++ src/libchcore/TTaskStatsSnapshot.h (.../TTaskStatsSnapshot.h) (revision d4064fca634707dcae112e5a41ed37e04455dc2a) @@ -102,6 +102,9 @@ unsigned int GetBufferCount() const { return m_uiBufferCount; } void SetBufferCount(unsigned int uiBufferCount) { m_uiBufferCount = uiBufferCount; } + TString GetSourcePath() const; + void SetSourcePath(const TString& pathSrc); + private: void CalculateProgressAndSpeeds() const; @@ -111,6 +114,8 @@ taskid_t m_tTaskID; bool m_bTaskIsRunning; + + TString m_strSrcPath; unsigned long long m_ullTimeElapsed; int m_iThreadPriority;