summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-12-27 11:12:52 +0100
committerArno <arno@disconnect.de>2017-12-27 11:12:52 +0100
commit2dfaf19f50493373b36840d5c46b738da1b1757b (patch)
tree854b6a4ea7b632ab1bb3fda7655db8012d80f880 /filesystemwidget.cpp
parentde74ac587352380fdecbb21d5a09c73ac16db125 (diff)
downloadSheMov-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.cpp24
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);