51
54
self.octValidator = QRegExpValidator(QRegExp("[0-3]?[0-7]{0,2}"), self)
53
56
# generate dialog part for single characters
54
self.singlesBox.setColumnLayout(0,Qt.Vertical)
55
self.singlesBox.layout().setSpacing(6)
56
self.singlesBox.layout().setMargin(6)
57
singlesBoxLayout = QVBoxLayout(self.singlesBox.layout())
58
self.singlesView = QScrollView(self.singlesBox, "singlesView")
59
singlesBoxLayout.addWidget(self.singlesView)
57
self.singlesBoxLayout = QVBoxLayout(self.singlesBox)
58
self.singlesBoxLayout.setObjectName("singlesBoxLayout")
59
self.singlesBoxLayout.setSpacing(6)
60
self.singlesBoxLayout.setMargin(6)
61
self.singlesBox.setLayout(self.singlesBoxLayout)
62
self.singlesView = QScrollArea(self.singlesBox)
63
self.singlesView.setObjectName("singlesView")
64
self.singlesBoxLayout.addWidget(self.singlesView)
61
self.singlesItemsBox = QVBox(self.singlesView.viewport(), "singlesItemsBox")
62
self.singlesItemsBox.setMargin(6)
63
self.singlesItemsBox.setSpacing(6)
66
self.singlesItemsBox = QWidget(self)
67
self.singlesView.setWidget(self.singlesItemsBox)
68
self.singlesItemsBox.setObjectName("singlesItemsBox")
69
self.singlesItemsBoxLayout = QVBoxLayout(self.singlesItemsBox)
70
self.singlesItemsBoxLayout.setMargin(6)
71
self.singlesItemsBoxLayout.setSpacing(6)
72
self.singlesItemsBox.setLayout(self.singlesItemsBoxLayout)
64
73
self.singlesEntries = []
74
self.__addSinglesLine()
67
hlayout0 = QHBoxLayout(self.singlesBox, 0, 6, "hlayout0")
76
hlayout0 = QHBoxLayout()
78
hlayout0.setSpacing(6)
79
hlayout0.setObjectName("hlayout0")
68
80
self.moreSinglesButton = QPushButton(self.trUtf8("Additional Entries"),
69
self.singlesBox, "moreSinglesButton")
82
self.moreSinglesButton.setObjectName("moreSinglesButton")
70
83
hlayout0.addWidget(self.moreSinglesButton)
71
84
hspacer0 = QSpacerItem(30,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
72
85
hlayout0.addItem(hspacer0)
73
singlesBoxLayout.addLayout(hlayout0)
74
self.connect(self.moreSinglesButton, SIGNAL("clicked()"), self.addSinglesLine)
86
self.singlesBoxLayout.addLayout(hlayout0)
87
self.connect(self.moreSinglesButton, SIGNAL("clicked()"), self.__addSinglesLine)
76
89
# generate dialog part for character ranges
77
self.rangesBox.setColumnLayout(0,Qt.Vertical)
78
self.rangesBox.layout().setSpacing(6)
79
self.rangesBox.layout().setMargin(6)
80
rangesBoxLayout = QVBoxLayout(self.rangesBox.layout())
81
self.rangesView = QScrollView(self.rangesBox, "rangesView")
82
rangesBoxLayout.addWidget(self.rangesView)
90
self.rangesBoxLayout = QVBoxLayout(self.rangesBox)
91
self.rangesBoxLayout.setObjectName("rangesBoxLayout")
92
self.rangesBoxLayout.setSpacing(6)
93
self.rangesBoxLayout.setMargin(6)
94
self.rangesBox.setLayout(self.rangesBoxLayout)
95
self.rangesView = QScrollArea(self.rangesBox)
96
self.rangesView.setObjectName("rangesView")
97
self.rangesBoxLayout.addWidget(self.rangesView)
84
self.rangesItemsBox = QVBox(self.rangesView.viewport(), "rangesItemBox")
85
self.rangesItemsBox.setMargin(6)
86
self.rangesItemsBox.setSpacing(6)
99
self.rangesItemsBox = QWidget(self)
100
self.rangesView.setWidget(self.rangesItemsBox)
101
self.rangesItemsBox.setObjectName("rangesItemsBox")
102
self.rangesItemsBoxLayout = QVBoxLayout(self.rangesItemsBox)
103
self.rangesItemsBoxLayout.setMargin(6)
104
self.rangesItemsBoxLayout.setSpacing(6)
105
self.rangesItemsBox.setLayout(self.rangesItemsBoxLayout)
87
106
self.rangesEntries = []
107
self.__addRangesLine()
90
hlayout1 = QHBoxLayout(self.rangesBox, 0, 6, "hlayout1")
109
hlayout1 = QHBoxLayout()
110
hlayout1.setMargin(0)
111
hlayout1.setSpacing(6)
112
hlayout1.setObjectName("hlayout1")
91
113
self.moreRangesButton = QPushButton(self.trUtf8("Additional Entries"),
92
self.rangesBox, "moreRangesButton")
115
self.moreSinglesButton.setObjectName("moreRangesButton")
93
116
hlayout1.addWidget(self.moreRangesButton)
94
117
hspacer1 = QSpacerItem(30,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
95
118
hlayout1.addItem(hspacer1)
96
rangesBoxLayout.addLayout(hlayout1)
97
self.connect(self.moreRangesButton, SIGNAL("clicked()"), self.addRangesLine)
119
self.rangesBoxLayout.addLayout(hlayout1)
120
self.connect(self.moreRangesButton, SIGNAL("clicked()"), self.__addRangesLine)
99
def addSinglesLine(self):
122
def __addSinglesLine(self):
101
124
Private slot to add a line of entry widgets for single characters.
103
hbox = QHBox(self.singlesItemsBox)
106
cb1 = QComboBox(0, hbox)
107
cb1.insertStringList(self.comboItems)
126
hbox = QWidget(self.singlesItemsBox)
127
hboxLayout = QHBoxLayout(hbox)
128
hboxLayout.setMargin(0)
129
hboxLayout.setSpacing(6)
130
hbox.setLayout(hboxLayout)
131
cb1 = QComboBox(hbox)
132
cb1.setEditable(False)
133
cb1.addItems(self.comboItems)
134
hboxLayout.addWidget(cb1)
108
135
le1 = QLineEdit(hbox)
109
136
le1.setValidator(self.charValidator)
110
cb2 = QComboBox(0, hbox)
111
cb2.insertStringList(self.comboItems)
137
hboxLayout.addWidget(le1)
138
cb2 = QComboBox(hbox)
139
cb2.setEditable(False)
140
cb2.addItems(self.comboItems)
141
hboxLayout.addWidget(cb2)
112
142
le2 = QLineEdit(hbox)
113
143
le2.setValidator(self.charValidator)
144
hboxLayout.addWidget(le2)
145
self.singlesItemsBoxLayout.addWidget(hbox)
115
self.connect(cb1, SIGNAL('activated(int)'), self.handleSinglesCharTypeSelected)
116
self.connect(cb2, SIGNAL('activated(int)'), self.handleSinglesCharTypeSelected)
147
self.connect(cb1, SIGNAL('activated(int)'), self.__singlesCharTypeSelected)
148
self.connect(cb2, SIGNAL('activated(int)'), self.__singlesCharTypeSelected)
119
151
self.singlesItemsBox.adjustSize()
120
self.singlesView.resizeContents(self.singlesItemsBox.width(),
121
self.singlesItemsBox.height())
123
153
self.singlesEntries.append([cb1, le1])
124
154
self.singlesEntries.append([cb2, le2])
126
def addRangesLine(self):
156
def __addRangesLine(self):
128
158
Private slot to add a line of entry widgets for character ranges.
130
hbox = QHBox(self.rangesItemsBox)
160
hbox = QWidget(self.rangesItemsBox)
161
hboxLayout = QHBoxLayout(hbox)
162
hboxLayout.setMargin(0)
163
hboxLayout.setSpacing(6)
164
hbox.setLayout(hboxLayout)
133
165
l1 = QLabel(self.trUtf8("Between:"), hbox)
134
cb1 = QComboBox(0, hbox)
135
cb1.insertStringList(self.comboItems)
166
hboxLayout.addWidget(l1)
167
cb1 = QComboBox(hbox)
168
cb1.setEditable(False)
169
cb1.addItems(self.comboItems)
170
hboxLayout.addWidget(cb1)
136
171
le1 = QLineEdit(hbox)
137
172
le1.setValidator(self.charValidator)
173
hboxLayout.addWidget(le1)
138
174
l2 = QLabel(self.trUtf8("And:"), hbox)
139
cb2 = QComboBox(0, hbox)
140
cb2.insertStringList(self.comboItems)
175
hboxLayout.addWidget(l2)
176
cb2 = QComboBox(hbox)
177
cb2.setEditable(False)
178
cb2.addItems(self.comboItems)
179
hboxLayout.addWidget(cb2)
141
180
le2 = QLineEdit(hbox)
142
181
le2.setValidator(self.charValidator)
182
hboxLayout.addWidget(le2)
183
self.rangesItemsBoxLayout.addWidget(hbox)
144
self.connect(cb1, SIGNAL('activated(int)'), self.handleRangesCharTypeSelected)
145
self.connect(cb2, SIGNAL('activated(int)'), self.handleRangesCharTypeSelected)
185
self.connect(cb1, SIGNAL('activated(int)'), self.__rangesCharTypeSelected)
186
self.connect(cb2, SIGNAL('activated(int)'), self.__rangesCharTypeSelected)
148
189
self.rangesItemsBox.adjustSize()
149
self.rangesView.resizeContents(self.rangesItemsBox.width(),
150
self.rangesItemsBox.height())
152
191
self.rangesEntries.append([cb1, le1, cb2, le2])
154
def performSelectedAction(self, index, lineedit):
193
def __performSelectedAction(self, index, lineedit):
156
195
Private method performing some actions depending on the input.