view PreferencesDialog.py @ 88:48d1d7bba548

UI for setting the proxy settings
author Dirk Olmes <dirk@xanthippe.ping.de>
date Thu, 18 Nov 2010 12:14:41 +0100
parents e8c2730eb444
children c17a224bc251
line wrap: on
line source


from Preferences import Preferences
from PyQt4 import QtGui
from Ui_Preferences import Ui_Preferences

class PreferencesDialog(QtGui.QDialog):
    def __init__(self, session=None):
        QtGui.QWidget.__init__(self, None)
        self.session = session
        self.preferences = Preferences(session)
        self.ui = Ui_Preferences()
        self.ui.setupUi(self)
        self.fillUi()

    def fillUi(self):
        maximized = self.preferences.startMaximized()
        self.ui.startMaximized.setChecked(maximized)

        hideRead = self.preferences.hideReadFeedEntries()
        self.ui.hideReadFeedEntries.setChecked(hideRead)

        showOnlyUnreadFeeds = self.preferences.showOnlyUnreadFeeds()
        self.ui.showOnlyUnreadFeeds.setChecked(showOnlyUnreadFeeds)

        self.fillProxySettings()

    def fillProxySettings(self):
        if self.preferences.isProxyConfigured():
            self.ui.proxyHost.setText(self.preferences.proxyHost())
            self.ui.proxyPort.setText(str(self.preferences.proxyPort()))

    def startMaximizedChanged(self, change):
        if change:
            self.preferences.setStartMaximized(True)
        else:
            self.preferences.setStartMaximized(False)

    def hideReadFeedEntriesChanged(self, change):
        if change:
            self.preferences.setHideReadFeedEntries(True)
        else:
            self.preferences.setHideReadFeedEntries(False)

    def showOnlyFeedsWithUnreadEntries(self, change):
        if change:
            self.preferences.setShowOnlyUnreadFeeds(True)
        else:
            self.preferences.setShowOnlyUnreadFeeds(False)

    def storeProxySettings(self):
        proxyHost = str(self.ui.proxyHost.text())
        self.preferences.setProxyHost(proxyHost)

        proxyPort = int(self.ui.proxyPort.text())
        self.preferences.setProxyPort(proxyPort)

    def accept(self):
        self.storeProxySettings()
        self.session.commit()
        QtGui.QDialog.accept(self)

    def reject(self):
        self.session.rollback()
        QtGui.QDialog.reject(self)