Mercurial > hg > Feedworm
view FeedSettings.py @ 206:f74fe7cb5091
when updating feeds, only ever create new Feed objects for entries that are younger than the current expire date. This ensures that we do not see old, read, expired entries again
author | dirk |
---|---|
date | Sat, 02 Jun 2012 04:30:04 +0200 |
parents | bca9341dc67f |
children | a2552f1e450e |
line wrap: on
line source
from PyQt4 import QtGui from Ui_FeedSettings import Ui_FeedSettings class FeedSettings(QtGui.QDialog): """ Copy all feed properties into the GUI on initialization. Collect all changes in a separate dict that's passed into the backend along with the feed to modify. """ def __init__(self, backend): QtGui.QWidget.__init__(self, None) self.backend = backend self.feed = backend.selectedFeed self.changes = {} self.ui = Ui_FeedSettings() self.ui.setupUi(self) self.initUi() def initUi(self): self.ui.feedTitle.setText(self.feed.title) self.ui.updateInterval.setText(str(self.feed.update_interval)) self.ui.autoLoadArticle.setChecked(self.feed.auto_load_entry_link) self.ui.alwaysOpenInBrowser.setChecked(self.feed.always_open_in_browser) def editingTitleFinished(self): title = str(self.ui.feedTitle.text()) self.changes["title"] = title def editingUpdateIntervalFinished(self): updateInterval = int(str(self.ui.updateInterval.text())) self.changes["update_interval"] = updateInterval def autoLoadArticleChanged(self, change): if change: self.changes["auto_load_entry_link"] = True else: self.changes["auto_load_entry_link"] = False def alwaysOpenInExternalBrowser(self, change): if change: self.changes["always_open_in_browser"] = True else: self.changes["always_open_in_browser"] = False def accept(self): self.backend.updateFeed(self.feed, self.changes) QtGui.QDialog.accept(self)