From 0717f0d60cb033a481ceb016ad7e1e4ad7ff644c Mon Sep 17 00:00:00 2001 From: thalieht Date: Sun, 8 Oct 2017 09:59:52 +0300 Subject: [PATCH] Save ratio limits as int instead of string --- src/app/upgrade.h | 2 +- src/base/bittorrent/session.cpp | 8 +++++++- src/base/bittorrent/torrenthandle.cpp | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/upgrade.h b/src/app/upgrade.h index 40c720f4d..2a591ed4a 100644 --- a/src/app/upgrade.h +++ b/src/app/upgrade.h @@ -195,7 +195,7 @@ bool upgrade(bool ask = true) resumeData["qBt-forced"] = false; resumeData["qBt-savePath"] = oldTorrent.value("save_path").toString().toStdString(); - resumeData["qBt-ratioLimit"] = QString::number(oldTorrent.value("max_ratio", -2).toReal()).toStdString(); + resumeData["qBt-ratioLimit"] = static_cast(oldTorrent.value("max_ratio", -2).toReal() * 1000); resumeData["qBt-label"] = oldTorrent.value("label").toString().toStdString(); resumeData["qBt-name"] = oldTorrent.value("name").toString().toStdString(); resumeData["qBt-seedStatus"] = oldTorrent.value("seed").toBool(); diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index aa5cc6ca0..edb4db8bd 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -4371,7 +4372,12 @@ namespace torrentData.savePath = Profile::instance().fromPortablePath( Utils::Fs::fromNativePath(QString::fromStdString(fast.dict_find_string_value("qBt-savePath")))); - torrentData.ratioLimit = QString::fromStdString(fast.dict_find_string_value("qBt-ratioLimit")).toDouble(); + + std::string ratioLimitString = fast.dict_find_string_value("qBt-ratioLimit"); + if (ratioLimitString.empty()) + torrentData.ratioLimit = fast.dict_find_int_value("qBt-ratioLimit", TorrentHandle::USE_GLOBAL_RATIO * 1000) / 1000.0; + else + torrentData.ratioLimit = QString::fromStdString(ratioLimitString).toDouble(); torrentData.seedingTimeLimit = fast.dict_find_int_value("qBt-seedingTimeLimit", TorrentHandle::USE_GLOBAL_SEEDING_TIME); // ************************************************************************************** // Workaround to convert legacy label to category diff --git a/src/base/bittorrent/torrenthandle.cpp b/src/base/bittorrent/torrenthandle.cpp index 8a0f2d1f6..9f3f4a4d4 100644 --- a/src/base/bittorrent/torrenthandle.cpp +++ b/src/base/bittorrent/torrenthandle.cpp @@ -1670,7 +1670,7 @@ void TorrentHandle::handleSaveResumeDataAlert(libtorrent::save_resume_data_alert resumeData["save_path"] = Profile::instance().toPortablePath(QString::fromStdString(savePath)).toStdString(); } resumeData["qBt-savePath"] = m_useAutoTMM ? "" : Profile::instance().toPortablePath(m_savePath).toStdString(); - resumeData["qBt-ratioLimit"] = QString::number(m_ratioLimit).toStdString(); + resumeData["qBt-ratioLimit"] = static_cast(m_ratioLimit * 1000); resumeData["qBt-seedingTimeLimit"] = m_seedingTimeLimit; resumeData["qBt-category"] = m_category.toStdString(); resumeData["qBt-tags"] = setToEntryList(m_tags);