From c799923d7dcb6d2ff2d0c9af0aa17256ff9df7f8 Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Mon, 24 Apr 2017 12:03:35 +0300 Subject: [PATCH] Allow strip root folder using default settings --- src/base/bittorrent/session.h | 2 +- src/base/bittorrent/torrenthandle.cpp | 4 +++- src/gui/addnewtorrentdialog.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/base/bittorrent/session.h b/src/base/bittorrent/session.h index e1cb3d9e1..b65a70063 100644 --- a/src/base/bittorrent/session.h +++ b/src/base/bittorrent/session.h @@ -147,7 +147,7 @@ namespace BitTorrent QVector filePriorities; // used if TorrentInfo is set bool ignoreShareRatio = false; bool skipChecking = false; - bool createSubfolder = true; + TriStateBool createSubfolder; }; struct TorrentStatusReport diff --git a/src/base/bittorrent/torrenthandle.cpp b/src/base/bittorrent/torrenthandle.cpp index 329a89957..5a2255bf0 100644 --- a/src/base/bittorrent/torrenthandle.cpp +++ b/src/base/bittorrent/torrenthandle.cpp @@ -92,7 +92,9 @@ AddTorrentData::AddTorrentData(const AddTorrentParams ¶ms) , sequential(params.sequential) , hasSeedStatus(params.skipChecking) // do not react on 'torrent_finished_alert' when skipping , skipChecking(params.skipChecking) - , hasRootFolder(params.createSubfolder) + , hasRootFolder(params.createSubfolder == TriStateBool::Undefined + ? Session::instance()->isCreateTorrentSubfolder() + : params.createSubfolder == TriStateBool::True) , addForced(params.addForced == TriStateBool::True) , addPaused(params.addPaused == TriStateBool::Undefined ? Session::instance()->isAddTorrentPaused() diff --git a/src/gui/addnewtorrentdialog.cpp b/src/gui/addnewtorrentdialog.cpp index 170c5e504..b33814550 100644 --- a/src/gui/addnewtorrentdialog.cpp +++ b/src/gui/addnewtorrentdialog.cpp @@ -642,7 +642,7 @@ void AddNewTorrentDialog::accept() params.filePriorities = m_contentModel->model()->getFilePriorities(); params.addPaused = TriStateBool(!ui->startTorrentCheckBox->isChecked()); - params.createSubfolder = ui->createSubfolderCheckBox->isChecked(); + params.createSubfolder = TriStateBool(ui->createSubfolderCheckBox->isChecked()); QString savePath = ui->savePathComboBox->itemData(ui->savePathComboBox->currentIndex()).toString(); if (ui->comboTTM->currentIndex() != 1) { // 0 is Manual mode and 1 is Automatic mode. Handle all non 1 values as manual mode.