diff --git a/src/addnewtorrentdialog.cpp b/src/addnewtorrentdialog.cpp index 773019032..ac1c67f6b 100644 --- a/src/addnewtorrentdialog.cpp +++ b/src/addnewtorrentdialog.cpp @@ -596,7 +596,6 @@ void AddNewTorrentDialog::on_buttonBox_accepted() pref.useAdditionDialog(!ui->never_show_cb->isChecked()); if (ui->default_save_path_cb->isChecked()) { pref.setSavePath(ui->save_path_combo->itemData(ui->save_path_combo->currentIndex()).toString()); - pref.sync(); - QBtSession::instance()->configureSession(); + QBtSession::instance()->setDefaultSavePath(pref.getSavePath()); } } diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 949a2614f..cd4c3f421 100755 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -1773,7 +1773,13 @@ void QBtSession::addTorrentsFromScanFolder(QStringList &pathList) { } } -void QBtSession::setDefaultTempPath(QString temppath) { +void QBtSession::setDefaultSavePath(const QString &savepath) { + if (defaultSavePath == savepath || savepath.isEmpty()) + return; + defaultSavePath = QDir::fromNativeSeparators(savepath); +} + +void QBtSession::setDefaultTempPath(const QString &temppath) { if (defaultTempPath == temppath) return; if (temppath.isEmpty()) { @@ -1799,13 +1805,13 @@ void QBtSession::setDefaultTempPath(QString temppath) { QTorrentHandle h = QTorrentHandle(*torrentIT); if (!h.is_valid()) continue; if (!h.is_seed()) { - QString torrent_tmp_path = temppath.replace("\\", "/"); - qDebug("Moving torrent to its temp save path: %s", qPrintable(torrent_tmp_path)); + QString torrent_tmp_path = QDir::fromNativeSeparators(temppath); + qDebug("Moving torrent to its temp save path: %s", qPrintable(fsutils::toDisplayPath(torrent_tmp_path))); h.move_storage(torrent_tmp_path); } } } - defaultTempPath = temppath; + defaultTempPath = QDir::fromNativeSeparators(temppath); } void QBtSession::appendqBextensionToTorrent(const QTorrentHandle &h, bool append) { diff --git a/src/qtlibtorrent/qbtsession.h b/src/qtlibtorrent/qbtsession.h index 67aac09da..1ddb09b6f 100755 --- a/src/qtlibtorrent/qbtsession.h +++ b/src/qtlibtorrent/qbtsession.h @@ -147,7 +147,8 @@ public slots: void setDHTPort(int dht_port); void setProxySettings(libtorrent::proxy_settings proxySettings); void setSessionSettings(const libtorrent::session_settings &sessionSettings); - void setDefaultTempPath(QString temppath); + void setDefaultSavePath(const QString &savepath); + void setDefaultTempPath(const QString &temppath); void setAppendLabelToSavePath(bool append); void appendLabelToTorrentSavePath(const QTorrentHandle &h); void changeLabelInTorrentSavePath(const QTorrentHandle &h, QString old_label, QString new_label);