mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-29 13:58:51 +03: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
6 changed files with 16 additions and 2 deletions
|
@ -1595,6 +1595,13 @@ void Preferences::setTorrentLabels(const QStringList& 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)
|
||||
{
|
||||
QStringList labels = value("TransferListFilters/customLabels").toStringList();
|
||||
|
|
|
@ -112,6 +112,7 @@ private slots:
|
|||
|
||||
signals:
|
||||
void changed();
|
||||
void externalLabelAdded(QString&);
|
||||
|
||||
public:
|
||||
static void initInstance();
|
||||
|
@ -397,6 +398,7 @@ public:
|
|||
#endif
|
||||
QStringList getTorrentLabels() const;
|
||||
void setTorrentLabels(const QStringList& labels);
|
||||
void addTorrentLabelExternal(const QString &label);
|
||||
void addTorrentLabel(const QString& label);
|
||||
void removeTorrentLabel(const QString& label);
|
||||
bool recursiveDownloadDisabled() const;
|
||||
|
|
|
@ -346,7 +346,7 @@ void AutomatedRssDownloader::saveEditedRule()
|
|||
rule->setAddPaused(RssDownloadRule::AddPausedState(ui->comboAddPaused->currentIndex()));
|
||||
// Save new label
|
||||
if (!rule->label().isEmpty())
|
||||
Preferences::instance()->addTorrentLabel(rule->label());
|
||||
Preferences::instance()->addTorrentLabelExternal(rule->label());
|
||||
rule->setIgnoreDays(ui->spinIgnorePeriod->value());
|
||||
//rule->setRssFeeds(getSelectedFeeds());
|
||||
// Save it
|
||||
|
|
|
@ -85,8 +85,12 @@ void RssDownloadRuleList::loadRulesFromVariantHash(const QVariantHash &h)
|
|||
{
|
||||
QVariantHash::ConstIterator it = h.begin();
|
||||
QVariantHash::ConstIterator itend = h.end();
|
||||
QStringList labels = Preferences::instance()->getTorrentLabels();
|
||||
for ( ; it != itend; ++it) {
|
||||
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())
|
||||
saveRule(rule);
|
||||
}
|
||||
|
|
|
@ -815,6 +815,7 @@ TransferListFiltersWidget::TransferListFiltersWidget(QWidget *parent, TransferLi
|
|||
connect(statusLabel, SIGNAL(toggled(bool)), pref, SLOT(setStatusFilterState(const bool)));
|
||||
connect(labelLabel, SIGNAL(toggled(bool)), labelFilters, SLOT(toggleFilter(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)), pref, SLOT(setTrackerFilterState(const bool)));
|
||||
connect(this, SIGNAL(trackerSuccess(const QString &, const QString &)), trackerFilters, SLOT(trackerSuccess(const QString &, const QString &)));
|
||||
|
|
|
@ -101,7 +101,7 @@ public:
|
|||
|
||||
private slots:
|
||||
// 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 removeSelectedLabel();
|
||||
void removeUnusedLabels();
|
||||
|
|
Loading…
Reference in a new issue