Improve embedded tracker

Now it conforms to BEPs more closely.
This commit is contained in:
Chocobo1 2019-08-08 23:21:07 +08:00
parent 94f7a095bb
commit 8d0d8e4dcb
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
10 changed files with 423 additions and 230 deletions

View file

@ -909,10 +909,12 @@ bool Session::isTrackerEnabled() const
void Session::setTrackerEnabled(const bool enabled)
{
if (isTrackerEnabled() != enabled) {
enableTracker(enabled);
if (m_isTrackerEnabled != enabled)
m_isTrackerEnabled = enabled;
}
// call enableTracker() unconditionally, otherwise port change won't trigger
// tracker restart
enableTracker(enabled);
}
qreal Session::globalMaxRatio() const
@ -1480,13 +1482,9 @@ void Session::enableTracker(const bool enable)
if (!m_tracker)
m_tracker = new Tracker(this);
if (m_tracker->start())
LogMsg(tr("Embedded Tracker [ON]"), Log::INFO);
else
LogMsg(tr("Failed to start the embedded tracker!"), Log::CRITICAL);
m_tracker->start();
}
else {
LogMsg(tr("Embedded Tracker [OFF]"), Log::INFO);
if (m_tracker)
delete m_tracker;
}