Mercurial > hg > Feedworm
view FeedSettings.py @ 254:156edbd0733a pyqt5
the pyqt5 branch was merged into the default branch
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Fri, 10 Nov 2017 01:45:55 +0100 |
parents | 3ce39af93e77 |
children |
line wrap: on
line source
# -*- coding: utf-8 -*- from PyQt5.QtWidgets import QDialog from Ui_FeedSettings import Ui_FeedSettings """ 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. """ class FeedSettings(QDialog): def __init__(self, backend): super(FeedSettings, self).__init__(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.urlLabel.setText(self.feed.rss_url) 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) super(FeedSettings, self).accept()