diff options
Diffstat (limited to 'archiveview.cpp')
-rw-r--r-- | archiveview.cpp | 20 |
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(); |