diff options
Diffstat (limited to 'fswidget.cpp')
-rw-r--r-- | fswidget.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/fswidget.cpp b/fswidget.cpp index 92be9ae..66dc5d9 100644 --- a/fswidget.cpp +++ b/fswidget.cpp @@ -14,6 +14,7 @@ #include <QSqlDatabase> #include <QElapsedTimer> #include <QMenu> +#include <QMessageBox> #include <QSettings> #include <QApplication> @@ -46,6 +47,10 @@ void FSWidget::setupWidget(){ connect(refreshA, &QAction::triggered, this, &FSWidget::refresh); toolbar->addSeparator(); toolbar->addAction(refreshA); + QAction *deleteFilesA = new QAction(QIcon(":/delete.png"), tr("Delete"), this); + connect(deleteFilesA, &QAction::triggered, this, &FSWidget::deleteFiles); + toolbar->addAction(deleteFilesA); + toolbar->addSeparator(); QAction *archiveMovieA = new QAction(QIcon(":/huge_bra.png"), tr("Archive movies..."), this); connect(archiveMovieA, &QAction::triggered, this, &FSWidget::archiveMovie); connect(mMovieWizard, &NewMovieWizard::accepted, this, &FSWidget::refresh); @@ -111,7 +116,7 @@ void FSWidget::setupWidget(){ mProxy->setSourceModel(mModel); mFileView->setModel(mProxy); - addActions(QList<QAction*>() << backA << forwardA << Helper::createSeparator(this) << refreshA << archiveMovieA); + addActions(QList<QAction*>() << backA << forwardA << Helper::createSeparator(this) << refreshA << deleteFilesA << Helper::createSeparator(this) << archiveMovieA); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(topWL); @@ -305,6 +310,26 @@ void FSWidget::gatherData(const QString &curDir){ emit message(msg); } +void FSWidget::deleteFiles(){ + QModelIndexList selected = mFileView->selectionModel()->selectedRows(); + if(selected.isEmpty()){ + return; + } + QString question = QString(tr("Really delete %1 file(s)?")).arg(QString::number(selected.count())); + int answer = QMessageBox::question(this, tr("Delete"), question); + if(answer == QMessageBox::Yes){ + int count = 0; + for(const QModelIndex &idx : selected){ + if(QFile::remove(idx.data(FullPathRole).toString())){ + ++count; + } + } + refresh(); + QString msg = QString(tr("Deleted %1 file(s) successfully!")).arg(QString::number(count)); + emit message(msg); + } +} + void FSWidget::archiveMovie(){ QModelIndexList selected = mFileView->selectionModel()->selectedRows(); if(selected.isEmpty()){ |