void AutomatedRssDownloader::saveSettings()
{
  RssSettings().setRssDownloadingEnabled(ui->checkEnableDownloader->isChecked());
  // Save dialog geometry
  QIniSettings settings;
  settings.setValue("RssFeedDownloader/geometry", saveGeometry());
  settings.setValue("RssFeedDownloader/hsplitterSizes", ui->hsplitter->saveState());
}
RssDownloadRulePtr RssDownloadRuleList::findMatchingRule(const QString &feed_url, const QString &article_title) const
{
  Q_ASSERT(RssSettings().isRssDownloadingEnabled());
  QStringList rule_names = m_feedRules.value(feed_url);
  foreach (const QString &rule_name, rule_names) {
    RssDownloadRulePtr rule = m_rules[rule_name];
    if (rule->isEnabled() && rule->matches(article_title)) return rule;
  }
예제 #3
0
RssManager::RssManager():
  m_rssDownloader(new DownloadThread(this)),
  m_downloadRules(new RssDownloadRuleList),
  m_rssParser(new RssParser(this))
{
  connect(&m_refreshTimer, SIGNAL(timeout()), SLOT(refresh()));
  m_refreshInterval = RssSettings().getRSSRefreshInterval();
  m_refreshTimer.start(m_refreshInterval * MSECS_PER_MIN);
}
void AutomatedRssDownloader::loadSettings()
{
  // load dialog geometry
  QIniSettings settings;
  restoreGeometry(settings.value("RssFeedDownloader/geometry").toByteArray());
  ui->checkEnableDownloader->setChecked(RssSettings().isRssDownloadingEnabled());
  ui->hsplitter->restoreState(settings.value("RssFeedDownloader/hsplitterSizes").toByteArray());
  // Display download rules
  loadRulesList();
}