mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-06 13:11:25 -07:00
Clamp seeding time limit in session
Add clamping for seeding and inactive seeding time limit on setting from dialog and loading from config. Closes #21953. PR #22558. Signed-off-by: Kostiantyn <kos.chernenok@gmail.com>
This commit is contained in:
parent
c878a09d27
commit
fc5daf6e1d
1 changed files with 6 additions and 5 deletions
|
@ -471,8 +471,10 @@ SessionImpl::SessionImpl(QObject *parent)
|
||||||
, m_isAddTrackersFromURLEnabled(BITTORRENT_SESSION_KEY(u"AddTrackersFromURLEnabled"_s), false)
|
, m_isAddTrackersFromURLEnabled(BITTORRENT_SESSION_KEY(u"AddTrackersFromURLEnabled"_s), false)
|
||||||
, m_additionalTrackersURL(BITTORRENT_SESSION_KEY(u"AdditionalTrackersURL"_s))
|
, m_additionalTrackersURL(BITTORRENT_SESSION_KEY(u"AdditionalTrackersURL"_s))
|
||||||
, m_globalMaxRatio(BITTORRENT_SESSION_KEY(u"GlobalMaxRatio"_s), -1, [](qreal r) { return r < 0 ? -1. : r;})
|
, m_globalMaxRatio(BITTORRENT_SESSION_KEY(u"GlobalMaxRatio"_s), -1, [](qreal r) { return r < 0 ? -1. : r;})
|
||||||
, m_globalMaxSeedingMinutes(BITTORRENT_SESSION_KEY(u"GlobalMaxSeedingMinutes"_s), -1, lowerLimited(-1))
|
, m_globalMaxSeedingMinutes(BITTORRENT_SESSION_KEY(u"GlobalMaxSeedingMinutes"_s), Torrent::NO_SEEDING_TIME_LIMIT
|
||||||
, m_globalMaxInactiveSeedingMinutes(BITTORRENT_SESSION_KEY(u"GlobalMaxInactiveSeedingMinutes"_s), -1, lowerLimited(-1))
|
, clampValue(Torrent::NO_SEEDING_TIME_LIMIT, Torrent::MAX_SEEDING_TIME))
|
||||||
|
, m_globalMaxInactiveSeedingMinutes(BITTORRENT_SESSION_KEY(u"GlobalMaxInactiveSeedingMinutes"_s), Torrent::NO_INACTIVE_SEEDING_TIME_LIMIT
|
||||||
|
, clampValue(Torrent::NO_INACTIVE_SEEDING_TIME_LIMIT, Torrent::MAX_INACTIVE_SEEDING_TIME))
|
||||||
, m_isAddTorrentToQueueTop(BITTORRENT_SESSION_KEY(u"AddTorrentToTopOfQueue"_s), false)
|
, m_isAddTorrentToQueueTop(BITTORRENT_SESSION_KEY(u"AddTorrentToTopOfQueue"_s), false)
|
||||||
, m_isAddTorrentStopped(BITTORRENT_SESSION_KEY(u"AddTorrentStopped"_s), false)
|
, m_isAddTorrentStopped(BITTORRENT_SESSION_KEY(u"AddTorrentStopped"_s), false)
|
||||||
, m_torrentStopCondition(BITTORRENT_SESSION_KEY(u"TorrentStopCondition"_s), Torrent::StopCondition::None)
|
, m_torrentStopCondition(BITTORRENT_SESSION_KEY(u"TorrentStopCondition"_s), Torrent::StopCondition::None)
|
||||||
|
@ -1255,8 +1257,7 @@ int SessionImpl::globalMaxSeedingMinutes() const
|
||||||
|
|
||||||
void SessionImpl::setGlobalMaxSeedingMinutes(int minutes)
|
void SessionImpl::setGlobalMaxSeedingMinutes(int minutes)
|
||||||
{
|
{
|
||||||
if (minutes < 0)
|
minutes = std::clamp(minutes, Torrent::NO_SEEDING_TIME_LIMIT, Torrent::MAX_SEEDING_TIME);
|
||||||
minutes = -1;
|
|
||||||
|
|
||||||
if (minutes != globalMaxSeedingMinutes())
|
if (minutes != globalMaxSeedingMinutes())
|
||||||
{
|
{
|
||||||
|
@ -1272,7 +1273,7 @@ int SessionImpl::globalMaxInactiveSeedingMinutes() const
|
||||||
|
|
||||||
void SessionImpl::setGlobalMaxInactiveSeedingMinutes(int minutes)
|
void SessionImpl::setGlobalMaxInactiveSeedingMinutes(int minutes)
|
||||||
{
|
{
|
||||||
minutes = std::max(minutes, -1);
|
minutes = std::clamp(minutes, Torrent::NO_INACTIVE_SEEDING_TIME_LIMIT, Torrent::MAX_INACTIVE_SEEDING_TIME);
|
||||||
|
|
||||||
if (minutes != globalMaxInactiveSeedingMinutes())
|
if (minutes != globalMaxInactiveSeedingMinutes())
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue