Index: src/ch/MainWnd.cpp =================================================================== diff -u -N -r6ae1d95bf7dd071fd2b65b8f7aabca1c887bdff8 -rf6c4389122d92e5f84a509e9be0facebac429151 --- src/ch/MainWnd.cpp (.../MainWnd.cpp) (revision 6ae1d95bf7dd071fd2b65b8f7aabca1c887bdff8) +++ src/ch/MainWnd.cpp (.../MainWnd.cpp) (revision f6c4389122d92e5f84a509e9be0facebac429151) @@ -348,11 +348,8 @@ pTask->SetStatus(ST_COPYING, ST_STEP_MASK); // save task status - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - pTask->Store(szPath, true); - pTask->Store(szPath, false); + pTask->Store(true); + pTask->Store(false); // log pTask->m_log.logi(GetResManager()->LoadString(IDS_OTFSEARCHINGFINISHED_STRING)); @@ -1119,12 +1116,14 @@ { TRACE("\n\nENTERING ThrdProc (new task started)...\n"); CTask* pTask=static_cast(pParam); + TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - _tcscat(szPath, pTask->GetUniqueName()+_T(".log")); - pTask->m_log.init(szPath, 262144, icpf::log_file::level_debug, false, false); + tstring_t strPath = pTask->GetTaskPath(); + strPath += pTask->GetUniqueName()+_T(".log"); + + pTask->m_log.init(strPath.c_str(), 262144, icpf::log_file::level_debug, false, false); + // set thread boost HANDLE hThread=GetCurrentThread(); ::SetThreadPriorityBoost(hThread, GetConfig()->get_bool(PP_CMDISABLEPRIORITYBOOST)); @@ -1243,9 +1242,7 @@ pTask->UpdateTime(); // save progress before killed - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - pTask->Store(szPath, false); + pTask->Store(false); // we are ending pTask->DecreaseOperationsPending(); @@ -1467,11 +1464,8 @@ pTask->GetClipboard()->GetAt(i)->CalcBufferIndex(pTask->GetDestPath()); // write pTask to a file - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - pTask->Store(szPath, true); - pTask->Store(szPath, false); + pTask->Store(true); + pTask->Store(false); // add task to a list of tasks and start pData->m_pTasks->Add(pTask); @@ -1582,10 +1576,11 @@ m_tasks.Create(&ThrdProc); // load last state - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - m_tasks.LoadDataProgress(szPath); + CString strPath; + GetApp()->GetProgramDataPath(strPath); + strPath += _T("\\tasks"); + m_tasks.SetTasksDir(strPath); + m_tasks.LoadDataProgress(); m_tasks.TasksRetryProcessing(); // start clipboard monitoring @@ -1726,10 +1721,7 @@ case 1023: // autosave timer KillTimer(1023); - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - m_tasks.SaveProgress(szPath); + m_tasks.SaveProgress(); SetTimer(1023, (UINT)GetConfig()->get_signed_num(PP_PAUTOSAVEINTERVAL), NULL); break; case 7834: @@ -1925,15 +1917,13 @@ pTask->SetFilters(&ffFilters); pTask->SetCopies(ucCopies); + m_tasks.Add(pTask); + // save state of a task - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - pTask->Store(szPath, true); - pTask->Store(szPath, false); + pTask->Store(true); + pTask->Store(false); // add to task list and start processing - m_tasks.Add(pTask); pTask->BeginProcessing(); return CWnd::OnCopyData(pWnd, pCopyDataStruct); @@ -2012,15 +2002,13 @@ pTask->SetPriority(dlg.m_ccData.m_iPriority); pTask->SetFilters(&dlg.m_ccData.m_afFilters); + m_tasks.Add(pTask); + // save - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - pTask->Store(szPath, true); - pTask->Store(szPath, false); + pTask->Store(true); + pTask->Store(false); // store and start - m_tasks.Add(pTask); pTask->BeginProcessing(); } } @@ -2310,10 +2298,7 @@ } // save - TCHAR szPath[_MAX_PATH]; - GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szPath, _MAX_PATH); - GetApp()->ExpandPath(szPath); - m_tasks.SaveProgress(szPath); + m_tasks.SaveProgress(); // delete all tasks int iSize=m_tasks.GetSize();