summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
index c59130c..27285c2 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -514,6 +514,26 @@ ArchiveFiles::ArchiveFiles(const QString &headerSettings, QWidget *parent) : SmT
setDragEnabled(true);
}
+void ArchiveFiles::deleteFromFiles(){
+ QModelIndexList selected = selectionModel()->selectedRows();
+ QString msg = tr("<b>This action will permanently delete the following files:</b><ul>");
+ QList<int> fileIds;
+ foreach(QModelIndex idx, selected){
+ QString a = QString("<li>%1</li>").arg(idx.data(ArchiveFilesModel::FullPathRole).toString());
+ msg.append(a);
+ fileIds << idx.data(ArchiveFilesModel::FileIdRole).toInt();
+ }
+ msg.append("</ul>");
+ msg.append(tr("<p>Continue?</p>"));
+ int answer = QMessageBox::warning(0, tr("Question"), msg, QMessageBox::Yes | QMessageBox::No);
+ if(answer == QMessageBox::Yes){
+ ArchiveController *c = SmGlobals::instance()->archiveController();
+ c->archiveTreeModel()->removeFiles(fileIds);
+ c->archiveTreeModel()->refresh();
+ }
+
+}
+
void ArchiveFiles::mousePressEvent(QMouseEvent *e){
if(e->button() == Qt::LeftButton){
mDragStartPos = e->pos();