src/eric7/UI/FindFileFiltersEditDialog.py

branch
eric7
changeset 10494
8db0328580d7
parent 10492
53eac4c7d10b
child 10514
5e6362665247
equal deleted inserted replaced
10493:f795d68d8e09 10494:8db0328580d7
28 28
29 def __init__(self, filters, parent=None): 29 def __init__(self, filters, parent=None):
30 """ 30 """
31 Constructor 31 Constructor
32 32
33 @param filters dictionary containing the existing file filters 33 @param filters dictionary with the filter name as key and a list of
34 file name patterns as value
34 @type dict 35 @type dict
35 @param parent reference to the parent widget (defaults to None) 36 @param parent reference to the parent widget (defaults to None)
36 @type QWidget (optional) 37 @type QWidget (optional)
37 """ 38 """
38 super().__init__(parent) 39 super().__init__(parent)
49 @type dict 50 @type dict
50 """ 51 """
51 self.fileFiltersList.clear() 52 self.fileFiltersList.clear()
52 53
53 for name in sorted(filters): 54 for name in sorted(filters):
54 QTreeWidgetItem(self.fileFiltersList, [name, filters[name]]) 55 QTreeWidgetItem(self.fileFiltersList, [name, " ".join(filters[name])])
55 56
56 self.__adjustColumns() 57 self.__adjustColumns()
57 58
58 def __adjustColumns(self): 59 def __adjustColumns(self):
59 """ 60 """
74 @pyqtSlot() 75 @pyqtSlot()
75 def on_addFileFilterButton_clicked(self): 76 def on_addFileFilterButton_clicked(self):
76 """ 77 """
77 Private slot to add a new filter entry. 78 Private slot to add a new filter entry.
78 """ 79 """
79 filters = self.__getFiltersList() 80 filters = self.__getFilterNames()
80 dlg = FindFileFilterPropertiesDialog(filters, parent=self) 81 dlg = FindFileFilterPropertiesDialog(filters, parent=self)
81 if dlg.exec() == QDialog.DialogCode.Accepted: 82 if dlg.exec() == QDialog.DialogCode.Accepted:
82 name, pattern = dlg.getProperties() 83 name, patterns = dlg.getProperties()
83 QTreeWidgetItem(self.fileFiltersList, [name, pattern]) 84 QTreeWidgetItem(self.fileFiltersList, [name, patterns])
84 self.__adjustColumns() 85 self.__adjustColumns()
85 86
86 @pyqtSlot() 87 @pyqtSlot()
87 def on_editFileFilterButton_clicked(self): 88 def on_editFileFilterButton_clicked(self):
88 """ 89 """
89 Private slot to edit the selected filter entry.. 90 Private slot to edit the selected filter entry..
90 """ 91 """
91 filters = self.__getFiltersList(forEdit=True) 92 filters = self.__getFilterNames(forEdit=True)
92 selectedEntry = self.fileFiltersList.selectedItems()[0] 93 selectedEntry = self.fileFiltersList.selectedItems()[0]
93 dlg = FindFileFilterPropertiesDialog( 94 dlg = FindFileFilterPropertiesDialog(
94 filters, properties=(selectedEntry.text(0), selectedEntry.text(1)) 95 filters, properties=(selectedEntry.text(0), selectedEntry.text(1))
95 ) 96 )
96 if dlg.exec() == QDialog.DialogCode.Accepted: 97 if dlg.exec() == QDialog.DialogCode.Accepted:
97 name, pattern = dlg.getProperties() 98 name, patterns = dlg.getProperties()
98 selectedEntry.setText(0, name) 99 selectedEntry.setText(0, name)
99 selectedEntry.setText(1, pattern) 100 selectedEntry.setText(1, patterns)
100 101
101 @pyqtSlot() 102 @pyqtSlot()
102 def on_deleteFileFilterButton_clicked(self): 103 def on_deleteFileFilterButton_clicked(self):
103 """ 104 """
104 Private slot to delete the selected filter entries. 105 Private slot to delete the selected filter entries.
137 + Preferences.getEditor("AdditionalOpenFilters")[:] 138 + Preferences.getEditor("AdditionalOpenFilters")[:]
138 ) 139 )
139 140
140 filters = {} 141 filters = {}
141 for openFileFilter in openFileFiltersList: 142 for openFileFilter in openFileFiltersList:
142 name, pattern = openFileFilter.split(" (", 1) 143 name, pattern = openFileFilter.strip().rstrip(")").split(" (", 1)
143 pattern = ";".join(pattern.strip().rstrip(")").split()) 144 patterns = pattern.strip().split()
144 filters[name.strip()] = pattern 145 filters[name.strip()] = patterns
145 146
146 self.__populateFilters(filters) 147 self.__populateFilters(filters)
147 148
148 def __getFiltersList(self, forEdit=False): 149 def __getFilterNames(self, forEdit=False):
149 """ 150 """
150 Private method to get the list of defined filter names. 151 Private method to get the list of defined filter names.
151 152
152 @param forEdit flag indicating a list for an edit operation 153 @param forEdit flag indicating a list for an edit operation
153 (defaults to False) 154 (defaults to False)
167 168
168 def getFilters(self): 169 def getFilters(self):
169 """ 170 """
170 Public method to retrieve the edited filter list. 171 Public method to retrieve the edited filter list.
171 172
172 @return dictionary containing the defined file filters 173 @return dictionary containing the defined file filters with the
174 filter name as key and a list of file name patterns as value
173 @rtype dict 175 @rtype dict
174 """ 176 """
175 filters = {} 177 filters = {}
176 for row in range(self.fileFiltersList.topLevelItemCount()): 178 for row in range(self.fileFiltersList.topLevelItemCount()):
177 itm = self.fileFiltersList.topLevelItem(row) 179 itm = self.fileFiltersList.topLevelItem(row)
178 filters[itm.text(0)] = itm.text(1) 180 filters[itm.text(0)] = itm.text(1).split()
179 181
180 return filters 182 return filters

eric ide

mercurial