Plugins/VcsPlugins/vcsMercurial/HgArchiveDialog.py

changeset 2821
459cc954bea8
parent 2820
642c1f3c23c8
child 2847
1843ef6e2656
child 2962
d6c9d1ca2da4
diff -r 642c1f3c23c8 -r 459cc954bea8 Plugins/VcsPlugins/vcsMercurial/HgArchiveDialog.py
--- a/Plugins/VcsPlugins/vcsMercurial/HgArchiveDialog.py	Wed Jul 24 19:58:04 2013 +0200
+++ b/Plugins/VcsPlugins/vcsMercurial/HgArchiveDialog.py	Thu Jul 25 19:05:41 2013 +0200
@@ -36,6 +36,7 @@
         self.__archiveDirCompleter = E5DirCompleter()
         self.__activeCompleter = self.__archiveFileCompleter
         self.archiveEdit.setCompleter(self.__activeCompleter)
+        self.__activeCompleter.model().setNameFilters([])
         
         self.typeComboBox.addItem(self.trUtf8("Detect Automatically"), "")
         self.typeComboBox.addItem(self.trUtf8("Directory of Files"), "files")
@@ -62,6 +63,14 @@
                 self.__unixFileFilters + self.__windowsFileFilters)
         self.__fileFilters += ";;" + self.trUtf8("All Files (*)")
         
+        self.__typeFilters = {
+            "tar": ["*.tar"],
+            "tbz2": ["*.tar.bz2", "*.tbz2"],
+            "tgz": ["*.tar.gz", "*.tgz"],
+            "uzip": ["*.uzip", "*.zip"],
+            "zip": ["*.zip"],
+        }
+        
         self.subReposCheckBox.setEnabled(vcs.hasSubrepositories())
         
         self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(False)
@@ -124,10 +133,13 @@
                 self.__activeCompleter = self.__archiveDirCompleter
                 self.archiveEdit.setCompleter(self.__activeCompleter)
         else:
-            # TODO: add name filter to completer based upon selected type
             if self.__activeCompleter != self.__archiveFileCompleter:
                 self.__activeCompleter = self.__archiveFileCompleter
                 self.archiveEdit.setCompleter(self.__activeCompleter)
+            if type_ in self.__typeFilters:
+                self.__activeCompleter.model().setNameFilters(self.__typeFilters[type_])
+            else:
+                self.__activeCompleter.model().setNameFilters([])
     
     def getData(self):
         """

eric ide

mercurial