summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-12-27 10:12:05 +0100
committerArno <arno@disconnect.de>2017-12-27 10:12:05 +0100
commit83c8bda5424c9a55cf6a8e7fb8adc7dbdfb8a0ef (patch)
treed21da1d2d444dd6e53bed42352402cf3e19771cb /filesystemwidget.cpp
parent887767fe22814301aa73a0d0c589a59d65897124 (diff)
downloadSheMov-83c8bda5424c9a55cf6a8e7fb8adc7dbdfb8a0ef.tar.gz
SheMov-83c8bda5424c9a55cf6a8e7fb8adc7dbdfb8a0ef.tar.bz2
SheMov-83c8bda5424c9a55cf6a8e7fb8adc7dbdfb8a0ef.zip
Make unpack directory configurable
Add option and use it. Warn if the directory is not accessible and bail out. Initialize mFilesCtr to 0 so we don't crash if it's < 0
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r--filesystemwidget.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index a03b6f0..33491bb 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -583,15 +583,26 @@ void FilesystemWidget::unpack(){
foreach(QModelIndex idx, selectedIdxs){
QString mimeType = idx.data(SmDirModel::TypeRole).toString();
if(mimeType == "application/zip" || mimeType == "application/x-rar"){
- QStringList args = QStringList() << "-o/home/am/movs/pics/7z" << "-y" << "e" << idx.data(SmDirModel::FullPathRole).toString();
- mUnpackDlg->appendCommand(args);
+ QSettings s;
+ QString outputDir = s.value("paths/unpackpath").toString();
+ QFileInfo fi(outputDir);
+ if(fi.isDir() && fi.isWritable()){
+ QString outOption = QString("-o%1").arg(outputDir);
+ QStringList args = QStringList() << outOption << "-y" << "e" << idx.data(SmDirModel::FullPathRole).toString();
+ mUnpackDlg->appendCommand(args);
+ }else{
+ QMessageBox::critical(this, tr("Error"), tr("Unpack directory invalid.\nEither it doesn't exist or it's not writable!"));
+ return;
+ }
}
}
mUnpackDlg->doIt();
}
void FilesystemWidget::selectUnpackDir(){
- QModelIndex unpackDirIdx = mModel->index("/home/am/movs/pics/7z");
+ QSettings s;
+ QString unpackDir = s.value("paths/unpackpath").toString();
+ QModelIndex unpackDirIdx = mModel->index(unpackDir);
if(unpackDirIdx.isValid()){
mDirView->selectionModel()->setCurrentIndex(mDirProxy->mapFromSource(unpackDirIdx), QItemSelectionModel::ClearAndSelect);
}