201 if self.__showsOpenFilters: |
201 if self.__showsOpenFilters: |
202 self.openFileFilters = filters |
202 self.openFileFilters = filters |
203 else: |
203 else: |
204 self.saveFileFilters = filters |
204 self.saveFileFilters = filters |
205 |
205 |
206 def __checkFileFilter(self, filter): |
206 def __checkFileFilter(self, fileFilter): |
207 """ |
207 """ |
208 Private method to check a file filter for validity. |
208 Private method to check a file filter for validity. |
209 |
209 |
210 @param filter file filter pattern to check (string) |
210 @param fileFilter file filter pattern to check (string) |
211 @return flag indicating validity (boolean) |
211 @return flag indicating validity (boolean) |
212 """ |
212 """ |
213 if not self.__showsOpenFilters and \ |
213 if not self.__showsOpenFilters and \ |
214 filter.count("*") != 1: |
214 fileFilter.count("*") != 1: |
215 E5MessageBox.critical( |
215 E5MessageBox.critical( |
216 self, |
216 self, |
217 self.tr("Add File Filter"), |
217 self.tr("Add File Filter"), |
218 self.tr("""A Save File Filter must contain exactly one""" |
218 self.tr("""A Save File Filter must contain exactly one""" |
219 """ wildcard pattern. Yours contains {0}.""") |
219 """ wildcard pattern. Yours contains {0}.""") |
220 .format(filter.count("*"))) |
220 .format(fileFilter.count("*"))) |
221 return False |
221 return False |
222 |
222 |
223 if filter.count("*") == 0: |
223 if fileFilter.count("*") == 0: |
224 E5MessageBox.critical( |
224 E5MessageBox.critical( |
225 self, |
225 self, |
226 self.tr("Add File Filter"), |
226 self.tr("Add File Filter"), |
227 self.tr("""A File Filter must contain at least one""" |
227 self.tr("""A File Filter must contain at least one""" |
228 """ wildcard pattern.""")) |
228 """ wildcard pattern.""")) |
233 @pyqtSlot() |
233 @pyqtSlot() |
234 def on_addFileFilterButton_clicked(self): |
234 def on_addFileFilterButton_clicked(self): |
235 """ |
235 """ |
236 Private slot to add a file filter to the list. |
236 Private slot to add a file filter to the list. |
237 """ |
237 """ |
238 filter, ok = QInputDialog.getText( |
238 fileFilter, ok = QInputDialog.getText( |
239 self, |
239 self, |
240 self.tr("Add File Filter"), |
240 self.tr("Add File Filter"), |
241 self.tr("Enter the file filter entry:"), |
241 self.tr("Enter the file filter entry:"), |
242 QLineEdit.Normal) |
242 QLineEdit.Normal) |
243 if ok and filter: |
243 if ok and fileFilter: |
244 if self.__checkFileFilter(filter): |
244 if self.__checkFileFilter(fileFilter): |
245 self.fileFiltersList.addItem(filter) |
245 self.fileFiltersList.addItem(fileFilter) |
246 self.__extractFileFilters() |
246 self.__extractFileFilters() |
247 self.__setDefaultFiltersLists(keepSelection=True) |
247 self.__setDefaultFiltersLists(keepSelection=True) |
248 |
248 |
249 @pyqtSlot() |
249 @pyqtSlot() |
250 def on_editFileFilterButton_clicked(self): |
250 def on_editFileFilterButton_clicked(self): |
251 """ |
251 """ |
252 Private slot called to edit a file filter entry. |
252 Private slot called to edit a file filter entry. |
253 """ |
253 """ |
254 filter = self.fileFiltersList.currentItem().text() |
254 fileFilter = self.fileFiltersList.currentItem().text() |
255 filter, ok = QInputDialog.getText( |
255 fileFilter, ok = QInputDialog.getText( |
256 self, |
256 self, |
257 self.tr("Add File Filter"), |
257 self.tr("Add File Filter"), |
258 self.tr("Enter the file filter entry:"), |
258 self.tr("Enter the file filter entry:"), |
259 QLineEdit.Normal, |
259 QLineEdit.Normal, |
260 filter) |
260 fileFilter) |
261 if ok and filter: |
261 if ok and fileFilter: |
262 if self.__checkFileFilter(filter): |
262 if self.__checkFileFilter(fileFilter): |
263 self.fileFiltersList.currentItem().setText(filter) |
263 self.fileFiltersList.currentItem().setText(fileFilter) |
264 self.__extractFileFilters() |
264 self.__extractFileFilters() |
265 self.__setDefaultFiltersLists(keepSelection=True) |
265 self.__setDefaultFiltersLists(keepSelection=True) |
266 |
266 |
267 @pyqtSlot() |
267 @pyqtSlot() |
268 def on_deleteFileFilterButton_clicked(self): |
268 def on_deleteFileFilterButton_clicked(self): |