Index: src/ch/task.cpp =================================================================== diff -u -N -r074c36e6d7abda459bfbca0a8bf98ae531fbc1aa -r22573f5fa8bfbf68a19deb7631962e026f028045 --- src/ch/task.cpp (.../task.cpp) (revision 074c36e6d7abda459bfbca0a8bf98ae531fbc1aa) +++ src/ch/task.cpp (.../task.cpp) (revision 22573f5fa8bfbf68a19deb7631962e026f028045) @@ -887,27 +887,17 @@ { boost::shared_lock lock(m_lock); if(m_stCurrentIndex >= 0 && m_stCurrentIndex < m_files.GetSize()) - pData->m_spFileInfo = m_files.GetAt(m_stCurrentIndex); + pData->m_strPath = m_files.GetAt(m_stCurrentIndex)->GetFileName(); else { if(m_files.GetSize() > 0) - { - pData->m_spFileInfo = m_files.GetAt(0); - pData->m_spFileInfo->SetFilePath(pData->m_spFileInfo->GetFullFilePath()); - pData->m_spFileInfo->SetSrcIndex(std::numeric_limits::max()); - } + pData->m_strPath = m_files.GetAt(0)->GetFileName(); else { if(m_clipboard.GetSize() > 0) - { - pData->m_spFileInfo->SetFilePath(m_clipboard.GetAt(0)->GetPath()); - pData->m_spFileInfo->SetSrcIndex(std::numeric_limits::max()); - } + pData->m_strPath = m_clipboard.GetAt(0)->GetFileName(); else - { - pData->m_spFileInfo->SetFilePath(GetResManager().LoadString(IDS_NONEINPUTFILE_STRING)); - pData->m_spFileInfo->SetSrcIndex(std::numeric_limits::max()); - } + pData->m_strPath = GetResManager().LoadString(IDS_NONEINPUTFILE_STRING); } } @@ -922,27 +912,29 @@ boost::unique_lock lock(m_lock); if(m_stCurrentIndex >= 0 && m_stCurrentIndex < m_files.GetSize()) - pData->m_spFileInfo = m_files.GetAt(m_stCurrentIndex); + { + pData->m_strFullFilePath = m_files.GetAt(m_stCurrentIndex)->GetFullFilePath(); + pData->m_strFileName = m_files.GetAt(m_stCurrentIndex)->GetFileName(); + } else { if(m_files.GetSize() > 0) - { - pData->m_spFileInfo = m_files.GetAt(0); - pData->m_spFileInfo->SetFilePath(pData->m_spFileInfo->GetFullFilePath()); - pData->m_spFileInfo->SetSrcIndex(std::numeric_limits::max()); - } + { + pData->m_strFullFilePath = m_files.GetAt(0)->GetFullFilePath(); + pData->m_strFileName = m_files.GetAt(0)->GetFileName(); + } else { if(m_clipboard.GetSize() > 0) - { - pData->m_spFileInfo->SetFilePath(m_clipboard.GetAt(0)->GetPath()); - pData->m_spFileInfo->SetSrcIndex(std::numeric_limits::max()); - } + { + pData->m_strFullFilePath = m_clipboard.GetAt(0)->GetPath(); + pData->m_strFileName = m_clipboard.GetAt(0)->GetFileName(); + } else - { - pData->m_spFileInfo->SetFilePath(GetResManager().LoadString(IDS_NONEINPUTFILE_STRING)); - pData->m_spFileInfo->SetSrcIndex(std::numeric_limits::max()); - } + { + pData->m_strFullFilePath = GetResManager().LoadString(IDS_NONEINPUTFILE_STRING); + pData->m_strFileName = pData->m_strFullFilePath; + } } } @@ -2316,22 +2308,15 @@ pTask->m_log.init(strPath.c_str(), 262144, icpf::log_file::level_debug, false, false); + pTask->OnBeginOperation(); + // set thread boost HANDLE hThread=GetCurrentThread(); ::SetThreadPriorityBoost(hThread, GetConfig().get_bool(PP_CMDISABLEPRIORITYBOOST)); CTime tm=CTime::GetCurrentTime(); ictranslate::CFormat fmt; - fmt.SetFormat(_T("\r\n# COPYING THREAD STARTED #\r\nBegan processing data (dd:mm:yyyy) %day.%month.%year at %hour:%minute.%second")); - fmt.SetParam(_t("%year"), tm.GetYear()); - fmt.SetParam(_t("%month"), tm.GetMonth()); - fmt.SetParam(_t("%day"), tm.GetDay()); - fmt.SetParam(_t("%hour"), tm.GetHour()); - fmt.SetParam(_t("%minute"), tm.GetMinute()); - fmt.SetParam(_t("%second"), tm.GetSecond()); - pTask->m_log.logi(fmt); - try { // to make the value stable @@ -2434,15 +2419,7 @@ // play sound piFeedbackHandler->RequestFeedback(CFeedbackHandler::eFT_OperationFinished, NULL); - tm=CTime::GetCurrentTime(); - fmt.SetFormat(_T("Finished processing data (dd:mm:yyyy) %day.%month.%year at %hour:%minute.%second")); - fmt.SetParam(_t("%year"), tm.GetYear()); - fmt.SetParam(_t("%month"), tm.GetMonth()); - fmt.SetParam(_t("%day"), tm.GetDay()); - fmt.SetParam(_t("%hour"), tm.GetHour()); - fmt.SetParam(_t("%minute"), tm.GetMinute()); - fmt.SetParam(_t("%second"), tm.GetSecond()); - pTask->m_log.logi(fmt); + pTask->OnEndOperation(); // we have been killed - the last operation pTask->CleanupAfterKill(); @@ -2502,8 +2479,11 @@ pTask->m_localStats.MarkTaskAsNotRunning(); pTask->SetContinueFlag(false); pTask->SetForceFlag(false); - pTask->SetKilledFlag(); + + pTask->OnEndOperation(); + pTask->CleanupAfterKill(); + pTask->SetKilledFlag(); delete e; @@ -2513,6 +2493,36 @@ return 0; } +void CTask::OnBeginOperation() +{ + CTime tm=CTime::GetCurrentTime(); + + ictranslate::CFormat fmt; + fmt.SetFormat(_T("\r\n# COPYING THREAD STARTED #\r\nBegan processing data (dd:mm:yyyy) %day.%month.%year at %hour:%minute.%second")); + fmt.SetParam(_t("%year"), tm.GetYear()); + fmt.SetParam(_t("%month"), tm.GetMonth()); + fmt.SetParam(_t("%day"), tm.GetDay()); + fmt.SetParam(_t("%hour"), tm.GetHour()); + fmt.SetParam(_t("%minute"), tm.GetMinute()); + fmt.SetParam(_t("%second"), tm.GetSecond()); + m_log.logi(fmt); +} + +void CTask::OnEndOperation() +{ + CTime tm=CTime::GetCurrentTime(); + + ictranslate::CFormat fmt; + fmt.SetFormat(_T("Finished processing data (dd:mm:yyyy) %day.%month.%year at %hour:%minute.%second")); + fmt.SetParam(_t("%year"), tm.GetYear()); + fmt.SetParam(_t("%month"), tm.GetMonth()); + fmt.SetParam(_t("%day"), tm.GetDay()); + fmt.SetParam(_t("%hour"), tm.GetHour()); + fmt.SetParam(_t("%minute"), tm.GetMinute()); + fmt.SetParam(_t("%second"), tm.GetSecond()); + m_log.logi(fmt); +} + //////////////////////////////////////////////////////////////////////////////// // CTaskArray members CTaskArray::CTaskArray() :