Save rule on enable/disable even if not selected. Closes #6163.

--HG--
branch : magao-dev
This commit is contained in:
Tim Delaney 2016-11-06 13:52:12 +11:00 committed by sledgehammer999
parent 2e403277f3
commit 88ba8e2ceb
No known key found for this signature in database
GPG key ID: 6E4A2D025B7CC9A2
2 changed files with 15 additions and 0 deletions

View file

@ -92,6 +92,8 @@ AutomatedRssDownloader::AutomatedRssDownloader(const QWeakPointer<Rss::Manager>
Q_ASSERT(ok); Q_ASSERT(ok);
ok = connect(ui->listRules, SIGNAL(itemSelectionChanged()), SLOT(updateFeedList())); ok = connect(ui->listRules, SIGNAL(itemSelectionChanged()), SLOT(updateFeedList()));
Q_ASSERT(ok); 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 *))); ok = connect(ui->listFeeds, SIGNAL(itemChanged(QListWidgetItem *)), SLOT(handleFeedCheckStateChange(QListWidgetItem *)));
Q_ASSERT(ok); Q_ASSERT(ok);
// Update matching articles when necessary // 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) void AutomatedRssDownloader::handleFeedCheckStateChange(QListWidgetItem *feed_item)
{ {
if (ui->ruleDefBox->isEnabled()) if (ui->ruleDefBox->isEnabled())

View file

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