summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filewidget.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/filewidget.cpp b/filewidget.cpp
index d3fe7d9..0ee7d2d 100644
--- a/filewidget.cpp
+++ b/filewidget.cpp
@@ -730,17 +730,22 @@ void FileWidget::deleteFiles(){
for(const QModelIndex& idx : selFiles){
QString path = idx.data(FullPathRole).toString();
QFileInfo fi(path);
+ bool success = false;
if(fi.isDir()){
QDir d(fi.absoluteFilePath());
- d.removeRecursively();
+ success = d.removeRecursively();
}else{
- if(!QFile::remove(path)){
+ success = QFile::remove(path);
+ if(!success){
QFile f(path);
f.setPermissions(QFile::ReadOther | QFile::WriteOther);
- f.remove();
+ success = f.remove();
}
}
- removed << idx.data().toString();
+ if(success){
+ mFileCache.remove(fi.absoluteFilePath());
+ removed << idx.data().toString();
+ }
}
for(const QString& f : removed){
QList<QStandardItem*> res = mModel->findItems(f, Qt::MatchExactly, NameColumn);