mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-05 11:24:15 +00:00
Fix: Adding RSS rule with a new label doesn't add this label to UI.
This commit is contained in:
parent
f5c0cddea5
commit
2442411a5e
@ -1595,6 +1595,13 @@ void Preferences::setTorrentLabels(const QStringList& labels)
|
|||||||
setValue("TransferListFilters/customLabels", labels);
|
setValue("TransferListFilters/customLabels", labels);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Preferences::addTorrentLabelExternal(const QString &label)
|
||||||
|
{
|
||||||
|
addTorrentLabel(label);
|
||||||
|
QString toEmit = label;
|
||||||
|
emit externalLabelAdded(toEmit);
|
||||||
|
}
|
||||||
|
|
||||||
void Preferences::addTorrentLabel(const QString& label)
|
void Preferences::addTorrentLabel(const QString& label)
|
||||||
{
|
{
|
||||||
QStringList labels = value("TransferListFilters/customLabels").toStringList();
|
QStringList labels = value("TransferListFilters/customLabels").toStringList();
|
||||||
|
@ -112,6 +112,7 @@ private slots:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void changed();
|
void changed();
|
||||||
|
void externalLabelAdded(QString&);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void initInstance();
|
static void initInstance();
|
||||||
@ -397,6 +398,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
QStringList getTorrentLabels() const;
|
QStringList getTorrentLabels() const;
|
||||||
void setTorrentLabels(const QStringList& labels);
|
void setTorrentLabels(const QStringList& labels);
|
||||||
|
void addTorrentLabelExternal(const QString &label);
|
||||||
void addTorrentLabel(const QString& label);
|
void addTorrentLabel(const QString& label);
|
||||||
void removeTorrentLabel(const QString& label);
|
void removeTorrentLabel(const QString& label);
|
||||||
bool recursiveDownloadDisabled() const;
|
bool recursiveDownloadDisabled() const;
|
||||||
|
@ -346,7 +346,7 @@ void AutomatedRssDownloader::saveEditedRule()
|
|||||||
rule->setAddPaused(RssDownloadRule::AddPausedState(ui->comboAddPaused->currentIndex()));
|
rule->setAddPaused(RssDownloadRule::AddPausedState(ui->comboAddPaused->currentIndex()));
|
||||||
// Save new label
|
// Save new label
|
||||||
if (!rule->label().isEmpty())
|
if (!rule->label().isEmpty())
|
||||||
Preferences::instance()->addTorrentLabel(rule->label());
|
Preferences::instance()->addTorrentLabelExternal(rule->label());
|
||||||
rule->setIgnoreDays(ui->spinIgnorePeriod->value());
|
rule->setIgnoreDays(ui->spinIgnorePeriod->value());
|
||||||
//rule->setRssFeeds(getSelectedFeeds());
|
//rule->setRssFeeds(getSelectedFeeds());
|
||||||
// Save it
|
// Save it
|
||||||
|
@ -85,8 +85,12 @@ void RssDownloadRuleList::loadRulesFromVariantHash(const QVariantHash &h)
|
|||||||
{
|
{
|
||||||
QVariantHash::ConstIterator it = h.begin();
|
QVariantHash::ConstIterator it = h.begin();
|
||||||
QVariantHash::ConstIterator itend = h.end();
|
QVariantHash::ConstIterator itend = h.end();
|
||||||
|
QStringList labels = Preferences::instance()->getTorrentLabels();
|
||||||
for ( ; it != itend; ++it) {
|
for ( ; it != itend; ++it) {
|
||||||
RssDownloadRulePtr rule = RssDownloadRule::fromVariantHash(it.value().toHash());
|
RssDownloadRulePtr rule = RssDownloadRule::fromVariantHash(it.value().toHash());
|
||||||
|
// Hack to readd labels forgotten before fix
|
||||||
|
if (!labels.contains(rule->label()))
|
||||||
|
Preferences::instance()->addTorrentLabelExternal(rule->label());
|
||||||
if (rule && !rule->name().isEmpty())
|
if (rule && !rule->name().isEmpty())
|
||||||
saveRule(rule);
|
saveRule(rule);
|
||||||
}
|
}
|
||||||
|
@ -815,6 +815,7 @@ TransferListFiltersWidget::TransferListFiltersWidget(QWidget *parent, TransferLi
|
|||||||
connect(statusLabel, SIGNAL(toggled(bool)), pref, SLOT(setStatusFilterState(const bool)));
|
connect(statusLabel, SIGNAL(toggled(bool)), pref, SLOT(setStatusFilterState(const bool)));
|
||||||
connect(labelLabel, SIGNAL(toggled(bool)), labelFilters, SLOT(toggleFilter(bool)));
|
connect(labelLabel, SIGNAL(toggled(bool)), labelFilters, SLOT(toggleFilter(bool)));
|
||||||
connect(labelLabel, SIGNAL(toggled(bool)), pref, SLOT(setLabelFilterState(const bool)));
|
connect(labelLabel, SIGNAL(toggled(bool)), pref, SLOT(setLabelFilterState(const bool)));
|
||||||
|
connect(pref, SIGNAL(externalLabelAdded(QString&)), labelFilters, SLOT(addItem(QString&)));
|
||||||
connect(trackerLabel, SIGNAL(toggled(bool)), trackerFilters, SLOT(toggleFilter(bool)));
|
connect(trackerLabel, SIGNAL(toggled(bool)), trackerFilters, SLOT(toggleFilter(bool)));
|
||||||
connect(trackerLabel, SIGNAL(toggled(bool)), pref, SLOT(setTrackerFilterState(const bool)));
|
connect(trackerLabel, SIGNAL(toggled(bool)), pref, SLOT(setTrackerFilterState(const bool)));
|
||||||
connect(this, SIGNAL(trackerSuccess(const QString &, const QString &)), trackerFilters, SLOT(trackerSuccess(const QString &, const QString &)));
|
connect(this, SIGNAL(trackerSuccess(const QString &, const QString &)), trackerFilters, SLOT(trackerSuccess(const QString &, const QString &)));
|
||||||
|
@ -101,7 +101,7 @@ public:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
// Redefine addItem() to make sure the list stays sorted
|
// Redefine addItem() to make sure the list stays sorted
|
||||||
void addItem(QString &label, bool hasTorrent);
|
void addItem(QString &label, bool hasTorrent = false);
|
||||||
void removeItem(const QString &label);
|
void removeItem(const QString &label);
|
||||||
void removeSelectedLabel();
|
void removeSelectedLabel();
|
||||||
void removeUnusedLabels();
|
void removeUnusedLabels();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user