Merge pull request #6183 from magao/issue6163

Save rule on enable/disable even if not selected. Closes #6163.
This commit is contained in:
sledgehammer999 2017-01-25 23:25:49 +02:00 committed by GitHub
commit 5df8ad32fe
2 changed files with 15 additions and 0 deletions

View file

@ -92,6 +92,8 @@ AutomatedRssDownloader::AutomatedRssDownloader(const QWeakPointer<Rss::Manager>
Q_ASSERT(ok);
ok = connect(ui->listRules, SIGNAL(itemSelectionChanged()), SLOT(updateFeedList()));
Q_ASSERT(ok);
ok = connect(ui->listRules, SIGNAL(itemChanged(QListWidgetItem *)), SLOT(handleRuleCheckStateChange(QListWidgetItem *)));
Q_ASSERT(ok);
ok = connect(ui->listFeeds, SIGNAL(itemChanged(QListWidgetItem *)), SLOT(handleFeedCheckStateChange(QListWidgetItem *)));
Q_ASSERT(ok);
// Update matching articles when necessary
@ -489,6 +491,18 @@ void AutomatedRssDownloader::renameSelectedRule()
}
}
void AutomatedRssDownloader::handleRuleCheckStateChange(QListWidgetItem *rule_item)
{
if (ui->ruleDefBox->isEnabled())
// Make sure the current rule is saved
saveEditedRule();
// Make sure we save the rule that was enabled or disabled - it might not be the current selection.
m_editedRule = rule_item;
saveEditedRule();
m_editedRule = 0;
}
void AutomatedRssDownloader::handleFeedCheckStateChange(QListWidgetItem *feed_item)
{
if (ui->ruleDefBox->isEnabled())

View file

@ -67,6 +67,7 @@ protected slots:
void loadSettings();
void saveSettings();
void loadRulesList();
void handleRuleCheckStateChange(QListWidgetItem *rule_item);
void handleFeedCheckStateChange(QListWidgetItem *feed_item);
void updateRuleDefinitionBox();
void clearRuleDefinitionBox();