mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-03 02:14:16 +00:00
Merge pull request #3332 from ngosang/addtrackers2
Automatically add trackers to new downloads. Closes #262
This commit is contained in:
commit
66ce5c2557
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Bittorrent Client using Qt and libtorrent.
|
* Bittorrent Client using Qt and libtorrent.
|
||||||
* Copyright (C) 2015 Vladimir Golovnev <glassez@yandex.ru>
|
* Copyright (C) 2015 Vladimir Golovnev <glassez@yandex.ru>
|
||||||
@ -619,6 +620,16 @@ void Session::configure()
|
|||||||
qDebug("Applying encryption settings");
|
qDebug("Applying encryption settings");
|
||||||
m_nativeSession->set_pe_settings(encryptionSettings);
|
m_nativeSession->set_pe_settings(encryptionSettings);
|
||||||
|
|
||||||
|
// * Add trackers
|
||||||
|
m_additionalTrackers.empty();
|
||||||
|
if (pref->isAddTrackersEnabled()) {
|
||||||
|
foreach (QString tracker, pref->getTrackersList().split("\n")) {
|
||||||
|
tracker = tracker.trimmed();
|
||||||
|
if (!tracker.isEmpty())
|
||||||
|
m_additionalTrackers << tracker;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// * Maximum ratio
|
// * Maximum ratio
|
||||||
m_highRatioAction = pref->getMaxRatioAction();
|
m_highRatioAction = pref->getMaxRatioAction();
|
||||||
setGlobalMaxRatio(pref->getGlobalMaxRatio());
|
setGlobalMaxRatio(pref->getGlobalMaxRatio());
|
||||||
@ -2153,6 +2164,9 @@ void Session::handleAddTorrentAlert(libtorrent::add_torrent_alert *p)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pref->isAddTrackersEnabled() && !torrent->isPrivate())
|
||||||
|
torrent->addTrackers(m_additionalTrackers);
|
||||||
|
|
||||||
bool addPaused = data.addPaused;
|
bool addPaused = data.addPaused;
|
||||||
if (data.addPaused == TriStateBool::Undefined)
|
if (data.addPaused == TriStateBool::Undefined)
|
||||||
addPaused = pref->addTorrentsInPause();
|
addPaused = pref->addTorrentsInPause();
|
||||||
|
@ -339,6 +339,7 @@ namespace BitTorrent
|
|||||||
bool m_appendExtension;
|
bool m_appendExtension;
|
||||||
uint m_refreshInterval;
|
uint m_refreshInterval;
|
||||||
MaxRatioAction m_highRatioAction;
|
MaxRatioAction m_highRatioAction;
|
||||||
|
QList<BitTorrent::TrackerEntry> m_additionalTrackers;
|
||||||
QString m_defaultSavePath;
|
QString m_defaultSavePath;
|
||||||
QString m_tempPath;
|
QString m_tempPath;
|
||||||
QString m_filterPath;
|
QString m_filterPath;
|
||||||
|
@ -964,6 +964,26 @@ void Preferences::setEncryptionSetting(int val)
|
|||||||
setValue("Preferences/Bittorrent/Encryption", val);
|
setValue("Preferences/Bittorrent/Encryption", val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Preferences::isAddTrackersEnabled() const
|
||||||
|
{
|
||||||
|
return value("Preferences/Bittorrent/AddTrackers", false).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Preferences::setAddTrackersEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
setValue("Preferences/Bittorrent/AddTrackers", enabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Preferences::getTrackersList() const
|
||||||
|
{
|
||||||
|
return value("Preferences/Bittorrent/TrackersList").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Preferences::setTrackersList(const QString &val)
|
||||||
|
{
|
||||||
|
setValue("Preferences/Bittorrent/TrackersList", val);
|
||||||
|
}
|
||||||
|
|
||||||
qreal Preferences::getGlobalMaxRatio() const
|
qreal Preferences::getGlobalMaxRatio() const
|
||||||
{
|
{
|
||||||
return value("Preferences/Bittorrent/MaxRatio", -1).toDouble();
|
return value("Preferences/Bittorrent/MaxRatio", -1).toDouble();
|
||||||
|
@ -271,6 +271,10 @@ public:
|
|||||||
void setLSDEnabled(bool enabled);
|
void setLSDEnabled(bool enabled);
|
||||||
int getEncryptionSetting() const;
|
int getEncryptionSetting() const;
|
||||||
void setEncryptionSetting(int val);
|
void setEncryptionSetting(int val);
|
||||||
|
bool isAddTrackersEnabled() const;
|
||||||
|
void setAddTrackersEnabled(bool enabled);
|
||||||
|
QString getTrackersList() const;
|
||||||
|
void setTrackersList(const QString &val);
|
||||||
qreal getGlobalMaxRatio() const;
|
qreal getGlobalMaxRatio() const;
|
||||||
void setGlobalMaxRatio(qreal ratio);
|
void setGlobalMaxRatio(qreal ratio);
|
||||||
MaxRatioAction getMaxRatioAction() const;
|
MaxRatioAction getMaxRatioAction() const;
|
||||||
|
@ -2273,6 +2273,37 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="checkEnableAddTrackers">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Automatically add these trackers to new downloads:</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_16">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QPlainTextEdit" name="textTrackers">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::StrongFocus</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_8">
|
<spacer name="verticalSpacer_8">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -249,6 +249,8 @@ options_imp::options_imp(QWidget *parent)
|
|||||||
connect(spinMaxActiveUploads, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton()));
|
connect(spinMaxActiveUploads, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton()));
|
||||||
connect(spinMaxActiveTorrents, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton()));
|
connect(spinMaxActiveTorrents, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton()));
|
||||||
connect(checkIgnoreSlowTorrentsForQueueing, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(checkIgnoreSlowTorrentsForQueueing, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(checkEnableAddTrackers, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(textTrackers, SIGNAL(textChanged()), this, SLOT(enableApplyButton()));
|
||||||
#ifndef DISABLE_WEBUI
|
#ifndef DISABLE_WEBUI
|
||||||
// Web UI tab
|
// Web UI tab
|
||||||
connect(checkWebUi, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(checkWebUi, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
@ -468,6 +470,8 @@ void options_imp::saveOptions()
|
|||||||
pref->setLSDEnabled(isLSDEnabled());
|
pref->setLSDEnabled(isLSDEnabled());
|
||||||
pref->setEncryptionSetting(getEncryptionSetting());
|
pref->setEncryptionSetting(getEncryptionSetting());
|
||||||
pref->enableAnonymousMode(checkAnonymousMode->isChecked());
|
pref->enableAnonymousMode(checkAnonymousMode->isChecked());
|
||||||
|
pref->setAddTrackersEnabled(checkEnableAddTrackers->isChecked());
|
||||||
|
pref->setTrackersList(textTrackers->toPlainText());
|
||||||
pref->setGlobalMaxRatio(getMaxRatio());
|
pref->setGlobalMaxRatio(getMaxRatio());
|
||||||
pref->setMaxRatioAction(static_cast<MaxRatioAction>(comboRatioLimitAct->currentIndex()));
|
pref->setMaxRatioAction(static_cast<MaxRatioAction>(comboRatioLimitAct->currentIndex()));
|
||||||
// End Bittorrent preferences
|
// End Bittorrent preferences
|
||||||
@ -783,6 +787,8 @@ void options_imp::loadOptions()
|
|||||||
checkLSD->setChecked(pref->isLSDEnabled());
|
checkLSD->setChecked(pref->isLSDEnabled());
|
||||||
comboEncryption->setCurrentIndex(pref->getEncryptionSetting());
|
comboEncryption->setCurrentIndex(pref->getEncryptionSetting());
|
||||||
checkAnonymousMode->setChecked(pref->isAnonymousModeEnabled());
|
checkAnonymousMode->setChecked(pref->isAnonymousModeEnabled());
|
||||||
|
checkEnableAddTrackers->setChecked(pref->isAddTrackersEnabled());
|
||||||
|
textTrackers->setPlainText(pref->getTrackersList());
|
||||||
|
|
||||||
checkEnableQueueing->setChecked(pref->isQueueingSystemEnabled());
|
checkEnableQueueing->setChecked(pref->isQueueingSystemEnabled());
|
||||||
spinMaxActiveDownloads->setValue(pref->getMaxActiveDownloads());
|
spinMaxActiveDownloads->setValue(pref->getMaxActiveDownloads());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user