view PreferencesDialog.py @ 205:adf7f617bda9

make the name of the design document configurable via command line switch. When cloning the feedworm db, the design document is no longer the same as the database name
author dirk
date Sat, 02 Jun 2012 04:24:49 +0200
parents 2c91b5653878
children bb3c851b18b1
line wrap: on
line source


from PyQt4 import QtGui
from Ui_Preferences import Ui_Preferences

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

    def fillUi(self):
        self.fillMaximized()
        self.fillHideReadFeedEntries()
        self.fillShowOnlyUnreadFeeds()
        self.fillProxySettings()
        self.fillDaysToKeepFeedEntries()

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

    def fillHideReadFeedEntries(self):
        hideRead = self.preferences.hideReadFeedEntries()
        self.ui.hideReadFeedEntries.setChecked(hideRead)

    def fillShowOnlyUnreadFeeds(self):
        showOnlyUnreadFeeds = self.preferences.showOnlyUnreadFeeds()
        self.ui.showOnlyUnreadFeeds.setChecked(showOnlyUnreadFeeds)

    def fillProxySettings(self):
        if self.preferences.isProxyConfigured():
            self.ui.useProxy.setChecked(self.preferences.useProxy())
            self.ui.proxyHost.setText(self.preferences.proxyHost())
            port = self.preferences.proxyPort()
            if port is not None:
                self.ui.proxyPort.setText(str(port))

    def fillDaysToKeepFeedEntries(self):
        days = self.preferences.daysToKeepFeedEntries()
        self.ui.daysToKeepFeedEntries.setText(str(days))

    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 = self.ui.proxyHost.text()
        self.preferences.setUseProxy(self.ui.useProxy.isChecked())
        if proxyHost.isEmpty():
            self.preferences.setProxyHost(None)
        else:
            self.preferences.setProxyHost(str(proxyHost))

        proxyPort = self.ui.proxyPort.text()
        if proxyPort.isEmpty():
            self.preferences.setProxyPort(None)
        else:
            self.preferences.setProxyPort(int(proxyPort))

    def daysToKeepFeedEntriesFinishedEditing(self):
        text = self.ui.daysToKeepFeedEntries.text()
        if not text.isEmpty():
            text = str(text)
            self.preferences.setDaysToKeepFeedEntries(text)

    def accept(self):
        self.storeProxySettings()
        self.preferences.commit();
        QtGui.QDialog.accept(self)

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