Preferences/ConfigurationPages/HelpWebBrowserPage.py

changeset 0
de9c2efb9d02
child 7
c679fb30c8f3
equal deleted inserted replaced
-1:000000000000 0:de9c2efb9d02
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2009 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Help web browser configuration page.
8 """
9
10 from PyQt4.QtCore import qVersion, pyqtSlot
11
12 from ConfigurationPageBase import ConfigurationPageBase
13 from Ui_HelpWebBrowserPage import Ui_HelpWebBrowserPage
14
15 import Helpviewer.HelpWindow
16
17 import Preferences
18
19 class HelpWebBrowserPage(ConfigurationPageBase, Ui_HelpWebBrowserPage):
20 """
21 Class implementing the Help web browser configuration page.
22 """
23 def __init__(self, configDialog):
24 """
25 Constructor
26
27 @param configDialog reference to the configuration dialog (ConfigurationDialog)
28 """
29 ConfigurationPageBase.__init__(self)
30 self.setupUi(self)
31 self.setObjectName("HelpWebBrowserPage")
32
33 mw = configDialog.parent().parent()
34 if hasattr(mw, "helpWindow") and mw.helpWindow is not None:
35 self.__helpWindow = mw.helpWindow
36 elif hasattr(mw, "currentBrowser"):
37 self.__helpWindow = mw
38 else:
39 self.__helpWindow = None
40 self.setCurrentPageButton.setEnabled(self.__helpWindow is not None)
41
42 defaultSchemes = ["file://", "http://", "https://", "qthelp://"]
43 self.defaultSchemeCombo.addItems(defaultSchemes)
44
45 # set initial values
46 self.singleHelpWindowCheckBox.setChecked(
47 Preferences.getHelp("SingleHelpWindow"))
48 self.saveGeometryCheckBox.setChecked(
49 Preferences.getHelp("SaveGeometry"))
50 self.webSuggestionsCheckBox.setChecked(
51 Preferences.getHelp("WebSearchSuggestions"))
52
53 self.javaCheckBox.setChecked(
54 Preferences.getHelp("JavaEnabled"))
55 self.javaScriptCheckBox.setChecked(
56 Preferences.getHelp("JavaScriptEnabled"))
57 self.jsOpenWindowsCheckBox.setChecked(
58 Preferences.getHelp("JavaScriptCanOpenWindows"))
59 self.jsClipboardCheckBox.setChecked(
60 Preferences.getHelp("JavaScriptCanAccessClipboard"))
61 self.pluginsCheckBox.setChecked(
62 Preferences.getHelp("PluginsEnabled"))
63
64 self.savePasswordsCheckBox.setChecked(
65 Preferences.getHelp("SavePasswords"))
66
67 if qVersion() >= '4.5.0':
68 self.diskCacheCheckBox.setChecked(
69 Preferences.getHelp("DiskCacheEnabled"))
70 self.cacheSizeSpinBox.setValue(
71 Preferences.getHelp("DiskCacheSize"))
72 self.printBackgroundsCheckBox.setChecked(
73 Preferences.getHelp("PrintBackgrounds"))
74 else:
75 self.cacheGroup.setEnabled(False)
76 self.printGroup.setEnabled(False)
77
78 self.startupCombo.setCurrentIndex(
79 Preferences.getHelp("StartupBehavior"))
80 self.homePageEdit.setText(
81 Preferences.getHelp("HomePage"))
82
83 self.defaultSchemeCombo.setEditText(
84 Preferences.getHelp("DefaultScheme"))
85
86 historyLimit = Preferences.getHelp("HistoryLimit")
87 idx = 0
88 if historyLimit == 1:
89 idx = 0
90 elif historyLimit == 7:
91 idx = 1
92 elif historyLimit == 14:
93 idx = 2
94 elif historyLimit == 30:
95 idx = 3
96 elif historyLimit == 365:
97 idx = 4
98 elif historyLimit == -1:
99 idx = 5
100 elif historyLimit == -2:
101 idx = 6
102 else:
103 idx = 5
104 self.expireHistory.setCurrentIndex(idx)
105
106 def save(self):
107 """
108 Public slot to save the Help Viewers configuration.
109 """
110 Preferences.setHelp("SingleHelpWindow",
111 int(self.singleHelpWindowCheckBox.isChecked()))
112 Preferences.setHelp("SaveGeometry",
113 int(self.saveGeometryCheckBox.isChecked()))
114 Preferences.setHelp("WebSearchSuggestions",
115 int(self.webSuggestionsCheckBox.isChecked()))
116
117 Preferences.setHelp("JavaEnabled",
118 int(self.javaCheckBox.isChecked()))
119 Preferences.setHelp("JavaScriptEnabled",
120 int(self.javaScriptCheckBox.isChecked()))
121 Preferences.setHelp("JavaScriptCanOpenWindows",
122 int(self.jsOpenWindowsCheckBox.isChecked()))
123 Preferences.setHelp("JavaScriptCanAccessClipboard",
124 int(self.jsClipboardCheckBox.isChecked()))
125 Preferences.setHelp("PluginsEnabled",
126 int(self.pluginsCheckBox.isChecked()))
127
128 Preferences.setHelp("SavePasswords",
129 int(self.savePasswordsCheckBox.isChecked()))
130
131 if qVersion() >= '4.5.0':
132 Preferences.setHelp("DiskCacheEnabled",
133 int(self.diskCacheCheckBox.isChecked()))
134 Preferences.setHelp("DiskCacheSize",
135 self.cacheSizeSpinBox.value())
136 Preferences.setHelp("PrintBackgrounds",
137 int(self.printBackgroundsCheckBox.isChecked()))
138
139 Preferences.setHelp("StartupBehavior",
140 self.startupCombo.currentIndex())
141 Preferences.setHelp("HomePage",
142 self.homePageEdit.text())
143
144 Preferences.setHelp("DefaultScheme",
145 self.defaultSchemeCombo.currentText())
146
147 idx = self.expireHistory.currentIndex()
148 if idx == 0:
149 historyLimit = 1
150 elif idx == 1:
151 historyLimit = 7
152 elif idx == 2:
153 historyLimit = 14
154 elif idx == 3:
155 historyLimit = 30
156 elif idx == 4:
157 historyLimit = 365
158 elif idx == 5:
159 historyLimit = -1
160 elif idx == 6:
161 historyLimit = -2
162 Preferences.setHelp("HistoryLimit", historyLimit)
163
164 @pyqtSlot()
165 def on_setCurrentPageButton_clicked(self):
166 """
167 Private slot to set the current page as the home page.
168 """
169 url = self.__helpWindow.currentBrowser().url()
170 self.homePageEdit.setText(unicode(url.toEncoded()))
171
172 @pyqtSlot()
173 def on_defaultHomeButton_clicked(self):
174 """
175 Private slot to set the default home page.
176 """
177 self.homePageEdit.setText(Preferences.Prefs.helpDefaults["HomePage"])
178
179 def create(dlg):
180 """
181 Module function to create the configuration page.
182
183 @param dlg reference to the configuration dialog
184 """
185 page = HelpWebBrowserPage(dlg)
186 return page

eric ide

mercurial