summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-12-27 10:57:24 +0100
committerArno <arno@disconnect.de>2017-12-27 10:57:24 +0100
commitde74ac587352380fdecbb21d5a09c73ac16db125 (patch)
treed21c839350c78f3b2c7c48258f2b3e9839b43821 /filesystemwidget.cpp
parentd4a929cd1d6bdda3173ad4dbf74eae378f277bfc (diff)
downloadSheMov-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.cpp24
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()){