From 2dfaf19f50493373b36840d5c46b738da1b1757b Mon Sep 17 00:00:00 2001 From: Arno Date: Wed, 27 Dec 2017 11:12:52 +0100 Subject: Get rid of FilesystemWidget::getRecursive Use QDirIterator instead. It compiles, but it's *not* tested! So it might not work as expected! --- filesystemwidget.cpp | 24 +++++++----------------- filesystemwidget.h | 1 - 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 8ae5a1f..7e3db24 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "filesystemwidget.h" #include "filesystemdirproxy.h" @@ -505,8 +506,12 @@ void FilesystemWidget::moveToArchive(){ for(const QString &f : selected){ QFileInfo fi(f); if(fi.isDir()){ - files.append(getRecursive(fi)); - }else{ + QDirIterator di(f, QDir::Files, QDirIterator::Subdirectories); + while(di.hasNext()){ + di.next(); + files.append(di.fileInfo()); + } + }else if(fi.isFile()){ files.append(fi); } } @@ -618,21 +623,6 @@ void FilesystemWidget::centerCurrent(){ mDirView->scrollTo(curIdx, QAbstractItemView::PositionAtCenter); } -QFileInfoList FilesystemWidget::getRecursive(const QFileInfo &start) const{ - QFileInfoList retval; - if(start.isDir()){ - QDir curDir = QDir(start.absoluteFilePath()); - foreach(QFileInfo info, curDir.entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot)){ - if(info.isDir()){ - retval.append(getRecursive(info)); - }else{ - retval.append(info); - } - } - } - return retval; -} - void FilesystemWidget::copyFiles(const QStringList &files, const QString &dest){ for(const QString &file : files){ QFileInfo fi(file); diff --git a/filesystemwidget.h b/filesystemwidget.h index e535d46..6b45308 100644 --- a/filesystemwidget.h +++ b/filesystemwidget.h @@ -86,7 +86,6 @@ class FilesystemWidget : public QWidget { void resizeFileView(); private: - QFileInfoList getRecursive(const QFileInfo &start) const; void copyFiles(const QStringList &files, const QString &dest); void moveFiles(const QStringList &files, const QString &dest); void copyRecursive(const QFileInfo &start, const QString &destdir); -- cgit v1.2.3-70-g09d2