src/eric7/Tasks/TaskFilterConfigDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
16 16
17 class TaskFilterConfigDialog(QDialog, Ui_TaskFilterConfigDialog): 17 class TaskFilterConfigDialog(QDialog, Ui_TaskFilterConfigDialog):
18 """ 18 """
19 Class implementing the task filter configuration dialog. 19 Class implementing the task filter configuration dialog.
20 """ 20 """
21
21 def __init__(self, taskFilter, parent=None): 22 def __init__(self, taskFilter, parent=None):
22 """ 23 """
23 Constructor 24 Constructor
24 25
25 @param taskFilter the task filter object to be configured 26 @param taskFilter the task filter object to be configured
26 @param parent the parent widget (QWidget) 27 @param parent the parent widget (QWidget)
27 """ 28 """
28 super().__init__(parent) 29 super().__init__(parent)
29 self.setupUi(self) 30 self.setupUi(self)
30 31
31 self.typeCombo.addItem("", TaskType.NONE) 32 self.typeCombo.addItem("", TaskType.NONE)
32 self.typeCombo.addItem(self.tr("Bugfix"), TaskType.FIXME) 33 self.typeCombo.addItem(self.tr("Bugfix"), TaskType.FIXME)
33 self.typeCombo.addItem(self.tr("Warning"), TaskType.WARNING) 34 self.typeCombo.addItem(self.tr("Warning"), TaskType.WARNING)
34 self.typeCombo.addItem(self.tr("ToDo"), TaskType.TODO) 35 self.typeCombo.addItem(self.tr("ToDo"), TaskType.TODO)
35 self.typeCombo.addItem(self.tr("Note"), TaskType.NOTE) 36 self.typeCombo.addItem(self.tr("Note"), TaskType.NOTE)
36 self.typeCombo.addItem(self.tr("Test"), TaskType.TEST) 37 self.typeCombo.addItem(self.tr("Test"), TaskType.TEST)
37 self.typeCombo.addItem(self.tr("Documentation"), TaskType.DOCU) 38 self.typeCombo.addItem(self.tr("Documentation"), TaskType.DOCU)
38 39
39 if ( 40 if taskFilter.summaryFilter is None or not taskFilter.summaryFilter.pattern:
40 taskFilter.summaryFilter is None or
41 not taskFilter.summaryFilter.pattern
42 ):
43 self.summaryGroup.setChecked(False) 41 self.summaryGroup.setChecked(False)
44 self.summaryEdit.clear() 42 self.summaryEdit.clear()
45 else: 43 else:
46 self.summaryGroup.setChecked(True) 44 self.summaryGroup.setChecked(True)
47 self.summaryEdit.setText(taskFilter.summaryFilter.pattern) 45 self.summaryEdit.setText(taskFilter.summaryFilter.pattern)
48 46
49 if not taskFilter.filenameFilter: 47 if not taskFilter.filenameFilter:
50 self.filenameGroup.setChecked(False) 48 self.filenameGroup.setChecked(False)
51 self.filenameEdit.clear() 49 self.filenameEdit.clear()
52 else: 50 else:
53 self.filenameGroup.setChecked(True) 51 self.filenameGroup.setChecked(True)
54 self.filenameEdit.setText(taskFilter.filenameFilter) 52 self.filenameEdit.setText(taskFilter.filenameFilter)
55 53
56 if taskFilter.typeFilter == TaskType.NONE: 54 if taskFilter.typeFilter == TaskType.NONE:
57 self.typeGroup.setChecked(False) 55 self.typeGroup.setChecked(False)
58 self.typeCombo.setCurrentIndex(0) 56 self.typeCombo.setCurrentIndex(0)
59 else: 57 else:
60 self.typeGroup.setChecked(True) 58 self.typeGroup.setChecked(True)
61 self.typeCombo.setCurrentIndex( 59 self.typeCombo.setCurrentIndex(
62 self.typeCombo.findData(taskFilter.typeFilter)) 60 self.typeCombo.findData(taskFilter.typeFilter)
63 61 )
62
64 if taskFilter.scopeFilter is None: 63 if taskFilter.scopeFilter is None:
65 self.scopeGroup.setChecked(False) 64 self.scopeGroup.setChecked(False)
66 self.globalRadioButton.setChecked(True) 65 self.globalRadioButton.setChecked(True)
67 else: 66 else:
68 self.scopeGroup.setChecked(True) 67 self.scopeGroup.setChecked(True)
69 if taskFilter.scopeFilter: 68 if taskFilter.scopeFilter:
70 self.projectRadioButton.setChecked(True) 69 self.projectRadioButton.setChecked(True)
71 else: 70 else:
72 self.globalRadioButton.setChecked(True) 71 self.globalRadioButton.setChecked(True)
73 72
74 if taskFilter.statusFilter is None: 73 if taskFilter.statusFilter is None:
75 self.statusGroup.setChecked(False) 74 self.statusGroup.setChecked(False)
76 self.uncompletedRadioButton.setChecked(True) 75 self.uncompletedRadioButton.setChecked(True)
77 else: 76 else:
78 self.statusGroup.setChecked(True) 77 self.statusGroup.setChecked(True)
79 if taskFilter.statusFilter: 78 if taskFilter.statusFilter:
80 self.completedRadioButton.setChecked(True) 79 self.completedRadioButton.setChecked(True)
81 else: 80 else:
82 self.uncompletedRadioButton.setChecked(True) 81 self.uncompletedRadioButton.setChecked(True)
83 82
84 if taskFilter.prioritiesFilter is None: 83 if taskFilter.prioritiesFilter is None:
85 self.priorityGroup.setChecked(False) 84 self.priorityGroup.setChecked(False)
86 self.priorityHighCheckBox.setChecked(False) 85 self.priorityHighCheckBox.setChecked(False)
87 self.priorityNormalCheckBox.setChecked(False) 86 self.priorityNormalCheckBox.setChecked(False)
88 self.priorityLowCheckBox.setChecked(False) 87 self.priorityLowCheckBox.setChecked(False)
89 else: 88 else:
90 self.priorityGroup.setChecked(True) 89 self.priorityGroup.setChecked(True)
91 self.priorityHighCheckBox.setChecked( 90 self.priorityHighCheckBox.setChecked(
92 TaskPriority.HIGH in taskFilter.prioritiesFilter) 91 TaskPriority.HIGH in taskFilter.prioritiesFilter
92 )
93 self.priorityNormalCheckBox.setChecked( 93 self.priorityNormalCheckBox.setChecked(
94 TaskPriority.NORMAL in taskFilter.prioritiesFilter) 94 TaskPriority.NORMAL in taskFilter.prioritiesFilter
95 )
95 self.priorityLowCheckBox.setChecked( 96 self.priorityLowCheckBox.setChecked(
96 TaskPriority.LOW in taskFilter.prioritiesFilter) 97 TaskPriority.LOW in taskFilter.prioritiesFilter
97 98 )
99
98 msh = self.minimumSizeHint() 100 msh = self.minimumSizeHint()
99 self.resize(max(self.width(), msh.width()), msh.height()) 101 self.resize(max(self.width(), msh.width()), msh.height())
100 102
101 def configureTaskFilter(self, taskFilter): 103 def configureTaskFilter(self, taskFilter):
102 """ 104 """
103 Public method to set the parameters of the task filter object. 105 Public method to set the parameters of the task filter object.
104 106
105 @param taskFilter the task filter object to be configured 107 @param taskFilter the task filter object to be configured
106 """ 108 """
107 if self.summaryGroup.isChecked(): 109 if self.summaryGroup.isChecked():
108 taskFilter.setSummaryFilter(self.summaryEdit.text()) 110 taskFilter.setSummaryFilter(self.summaryEdit.text())
109 else: 111 else:
110 taskFilter.setSummaryFilter(None) 112 taskFilter.setSummaryFilter(None)
111 113
112 if self.filenameGroup.isChecked(): 114 if self.filenameGroup.isChecked():
113 taskFilter.setFileNameFilter(self.filenameEdit.text()) 115 taskFilter.setFileNameFilter(self.filenameEdit.text())
114 else: 116 else:
115 taskFilter.setFileNameFilter("") 117 taskFilter.setFileNameFilter("")
116 118
117 if self.typeGroup.isChecked(): 119 if self.typeGroup.isChecked():
118 taskFilter.setTypeFilter( 120 taskFilter.setTypeFilter(
119 TaskType( 121 TaskType(self.typeCombo.itemData(self.typeCombo.currentIndex()))
120 self.typeCombo.itemData(self.typeCombo.currentIndex())
121 )
122 ) 122 )
123 else: 123 else:
124 taskFilter.setTypeFilter(TaskType.NONE) 124 taskFilter.setTypeFilter(TaskType.NONE)
125 125
126 if self.scopeGroup.isChecked(): 126 if self.scopeGroup.isChecked():
127 if self.projectRadioButton.isChecked(): 127 if self.projectRadioButton.isChecked():
128 taskFilter.setScopeFilter(True) 128 taskFilter.setScopeFilter(True)
129 else: 129 else:
130 taskFilter.setScopeFilter(False) 130 taskFilter.setScopeFilter(False)
131 else: 131 else:
132 taskFilter.setScopeFilter(None) 132 taskFilter.setScopeFilter(None)
133 133
134 if self.statusGroup.isChecked(): 134 if self.statusGroup.isChecked():
135 if self.completedRadioButton.isChecked(): 135 if self.completedRadioButton.isChecked():
136 taskFilter.setStatusFilter(True) 136 taskFilter.setStatusFilter(True)
137 else: 137 else:
138 taskFilter.setStatusFilter(False) 138 taskFilter.setStatusFilter(False)
139 else: 139 else:
140 taskFilter.setStatusFilter(None) 140 taskFilter.setStatusFilter(None)
141 141
142 if self.priorityGroup.isChecked(): 142 if self.priorityGroup.isChecked():
143 priorities = [] 143 priorities = []
144 if self.priorityHighCheckBox.isChecked(): 144 if self.priorityHighCheckBox.isChecked():
145 priorities.append(TaskPriority.HIGH) 145 priorities.append(TaskPriority.HIGH)
146 if self.priorityNormalCheckBox.isChecked(): 146 if self.priorityNormalCheckBox.isChecked():

eric ide

mercurial