Ignore:
Timestamp:
Jan 9, 2017, 11:09:38 AM (2 years ago)
Author:
jrpelegrina
Message:

Update new version: 3.15.02

File:
1 edited

Legend:

Unmodified
Added
Removed
  • filezilla/trunk/fuentes/src/interface/RemoteTreeView.cpp

    r130 r3185  
    948948        const int applyType = pChmodDlg->GetApplyType();
    949949
    950         CRecursiveOperation* pRecursiveOperation = m_pState->GetRecursiveOperationHandler();
    951 
     950        recursion_root root(hasParent ? path.GetParent() : path, !cached);
    952951        if (cached) { // Implies hasParent
    953952                // Change directory permissions
     
    960959                if (pChmodDlg->Recursive())
    961960                        // Start recursion
    962                         pRecursiveOperation->AddDirectoryToVisit(path, _T(""), CLocalPath());
     961                        root.add_dir_to_visit(path, _T(""), CLocalPath());
    963962        }
    964963        else {
    965964                if (hasParent)
    966                         pRecursiveOperation->AddDirectoryToVisitRestricted(path.GetParent(), name, pChmodDlg->Recursive());
     965                        root.add_dir_to_visit_restricted(path.GetParent(), name, pChmodDlg->Recursive());
    967966                else
    968                         pRecursiveOperation->AddDirectoryToVisitRestricted(path, _T(""), pChmodDlg->Recursive());
     967                        root.add_dir_to_visit_restricted(path, _T(""), pChmodDlg->Recursive());
    969968        }
    970969
    971970        if (!cached || pChmodDlg->Recursive()) {
     971                CRecursiveOperation* pRecursiveOperation = m_pState->GetRecursiveOperationHandler();
     972                pRecursiveOperation->AddRecursionRoot(std::move(root));
    972973                pRecursiveOperation->SetChmodDialog(pChmodDlg);
    973974
     
    977978                        currentPath = GetPathFromItem(selected);
    978979                CFilterManager filter;
    979                 pRecursiveOperation->StartRecursiveOperation(CRecursiveOperation::recursive_chmod, hasParent ? path.GetParent() : path, filter.GetActiveFilters(false), !cached, currentPath);
     980                pRecursiveOperation->StartRecursiveOperation(CRecursiveOperation::recursive_chmod, filter.GetActiveFilters(false), currentPath);
    980981        }
    981982        else {
     
    10111012        localDir.AddSegment(CQueueView::ReplaceInvalidCharacters(name));
    10121013
     1014        recursion_root root(path, true);
     1015        root.add_dir_to_visit(path, _T(""), localDir);
    10131016        CRecursiveOperation* pRecursiveOperation = m_pState->GetRecursiveOperationHandler();
    1014         pRecursiveOperation->AddDirectoryToVisit(path, _T(""), localDir);
     1017        pRecursiveOperation->AddRecursionRoot(std::move(root));
    10151018
    10161019        CServerPath currentPath;
     
    10211024        const bool addOnly = event.GetId() == XRCID("ID_ADDTOQUEUE");
    10221025        CFilterManager filter;
    1023         pRecursiveOperation->StartRecursiveOperation(addOnly ? CRecursiveOperation::recursive_addtoqueue : CRecursiveOperation::recursive_download, path, filter.GetActiveFilters(false), true, currentPath);
     1026        pRecursiveOperation->StartRecursiveOperation(addOnly ? CRecursiveOperation::recursive_addtoqueue : CRecursiveOperation::recursive_download, filter.GetActiveFilters(false), currentPath);
    10241027}
    10251028
     
    10431046        CRecursiveOperation* pRecursiveOperation = m_pState->GetRecursiveOperationHandler();
    10441047
     1048        recursion_root root;
    10451049        CServerPath startDir;
    10461050        if (hasParent) {
    10471051                const wxString& name = GetItemText(m_contextMenuItem);
    10481052                startDir = pathToDelete.GetParent();
    1049                 pRecursiveOperation->AddDirectoryToVisit(startDir, name);
     1053                root = recursion_root(startDir, !hasParent);
     1054                root.add_dir_to_visit(startDir, name);
    10501055        }
    10511056        else {
    10521057                startDir = pathToDelete;
    1053                 pRecursiveOperation->AddDirectoryToVisit(startDir, _T(""));
    1054         }
     1058                root = recursion_root(startDir, !hasParent);
     1059                root.add_dir_to_visit(startDir, _T(""));
     1060        }
     1061        pRecursiveOperation->AddRecursionRoot(std::move(root));
    10551062
    10561063        CServerPath currentPath;
     
    10641071
    10651072        CFilterManager filter;
    1066         pRecursiveOperation->StartRecursiveOperation(CRecursiveOperation::recursive_delete, startDir, filter.GetActiveFilters(false), !hasParent, currentPath);
     1073        pRecursiveOperation->StartRecursiveOperation(CRecursiveOperation::recursive_delete, filter.GetActiveFilters(false), currentPath);
    10671074}
    10681075
     
    13191326                                        continue;
    13201327
    1321                                 if (filter.FilenameFiltered(GetItemText(child), path.GetPath(), true, -1, false, 0, CDateTime())) {
     1328                                if (filter.FilenameFiltered(GetItemText(child), path.GetPath(), true, -1, false, 0, fz::datetime())) {
    13221329                                        wxTreeItemId sel = GetSelection();
    13231330                                        while (sel && sel != child)
Note: See TracChangeset for help on using the changeset viewer.