diff options
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r-- | filesystemwidget.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 619944a..0e6e591 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -260,7 +260,11 @@ void FilesystemWidget::goBack(){ } void FilesystemWidget::deleteFiles(){ + qApp->setOverrideCursor(Qt::WaitCursor); TimerHandler h(mFileModel->refreshTimer()); + WatcherHandler wh(mFileModel->watcher()); + qApp->processEvents(); + qApp->restoreOverrideCursor(); QModelIndexList selected = mFileView->selectionModel()->selectedRows(); if(selected.isEmpty()){ return; @@ -270,8 +274,11 @@ void FilesystemWidget::deleteFiles(){ int retval = QMessageBox::question(this, tr("Question"), message, QMessageBox::Yes | QMessageBox::No); if(retval == QMessageBox::Yes){ foreach(QModelIndex idx, selected){ - QFileInfo fi(idx.data(SmDirModel::FullPathRole).toString()); - deleteRecursive(fi); + QModelIndex real = mFileProxy->mapToSource(idx); + if(real.isValid()){ + QFileInfo fi(real.data(SmDirModel::FullPathRole).toString()); + deleteRecursive(fi); + } } } } |