Mon, 08 Jul 2013 22:36:10 +0200
Merge with default branch.
2697
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to manage the list of messages to be ignored. |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
2791
a9577f248f04
Merge with default branch.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2697
diff
changeset
|
10 | from __future__ import unicode_literals # __IGNORE_WARNING__ |
a9577f248f04
Merge with default branch.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2697
diff
changeset
|
11 | |
2697
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from PyQt4.QtCore import pyqtSlot, Qt |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from PyQt4.QtGui import QDialog, QStringListModel, QSortFilterProxyModel, \ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | QInputDialog, QLineEdit |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | from .Ui_E5ErrorMessageFilterDialog import Ui_E5ErrorMessageFilterDialog |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | class E5ErrorMessageFilterDialog(QDialog, Ui_E5ErrorMessageFilterDialog): |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | Class implementing a dialog to manage the list of messages to be ignored. |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | def __init__(self, messageFilters, parent=None): |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | Constructor |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | @param messageFilters list of message filters to be edited (list of strings) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | @param parent reference to the parent widget (QWidget) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
2791
a9577f248f04
Merge with default branch.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2697
diff
changeset
|
30 | super(E5ErrorMessageFilterDialog, self).__init__(parent) |
2697
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | self.setupUi(self) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.__model = QStringListModel(messageFilters, self) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | self.__model.sort(0) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | self.__proxyModel = QSortFilterProxyModel(self) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.__proxyModel.setFilterCaseSensitivity(Qt.CaseInsensitive) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | self.__proxyModel.setSourceModel(self.__model) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.filterList.setModel(self.__proxyModel) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.removeButton.clicked[()].connect(self.filterList.removeSelected) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | self.removeAllButton.clicked[()].connect(self.filterList.removeAll) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @pyqtSlot() |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | def on_addButton_clicked(self): |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | Private slot to add an entry to the list. |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | filter, ok = QInputDialog.getText( |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self, |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.trUtf8("Error Messages Filter"), |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.trUtf8("Enter message filter to add to the list:"), |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | QLineEdit.Normal) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | if ok and filter != "" and filter not in self.__model.stringList(): |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.__model.insertRow(self.__model.rowCount()) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.__model.setData( |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.__model.index(self.__model.rowCount() - 1), filter) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | self.__model.sort(0) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | def getFilters(self): |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | Public method to get the list of message filters. |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | @return error message filters (list of strings) |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """ |
1cd7fa670b05
Added a dialog to edit the list of unwanted error messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | return self.__model.stringList()[:] |