summaryrefslogtreecommitdiffstats
path: root/filestreewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r--filestreewidget.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp
index b25804f..89de946 100644
--- a/filestreewidget.cpp
+++ b/filestreewidget.cpp
@@ -110,6 +110,26 @@ void FilesTreeWidget::setDvdNo(){
}
}
+void FilesTreeWidget::removeFiles(){
+ QModelIndexList selected = mView->selectionModel()->selectedRows();
+ if(selected.isEmpty()){
+ return;
+ }
+ QString message = QString(tr("<p>Really delete these file(s):</p><ul>"));
+ foreach(QModelIndex i, selected){
+ message.append(QString(tr("<li>%1</li>")).arg(i.data(FilesTreeModel::FileNameRole).toString()));
+ }
+ message.append("</ul>");
+ int retval = QMessageBox::critical(this, tr("Question"), message, QMessageBox::Yes | QMessageBox::No);
+ if(retval == QMessageBox::Yes){
+ QModelIndexList realSelected;
+ foreach(QModelIndex i, selected){
+ realSelected << mProxy->mapToSource(i);
+ }
+ mModel->deleteFiles(realSelected);
+ }
+}
+
void FilesTreeWidget::fileSelectionChanged(const QModelIndex &current, const QModelIndex &previous){
Q_UNUSED(previous);
int seriesPartId = current.data(FilesTreeModel::SeriesPartIdRole).toInt();