src/eric7/UI/FindFileFiltersEditDialog.py

branch
eric7
changeset 10494
8db0328580d7
parent 10492
53eac4c7d10b
child 10514
5e6362665247
--- 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

eric ide

mercurial