diff options
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r-- | filesystemwidget.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 349176b..d72d175 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -32,6 +32,7 @@ #include "helper.h" #include "messagedialog.h" #include "extractordialog.h" +#include "archiveeditwidget.h" FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent) { mModel = new QDirModel; @@ -117,6 +118,11 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent) { setLayout(mainLayout); } +void FilesystemWidget::setArchiveDialog(ArchiveEditDialog *dlg){ + mAEDialog = dlg; + mAEDialog->setDirModel(mModel); +} + void FilesystemWidget::directoryChanged(const QModelIndex &selected, const QModelIndex &deselected){ QModelIndex real = mDirProxy->mapToSource(selected); if(!real.isValid()){ @@ -366,6 +372,23 @@ void FilesystemWidget::extract(const QString &destDir){ dlg.exec(); } +void FilesystemWidget::archiveFiles(){ + QModelIndexList selected = fileView()->selectionModel()->selectedRows(); + if(selected.isEmpty()){ + return; + } + QSortFilterProxyModel *proxy = static_cast<QSortFilterProxyModel*>(mFileView->model()); + QStringList files; + foreach(QModelIndex idx, selected){ + QModelIndex src = proxy->mapToSource(idx); + files << mModel->filePath(src); + } + mAEDialog->setFiles(files); + mAEDialog->show(); + mAEDialog->raise(); + mAEDialog->activateWindow(); +} + void FilesystemWidget::setWindowTitle(const QString &dir){ mWindowTitle = QString("%1 - %2").arg(qApp->applicationName()).arg(dir); emit windowTitle(mWindowTitle); |