diff options
author | Arno <arno@disconnect.de> | 2017-12-27 11:12:52 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-12-27 11:12:52 +0100 |
commit | 2dfaf19f50493373b36840d5c46b738da1b1757b (patch) | |
tree | 854b6a4ea7b632ab1bb3fda7655db8012d80f880 /filesystemwidget.cpp | |
parent | de74ac587352380fdecbb21d5a09c73ac16db125 (diff) | |
download | SheMov-2dfaf19f50493373b36840d5c46b738da1b1757b.tar.gz SheMov-2dfaf19f50493373b36840d5c46b738da1b1757b.tar.bz2 SheMov-2dfaf19f50493373b36840d5c46b738da1b1757b.zip |
Get rid of FilesystemWidget::getRecursive
Use QDirIterator instead. It compiles, but it's *not* tested! So it
might not work as expected!
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r-- | filesystemwidget.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 8ae5a1f..7e3db24 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -23,6 +23,7 @@ #include <QToolBar> #include <QInputDialog> #include <QKeyEvent> +#include <QDirIterator> #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); |