annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
1
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
2 from PyQt4 import QtGui
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
3 from Ui_Preferences import Ui_Preferences
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
4
42
0c0d1760b737 Rename Preferences to PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 41
diff changeset
5 class PreferencesDialog(QtGui.QDialog):
120
e830fa1cc7a2 re-enabled PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 111
diff changeset
6 def __init__(self, backend=None):
40
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
7 QtGui.QWidget.__init__(self, None)
120
e830fa1cc7a2 re-enabled PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 111
diff changeset
8 self.backend = backend
e830fa1cc7a2 re-enabled PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 111
diff changeset
9 self.preferences = backend.preferences()
40
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
10 self.ui = Ui_Preferences()
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
11 self.ui.setupUi(self)
42
0c0d1760b737 Rename Preferences to PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 41
diff changeset
12 self.fillUi()
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
13
42
0c0d1760b737 Rename Preferences to PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 41
diff changeset
14 def fillUi(self):
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
15 self.fillMaximized()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
16 self.fillHideReadFeedEntries()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
17 self.fillShowOnlyUnreadFeeds()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
18 self.fillProxySettings()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
19 self.fillDaysToKeepFeedEntries()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
20
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
21 def fillMaximized(self):
43
12ed8b5fa08c first system preference: configure app to stat maximized.
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 42
diff changeset
22 maximized = self.preferences.startMaximized()
12ed8b5fa08c first system preference: configure app to stat maximized.
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 42
diff changeset
23 self.ui.startMaximized.setChecked(maximized)
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
24
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
25 def fillHideReadFeedEntries(self):
61
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
26 hideRead = self.preferences.hideReadFeedEntries()
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
27 self.ui.hideReadFeedEntries.setChecked(hideRead)
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
28
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
29 def fillShowOnlyUnreadFeeds(self):
72
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
30 showOnlyUnreadFeeds = self.preferences.showOnlyUnreadFeeds()
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
31 self.ui.showOnlyUnreadFeeds.setChecked(showOnlyUnreadFeeds)
40
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
32
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
33 def fillProxySettings(self):
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
34 if self.preferences.isProxyConfigured():
194
2c91b5653878 enable/disable using the proxy via a preference setting
dirk
parents: 158
diff changeset
35 self.ui.useProxy.setChecked(self.preferences.useProxy())
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
36 self.ui.proxyHost.setText(self.preferences.proxyHost())
158
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
37 port = self.preferences.proxyPort()
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
38 if port is not None:
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
39 self.ui.proxyPort.setText(str(port))
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
40
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
41 def fillDaysToKeepFeedEntries(self):
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
42 days = self.preferences.daysToKeepFeedEntries()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
43 self.ui.daysToKeepFeedEntries.setText(str(days))
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
44
40
c858aab71e5b add preferences dialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
45 def startMaximizedChanged(self, change):
46
03358c113170 Better preferences handling: the GUI's responsibility is to convert the input from the event into a boolean value
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 44
diff changeset
46 if change:
03358c113170 Better preferences handling: the GUI's responsibility is to convert the input from the event into a boolean value
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 44
diff changeset
47 self.preferences.setStartMaximized(True)
03358c113170 Better preferences handling: the GUI's responsibility is to convert the input from the event into a boolean value
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 44
diff changeset
48 else:
03358c113170 Better preferences handling: the GUI's responsibility is to convert the input from the event into a boolean value
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 44
diff changeset
49 self.preferences.setStartMaximized(False)
41
9fa1e33b67da use Qt resources for window icons
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 40
diff changeset
50
61
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
51 def hideReadFeedEntriesChanged(self, change):
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
52 if change:
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
53 self.preferences.setHideReadFeedEntries(True)
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
54 else:
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
55 self.preferences.setHideReadFeedEntries(False)
db35ab7753f0 add a preference to hide read feed entries
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 46
diff changeset
56
72
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
57 def showOnlyFeedsWithUnreadEntries(self, change):
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
58 if change:
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
59 self.preferences.setShowOnlyUnreadFeeds(True)
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
60 else:
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
61 self.preferences.setShowOnlyUnreadFeeds(False)
e8c2730eb444 control the display of unread feeds/all feeds via Preferences
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 61
diff changeset
62
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
63 def storeProxySettings(self):
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
64 proxyHost = self.ui.proxyHost.text()
194
2c91b5653878 enable/disable using the proxy via a preference setting
dirk
parents: 158
diff changeset
65 self.preferences.setUseProxy(self.ui.useProxy.isChecked())
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
66 if proxyHost.isEmpty():
158
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
67 self.preferences.setProxyHost(None)
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
68 else:
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
69 self.preferences.setProxyHost(str(proxyHost))
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
70
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
71 proxyPort = self.ui.proxyPort.text()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
72 if proxyPort.isEmpty():
158
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
73 self.preferences.setProxyPort(None)
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
74 else:
e8bb107a74e1 all preferences are stored in a single JSON document in the couchdb backend. PreferencesDialog converts QString to a proper Python datatybe before sending it to the backend.
dirk
parents: 120
diff changeset
75 self.preferences.setProxyPort(int(proxyPort))
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
76
111
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
77 def daysToKeepFeedEntriesFinishedEditing(self):
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
78 text = self.ui.daysToKeepFeedEntries.text()
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
79 if not text.isEmpty():
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
80 text = str(text)
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
81 self.preferences.setDaysToKeepFeedEntries(text)
c17a224bc251 make the keep interval for feeds configurable via the GUI. Fix saving the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 88
diff changeset
82
41
9fa1e33b67da use Qt resources for window icons
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 40
diff changeset
83 def accept(self):
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
84 self.storeProxySettings()
120
e830fa1cc7a2 re-enabled PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 111
diff changeset
85 self.preferences.commit();
41
9fa1e33b67da use Qt resources for window icons
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 40
diff changeset
86 QtGui.QDialog.accept(self)
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
87
41
9fa1e33b67da use Qt resources for window icons
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 40
diff changeset
88 def reject(self):
120
e830fa1cc7a2 re-enabled PreferencesDialog
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 111
diff changeset
89 self.preferences.rollback()
41
9fa1e33b67da use Qt resources for window icons
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 40
diff changeset
90 QtGui.QDialog.reject(self)
88
48d1d7bba548 UI for setting the proxy settings
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 72
diff changeset
91