bool CFileOperationJob::DoWork() { FileOperationList ops; double totalTime = 0.0; if (m_displayProgress && GetProgressDialog() == NULL) { CGUIDialogExtendedProgressBar* dialog = (CGUIDialogExtendedProgressBar*)g_windowManager.GetWindow(WINDOW_DIALOG_EXT_PROGRESS); SetProgressBar(dialog->GetHandle(GetActionString(m_action))); } bool success = DoProcess(m_action, m_items, m_strDestFile, ops, totalTime); unsigned int size = ops.size(); double opWeight = 100.0 / totalTime; double current = 0.0; for (unsigned int i = 0; i < size && success; i++) success &= ops[i].ExecuteOperation(this, current, opWeight); MarkFinished(); return success; }
bool CFileOperationJob::DoWork() { FileOperationList ops; double totalTime = 0.0; bool success = DoProcess(m_action, m_items, m_strDestFile, ops, totalTime); unsigned int size = ops.size(); double opWeight = 100.0 / totalTime; double current = 0.0; for (unsigned int i = 0; i < size && success; i++) success &= ops[i].ExecuteOperation(this, current, opWeight); return success; }