summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
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()){