Fixed a serious bug in the QFileDialog wizard causing the Test function to raise a traceback. 6_0_x

Sun, 15 Mar 2015 18:55:40 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 15 Mar 2015 18:55:40 +0100
branch
6_0_x
changeset 4181
f9e3b6472b44
parent 4179
140c36248846
child 4185
07030b761baf

Fixed a serious bug in the QFileDialog wizard causing the Test function to raise a traceback.
(grafted from 50fa3b7454e220e2cd9d06cd1aacfe9ff23bf6a6)

Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py file | annotate | diff | comparison | revisions
--- a/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py	Sat Mar 14 19:28:18 2015 +0100
+++ b/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py	Sun Mar 15 18:55:40 2015 +0100
@@ -58,6 +58,7 @@
         self.__toggleInitialFilterAndResult(1)
         
         self.pyqtComboBox.addItems(["PyQt4", "PyQt5"])
+        self.__pyqtVariant = pyqtVariant
         if self.__pyqtVariant == 5:
             self.pyqtComboBox.setCurrentIndex(1)
         else:
@@ -94,9 +95,9 @@
         
         @param txt text of the selected combo box entry (string)
         """
-        self.rfOpenFile.setEnabled(txt == "PyQt5")
-        self.rfOpenFiles.setEnabled(txt == "PyQt5")
-        self.rfSaveFile.setEnabled(txt == "PyQt5")
+        self.rfOpenFile.setEnabled(txt == "PyQt4")
+        self.rfOpenFiles.setEnabled(txt == "PyQt4")
+        self.rfSaveFile.setEnabled(txt == "PyQt4")
         
         if txt == "PyQt5":
             if self.rfOpenFile.isChecked():
@@ -132,20 +133,38 @@
                 options = QFileDialog.Options()
             options = self.__adjustOptions(options)
             if self.rOpenFile.isChecked() and self.__pyqtVariant == 4:
-                QFileDialog.getOpenFileName(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    options)
+                try:
+                    QFileDialog.getOpenFileName(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        options)
+                except TypeError:
+                    QFileDialog.getOpenFileName(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
             else:
-                QFileDialog.getOpenFileNameAndFilter(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options)
+                try:
+                    QFileDialog.getOpenFileNameAndFilter(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
+                except AttributeError:
+                    QFileDialog.getOpenFileName(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
         elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked():
             if not self.cSymlinks.isChecked():
                 options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
@@ -153,20 +172,38 @@
                 options = QFileDialog.Options()
             options = self.__adjustOptions(options)
             if self.rOpenFiles.isChecked() and self.__pyqtVariant == 4:
-                QFileDialog.getOpenFileNames(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    options)
+                try:
+                    QFileDialog.getOpenFileNames(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        options)
+                except TypeError:
+                    QFileDialog.getOpenFileNames(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
             else:
-                QFileDialog.getOpenFileNamesAndFilter(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options)
+                try:
+                    QFileDialog.getOpenFileNamesAndFilter(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
+                except AttributeError:
+                    QFileDialog.getOpenFileNames(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
         elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked():
             if not self.cSymlinks.isChecked():
                 options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
@@ -174,20 +211,38 @@
                 options = QFileDialog.Options()
             options = self.__adjustOptions(options)
             if self.rSaveFile.isChecked() and self.__pyqtVariant == 4:
-                QFileDialog.getSaveFileName(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    options)
+                try:
+                    QFileDialog.getSaveFileName(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        options)
+                except TypeError:
+                    QFileDialog.getSaveFileName(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
             else:
-                QFileDialog.getSaveFileNameAndFilter(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options)
+                try:
+                    QFileDialog.getSaveFileNameAndFilter(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
+                except AttributeError:
+                    QFileDialog.getSaveFileName(
+                        None,
+                        self.eCaption.text(),
+                        self.eStartWith.text(),
+                        self.eFilters.text(),
+                        self.eInitialFilter.text(),
+                        options)
         elif self.rDirectory.isChecked():
             options = QFileDialog.Options()
             if not self.cSymlinks.isChecked():

eric ide

mercurial