diff options
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()){ |