|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 # Copyright (c) 2006 - 2009 Detlev Offenbach <detlev@die-offenbachs.de> |
|
4 # |
|
5 |
|
6 """ |
|
7 Module implementing the Help Documentation configuration page. |
|
8 """ |
|
9 |
|
10 from PyQt4.QtCore import QDir, pyqtSlot |
|
11 from PyQt4.QtGui import QFileDialog |
|
12 |
|
13 from E4Gui.E4Completers import E4DirCompleter |
|
14 |
|
15 from ConfigurationPageBase import ConfigurationPageBase |
|
16 from Ui_HelpDocumentationPage import Ui_HelpDocumentationPage |
|
17 |
|
18 import Preferences |
|
19 import Utilities |
|
20 |
|
21 class HelpDocumentationPage(ConfigurationPageBase, Ui_HelpDocumentationPage): |
|
22 """ |
|
23 Class implementing the Help Documentation configuration page. |
|
24 """ |
|
25 def __init__(self): |
|
26 """ |
|
27 Constructor |
|
28 """ |
|
29 ConfigurationPageBase.__init__(self) |
|
30 self.setupUi(self) |
|
31 self.setObjectName("HelpDocumentationPage") |
|
32 |
|
33 self.pythonDocDirCompleter = E4DirCompleter(self.pythonDocDirEdit) |
|
34 self.qt4DocDirCompleter = E4DirCompleter(self.qt4DocDirEdit) |
|
35 self.pyqt4DocDirCompleter = E4DirCompleter(self.pyqt4DocDirEdit) |
|
36 self.pysideDocDirCompleter = E4DirCompleter(self.pysideDocDirEdit) |
|
37 |
|
38 try: |
|
39 import PySide |
|
40 self.pysideGroup.setEnabled(True) |
|
41 del PySide |
|
42 except ImportError: |
|
43 self.pysideGroup.setEnabled(False) |
|
44 |
|
45 # set initial values |
|
46 self.pythonDocDirEdit.setText(\ |
|
47 Preferences.getHelp("PythonDocDir")) |
|
48 self.qt4DocDirEdit.setText(\ |
|
49 Preferences.getHelp("Qt4DocDir")) |
|
50 self.pyqt4DocDirEdit.setText(\ |
|
51 Preferences.getHelp("PyQt4DocDir")) |
|
52 self.pysideDocDirEdit.setText(\ |
|
53 Preferences.getHelp("PySideDocDir")) |
|
54 |
|
55 def save(self): |
|
56 """ |
|
57 Public slot to save the Help Documentation configuration. |
|
58 """ |
|
59 Preferences.setHelp("PythonDocDir", |
|
60 self.pythonDocDirEdit.text()) |
|
61 Preferences.setHelp("Qt4DocDir", |
|
62 self.qt4DocDirEdit.text()) |
|
63 Preferences.setHelp("PyQt4DocDir", |
|
64 self.pyqt4DocDirEdit.text()) |
|
65 Preferences.setHelp("PySideDocDir", |
|
66 self.pysideDocDirEdit.text()) |
|
67 |
|
68 @pyqtSlot() |
|
69 def on_pythonDocDirButton_clicked(self): |
|
70 """ |
|
71 Private slot to select the Python documentation directory. |
|
72 """ |
|
73 dir = QFileDialog.getExistingDirectory(\ |
|
74 self, |
|
75 self.trUtf8("Select Python documentation directory"), |
|
76 self.pythonDocDirEdit.text(), |
|
77 QFileDialog.Options(QFileDialog.ShowDirsOnly)) |
|
78 |
|
79 if dir: |
|
80 self.pythonDocDirEdit.setText(\ |
|
81 Utilities.toNativeSeparators(dir)) |
|
82 |
|
83 @pyqtSlot() |
|
84 def on_qt4DocDirButton_clicked(self): |
|
85 """ |
|
86 Private slot to select the Qt4 documentation directory. |
|
87 """ |
|
88 dir = QFileDialog.getExistingDirectory(\ |
|
89 self, |
|
90 self.trUtf8("Select Qt4 documentation directory"), |
|
91 self.qt4DocDirEdit.text(), |
|
92 QFileDialog.Options(QFileDialog.ShowDirsOnly)) |
|
93 |
|
94 if dir: |
|
95 self.qt4DocDirEdit.setText(\ |
|
96 Utilities.toNativeSeparators(dir)) |
|
97 |
|
98 @pyqtSlot() |
|
99 def on_pyqt4DocDirButton_clicked(self): |
|
100 """ |
|
101 Private slot to select the PyQt4 documentation directory. |
|
102 """ |
|
103 dir = QFileDialog.getExistingDirectory(\ |
|
104 self, |
|
105 self.trUtf8("Select PyQt4 documentation directory"), |
|
106 self.pyqt4DocDirEdit.text(), |
|
107 QFileDialog.Options(QFileDialog.ShowDirsOnly)) |
|
108 |
|
109 if dir: |
|
110 self.pyqt4DocDirEdit.setText(\ |
|
111 Utilities.toNativeSeparators(dir)) |
|
112 |
|
113 @pyqtSlot() |
|
114 def on_pysideDocDirButton_clicked(self): |
|
115 """ |
|
116 Private slot to select the PySide documentation directory. |
|
117 """ |
|
118 dir = QFileDialog.getExistingDirectory(\ |
|
119 self, |
|
120 self.trUtf8("Select PySide documentation directory"), |
|
121 self.pysideDocDirEdit.text(), |
|
122 QFileDialog.Options(QFileDialog.ShowDirsOnly)) |
|
123 |
|
124 if dir: |
|
125 self.pysideDocDirEdit.setText(Utilities.toNativeSeparators(dir)) |
|
126 |
|
127 def create(dlg): |
|
128 """ |
|
129 Module function to create the configuration page. |
|
130 |
|
131 @param dlg reference to the configuration dialog |
|
132 """ |
|
133 page = HelpDocumentationPage() |
|
134 return page |