diff options
author | Arno <arno@disconnect.de> | 2017-12-27 10:57:24 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-12-27 10:57:24 +0100 |
commit | de74ac587352380fdecbb21d5a09c73ac16db125 (patch) | |
tree | d21c839350c78f3b2c7c48258f2b3e9839b43821 /filesystemwidget.cpp | |
parent | d4a929cd1d6bdda3173ad4dbf74eae378f277bfc (diff) | |
download | SheMov-de74ac587352380fdecbb21d5a09c73ac16db125.tar.gz SheMov-de74ac587352380fdecbb21d5a09c73ac16db125.tar.bz2 SheMov-de74ac587352380fdecbb21d5a09c73ac16db125.zip |
Get rid of homebrewed deleteRecursive
Since Qt 5.0 QDir has the member removeRecursively, so use it. Just be
careful what you feed it. Don't use QFileInfo::dir, because that's the
*containing* directory. That would delete everything *including* the
parent directory!
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r-- | filesystemwidget.cpp | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 970fd33..8ae5a1f 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -285,7 +285,12 @@ void FilesystemWidget::deleteFiles(){ QModelIndex real = mFileProxy->mapToSource(idx); if(real.isValid()){ QFileInfo fi(real.data(SmDirModel::FullPathRole).toString()); - deleteRecursive(fi); + if(fi.isDir()){ + QDir d(fi.absoluteFilePath()); + d.removeRecursively(); + }else if(fi.isFile()){ + QFile::remove(fi.absoluteFilePath()); + } } } } @@ -613,23 +618,6 @@ void FilesystemWidget::centerCurrent(){ mDirView->scrollTo(curIdx, QAbstractItemView::PositionAtCenter); } -void FilesystemWidget::deleteRecursive(const QFileInfo &start){ - if(start.isDir()){ - QDir curDir = QDir(start.absoluteFilePath());; - foreach(QFileInfo info, curDir.entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot)){ - if(info.isDir()){ - deleteRecursive(info); - }else{ - QFile::remove(info.absoluteFilePath()); - } - } - QDir dir = start.absoluteDir(); - dir.rmdir(start.fileName()); - }else{ - QFile::remove(start.absoluteFilePath()); - } -} - QFileInfoList FilesystemWidget::getRecursive(const QFileInfo &start) const{ QFileInfoList retval; if(start.isDir()){ |