Preferences/ViewProfileDialog.py

changeset 0
de9c2efb9d02
child 12
1d8dd9706f46
equal deleted inserted replaced
-1:000000000000 0:de9c2efb9d02
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2002 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to configure the various view profiles.
8 """
9
10 from PyQt4.QtCore import *
11 from PyQt4.QtGui import *
12
13 from Ui_ViewProfileDialog import Ui_ViewProfileDialog
14 from Ui_ViewProfileToolboxesDialog import Ui_ViewProfileToolboxesDialog
15 from Ui_ViewProfileSidebarsDialog import Ui_ViewProfileSidebarsDialog
16
17 class ViewProfileDialog(QDialog):
18 """
19 Class implementing a dialog to configure the various view profiles.
20 """
21 def __init__(self, layout, profiles, separateShell, separateBrowser, parent = None):
22 """
23 Constructor
24
25 @param layout type of the window layout (string)
26 @param profiles dictionary of tuples containing the visibility
27 of the windows for the various profiles
28 @param separateShell flag indicating that the Python shell
29 is a separate window (boolean)
30 @param separateBrowser flag indicating that the file browser
31 is a separate window (boolean)
32 @param parent parent widget of this dialog (QWidget)
33 """
34 QDialog.__init__(self, parent)
35
36 self.__layout = layout
37 if self.__layout == "Toolboxes":
38 self.ui = Ui_ViewProfileToolboxesDialog()
39 elif self.__layout == "Sidebars":
40 self.ui = Ui_ViewProfileSidebarsDialog()
41 else:
42 self.ui = Ui_ViewProfileDialog()
43 self.ui.setupUi(self)
44
45 self.profiles = profiles
46
47 # set the editor profile
48 profile = self.profiles["edit"][0]
49 self.ui.epdbCheckBox.setChecked(profile[2])
50 if self.__layout in ["Toolboxes", "Sidebars"]:
51 profile = self.profiles["edit"][5]
52 self.ui.epvtCheckBox.setChecked(profile[0])
53 self.ui.ephtCheckBox.setChecked(profile[1])
54 else:
55 self.ui.eppbCheckBox.setChecked(profile[0])
56 if separateBrowser:
57 self.ui.epfbCheckBox.setChecked(profile[1])
58 else:
59 self.ui.epfbCheckBox.setChecked(False)
60 self.ui.epfbCheckBox.setEnabled(False)
61 if separateShell:
62 self.ui.eppsCheckBox.setChecked(profile[3])
63 else:
64 self.ui.eppsCheckBox.setChecked(False)
65 self.ui.eppsCheckBox.setEnabled(False)
66 self.ui.eplvCheckBox.setChecked(profile[4])
67 self.ui.eptvCheckBox.setChecked(profile[5])
68 self.ui.eptevCheckBox.setChecked(profile[6])
69 self.ui.epmpbCheckBox.setChecked(profile[7])
70 self.ui.eptwCheckBox.setChecked(profile[8])
71
72 # set the debug profile
73 profile = self.profiles["debug"][0]
74 self.ui.dpdbCheckBox.setChecked(profile[2])
75 if self.__layout in ["Toolboxes", "Sidebars"]:
76 profile = self.profiles["edit"][5]
77 self.ui.dpvtCheckBox.setChecked(profile[0])
78 self.ui.dphtCheckBox.setChecked(profile[1])
79 else:
80 self.ui.dppbCheckBox.setChecked(profile[0])
81 if separateBrowser:
82 self.ui.dpfbCheckBox.setChecked(profile[1])
83 else:
84 self.ui.dpfbCheckBox.setChecked(False)
85 self.ui.dpfbCheckBox.setEnabled(False)
86 if separateShell:
87 self.ui.dppsCheckBox.setChecked(profile[3])
88 else:
89 self.ui.dppsCheckBox.setChecked(False)
90 self.ui.dppsCheckBox.setEnabled(False)
91 self.ui.dplvCheckBox.setChecked(profile[4])
92 self.ui.dptvCheckBox.setChecked(profile[5])
93 self.ui.dptevCheckBox.setChecked(profile[6])
94 self.ui.dpmpbCheckBox.setChecked(profile[7])
95 self.ui.dptwCheckBox.setChecked(profile[8])
96
97 def getProfiles(self):
98 """
99 Public method to retrieve the configured profiles.
100
101 @return dictionary of tuples containing the visibility
102 of the windows for the various profiles
103 """
104 if self.__layout in ["Toolboxes", "Sidebars"]:
105 # get the edit profile
106 self.profiles["edit"][0][2] = self.ui.epdbCheckBox.isChecked()
107 self.profiles["edit"][5] = [\
108 self.ui.epvtCheckBox.isChecked(),
109 self.ui.ephtCheckBox.isChecked(),
110 ]
111 # get the debug profile
112 self.profiles["debug"][0][2] = self.ui.dpdbCheckBox.isChecked()
113 self.profiles["debug"][5] = [\
114 self.ui.dpvtCheckBox.isChecked(),
115 self.ui.dphtCheckBox.isChecked(),
116 ]
117 else:
118 # get the edit profile
119 self.profiles["edit"][0] = [\
120 self.ui.eppbCheckBox.isChecked(),
121 self.ui.epfbCheckBox.isChecked(),
122 self.ui.epdbCheckBox.isChecked(),
123 self.ui.eppsCheckBox.isChecked(),
124 self.ui.eplvCheckBox.isChecked(),
125 self.ui.eptvCheckBox.isChecked(),
126 self.ui.eptevCheckBox.isChecked(),
127 self.ui.epmpbCheckBox.isChecked(),
128 self.ui.eptwCheckBox.isChecked(),
129 ]
130
131 # get the debug profile
132 self.profiles["debug"][0] = [\
133 self.ui.dppbCheckBox.isChecked(),
134 self.ui.dpfbCheckBox.isChecked(),
135 self.ui.dpdbCheckBox.isChecked(),
136 self.ui.dppsCheckBox.isChecked(),
137 self.ui.dplvCheckBox.isChecked(),
138 self.ui.dptvCheckBox.isChecked(),
139 self.ui.dptevCheckBox.isChecked(),
140 self.ui.dpmpbCheckBox.isChecked(),
141 self.ui.dptwCheckBox.isChecked(),
142 ]
143
144 return self.profiles

eric ide

mercurial