--- a/src/eric7/UI/FindFileFiltersEditDialog.py Wed Jan 10 09:44:42 2024 +0100 +++ b/src/eric7/UI/FindFileFiltersEditDialog.py Wed Jan 10 10:42:39 2024 +0100 @@ -30,7 +30,8 @@ """ Constructor - @param filters dictionary containing the existing file filters + @param filters dictionary with the filter name as key and a list of + file name patterns as value @type dict @param parent reference to the parent widget (defaults to None) @type QWidget (optional) @@ -51,7 +52,7 @@ self.fileFiltersList.clear() for name in sorted(filters): - QTreeWidgetItem(self.fileFiltersList, [name, filters[name]]) + QTreeWidgetItem(self.fileFiltersList, [name, " ".join(filters[name])]) self.__adjustColumns() @@ -76,11 +77,11 @@ """ Private slot to add a new filter entry. """ - filters = self.__getFiltersList() + filters = self.__getFilterNames() dlg = FindFileFilterPropertiesDialog(filters, parent=self) if dlg.exec() == QDialog.DialogCode.Accepted: - name, pattern = dlg.getProperties() - QTreeWidgetItem(self.fileFiltersList, [name, pattern]) + name, patterns = dlg.getProperties() + QTreeWidgetItem(self.fileFiltersList, [name, patterns]) self.__adjustColumns() @pyqtSlot() @@ -88,15 +89,15 @@ """ Private slot to edit the selected filter entry.. """ - filters = self.__getFiltersList(forEdit=True) + filters = self.__getFilterNames(forEdit=True) selectedEntry = self.fileFiltersList.selectedItems()[0] dlg = FindFileFilterPropertiesDialog( filters, properties=(selectedEntry.text(0), selectedEntry.text(1)) ) if dlg.exec() == QDialog.DialogCode.Accepted: - name, pattern = dlg.getProperties() + name, patterns = dlg.getProperties() selectedEntry.setText(0, name) - selectedEntry.setText(1, pattern) + selectedEntry.setText(1, patterns) @pyqtSlot() def on_deleteFileFilterButton_clicked(self): @@ -139,13 +140,13 @@ filters = {} for openFileFilter in openFileFiltersList: - name, pattern = openFileFilter.split(" (", 1) - pattern = ";".join(pattern.strip().rstrip(")").split()) - filters[name.strip()] = pattern + name, pattern = openFileFilter.strip().rstrip(")").split(" (", 1) + patterns = pattern.strip().split() + filters[name.strip()] = patterns self.__populateFilters(filters) - def __getFiltersList(self, forEdit=False): + def __getFilterNames(self, forEdit=False): """ Private method to get the list of defined filter names. @@ -169,12 +170,13 @@ """ Public method to retrieve the edited filter list. - @return dictionary containing the defined file filters + @return dictionary containing the defined file filters with the + filter name as key and a list of file name patterns as value @rtype dict """ filters = {} for row in range(self.fileFiltersList.topLevelItemCount()): itm = self.fileFiltersList.topLevelItem(row) - filters[itm.text(0)] = itm.text(1) + filters[itm.text(0)] = itm.text(1).split() return filters