From e932aafaa203f70c9be29879fc17bde9d2ac53c2 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 30 Mar 2018 11:04:10 +0200 Subject: Add untar action tries to tar xf selected files. If tar was successful, the archive is deleted. Should make archiving pics a bit easier. --- filesystemwidget.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'filesystemwidget.cpp') diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 5141c01..94455f3 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -613,6 +613,20 @@ void FilesystemWidget::unpack(){ mUnpackDlg->doIt(); } +void FilesystemWidget::untar(){ + QModelIndexList selectedIdxs = mFileView->selectionModel()->selectedRows(); + for(const QModelIndex &idx : selectedIdxs){ + QFileInfo fi(idx.data(SmDirModel::FullPathRole).toString()); + QString cmdStr = QString("/usr/bin/tar -C %1 -xf %2").arg(fi.absolutePath()).arg(idx.data(SmDirModel::FullPathRole).toString()); + int retval = QProcess::execute(cmdStr); + if(retval == 0){ + QFile::remove(idx.data(SmDirModel::FullPathRole).toString()); + } + QString msg = QString(tr("Executed %1: %2")).arg(cmdStr).arg(QString::number(retval)); + emit statusbarMessage(msg); + } +} + void FilesystemWidget::selectUnpackDir(){ QSettings s; QString unpackDir = s.value("paths/unpackpath").toString(); -- cgit v1.2.3-70-g09d2