diff options
author | Arno <arno@disconnect.de> | 2016-09-04 07:46:14 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-09-04 07:46:14 +0200 |
commit | 8b81dff651da35d48d161d9a79d6a3e0b48d7f56 (patch) | |
tree | 5ed8768c1c9f923f7b69d976d1c0e07f827eb725 | |
parent | eebc2927d4de8456b23915554f8b53f5c33df58d (diff) | |
download | ShemovCleaner-8b81dff651da35d48d161d9a79d6a3e0b48d7f56.tar.gz ShemovCleaner-8b81dff651da35d48d161d9a79d6a3e0b48d7f56.tar.bz2 ShemovCleaner-8b81dff651da35d48d161d9a79d6a3e0b48d7f56.zip |
Implement delete files
-rw-r--r-- | filewidget.cpp | 33 | ||||
-rw-r--r-- | filewidget.h | 1 |
2 files changed, 26 insertions, 8 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index 5727e88..ac75d48 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -24,6 +24,7 @@ #include <QItemSelectionModel> #include <QGroupBox> #include <QKeyEvent> +#include <QMessageBox> #include "filewidget.h" #include "filesorter.h" @@ -293,31 +294,47 @@ void FileWidget::cd(const QString &to){ gatherData(); } +void FileWidget::deleteFiles(){ + QModelIndexList selFiles = mFileView->selectionModel()->selectedRows(NameColumn); + const QString msg = QString(tr("Really delete %1 file(s)?")).arg(QString::number(selFiles.count())); + int retval = QMessageBox::question(this, tr("Delete files..."), msg); + if(retval == QMessageBox::Yes){ + foreach(QModelIndex idx, selFiles){ + QString fp = idx.data(FullPathRole).toString(); + QFile::remove(fp); + } + gatherData(); + } +} + void FileWidget::keyPressEvent(QKeyEvent *e){ if(e->key() == Qt::Key_S && (e->modifiers() & Qt::ControlModifier)){ mFilter->setFocus(); mFilter->selectAll(); - e->accept(); - return; + goto exit; } if(e->key() == Qt::Key_D && (e->modifiers() & Qt::ControlModifier)){ mDir->setFocus(); mDir->selectAll(); - e->accept(); - return; + goto exit; } if(e->key() == Qt::Key_F && (e->modifiers() & Qt::ControlModifier)){ mFileView->setFocus(); - e->accept(); - return; + goto exit; } if(mFileView->hasFocus()){ if(e->key() == Qt::Key_Return){ QModelIndex idx = mFileView->selectionModel()->selectedRows(NameColumn).at(0); itemSelected(idx); - e->accept(); - return; + goto exit; + } + if(e->key() == Qt::Key_Delete){ + deleteFiles(); + goto exit; } } QWidget::keyPressEvent(e); + + exit: + e->accept(); } diff --git a/filewidget.h b/filewidget.h index db9799f..d16f307 100644 --- a/filewidget.h +++ b/filewidget.h @@ -32,6 +32,7 @@ class FileWidget : public QWidget { public slots: void fileSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); void cd(const QString &to); + void deleteFiles(); private slots: void gatherData(); |