diff --git a/src/base/bittorrent/bencoderesumedatastorage.cpp b/src/base/bittorrent/bencoderesumedatastorage.cpp index 87b349f14..ee87b5601 100644 --- a/src/base/bittorrent/bencoderesumedatastorage.cpp +++ b/src/base/bittorrent/bencoderesumedatastorage.cpp @@ -236,6 +236,7 @@ BitTorrent::LoadResumeDataResult BitTorrent::BencodeResumeDataStorage::loadTorre LoadTorrentParams torrentParams; torrentParams.category = fromLTString(resumeDataRoot.dict_find_string_value("qBt-category")); torrentParams.name = fromLTString(resumeDataRoot.dict_find_string_value("qBt-name")); + torrentParams.comment = fromLTString(resumeDataRoot.dict_find_string_value("qBt-comment")); torrentParams.hasFinishedStatus = resumeDataRoot.dict_find_int_value("qBt-seedStatus"); torrentParams.firstLastPiecePriority = resumeDataRoot.dict_find_int_value("qBt-firstLastPiecePriority"); torrentParams.seedingTimeLimit = resumeDataRoot.dict_find_int_value("qBt-seedingTimeLimit", Torrent::USE_GLOBAL_SEEDING_TIME); @@ -437,6 +438,7 @@ void BitTorrent::BencodeResumeDataStorage::Worker::store(const TorrentID &id, co data["qBt-category"] = resumeData.category.toStdString(); data["qBt-tags"] = setToEntryList(resumeData.tags); data["qBt-name"] = resumeData.name.toStdString(); + data["qBt-comment"] = resumeData.comment.toStdString(); data["qBt-seedStatus"] = resumeData.hasFinishedStatus; data["qBt-contentLayout"] = Utils::String::fromEnum(resumeData.contentLayout).toStdString(); data["qBt-firstLastPiecePriority"] = resumeData.firstLastPiecePriority; diff --git a/src/base/bittorrent/loadtorrentparams.h b/src/base/bittorrent/loadtorrentparams.h index b84a9eb41..24ebc10d1 100644 --- a/src/base/bittorrent/loadtorrentparams.h +++ b/src/base/bittorrent/loadtorrentparams.h @@ -50,6 +50,7 @@ namespace BitTorrent TagSet tags; Path savePath; Path downloadPath; + QString comment; TorrentContentLayout contentLayout = TorrentContentLayout::Original; TorrentOperatingMode operatingMode = TorrentOperatingMode::AutoManaged; bool useAutoTMM = false; diff --git a/src/base/bittorrent/torrentimpl.cpp b/src/base/bittorrent/torrentimpl.cpp index e67d44a95..fdd37b208 100644 --- a/src/base/bittorrent/torrentimpl.cpp +++ b/src/base/bittorrent/torrentimpl.cpp @@ -367,6 +367,9 @@ TorrentImpl::TorrentImpl(SessionImpl *session, const lt::torrent_handle &nativeH } } + if (!params.comment.isEmpty()) + m_comment = params.comment; + setStopCondition(params.stopCondition); const auto *extensionData = static_cast(m_ltAddTorrentParams.userdata); @@ -2210,6 +2213,7 @@ void TorrentImpl::prepareResumeData(lt::add_torrent_params params) .tags = m_tags, .savePath = (!m_useAutoTMM ? m_savePath : Path()), .downloadPath = (!m_useAutoTMM ? m_downloadPath : Path()), + .comment = m_comment, .contentLayout = m_contentLayout, .operatingMode = m_operatingMode, .useAutoTMM = m_useAutoTMM, @@ -2963,4 +2967,5 @@ QFuture> TorrentImpl::invokeAsync(Func &&func) const void TorrentImpl::setComment(const QString &comment) { m_comment = comment; + deferredRequestResumeData(); }