eric7/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py

branch
eric7
changeset 8322
b422b4e77d19
parent 8318
962bce857696
child 8356
68ec9c3d4de5
--- a/eric7/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py	Mon May 17 19:58:15 2021 +0200
+++ b/eric7/Plugins/WizardPlugins/FileDialogWizard/FileDialogWizardDialog.py	Tue May 18 18:19:47 2021 +0200
@@ -44,6 +44,8 @@
         self.eStartWithCompleter = E5FileCompleter(self.eStartWith)
         self.eWorkDirCompleter = E5DirCompleter(self.eWorkDir)
         
+        self.__dialogVariant = dialogVariant
+        
         self.__typeButtonsGroup = QButtonGroup(self)
         self.__typeButtonsGroup.setExclusive(True)
         self.__typeButtonsGroup.addButton(self.rOpenFile, 1)
@@ -57,11 +59,10 @@
         self.__typeButtonsGroup.addButton(self.rSaveFileUrl, 23)
         self.__typeButtonsGroup.addButton(self.rDirectory, 30)
         self.__typeButtonsGroup.addButton(self.rDirectoryUrl, 31)
-        self.__typeButtonsGroup.buttonClicked[int].connect(
+        self.__typeButtonsGroup.idClicked.connect(
             self.__toggleInitialFilterAndResult)
         self.__toggleInitialFilterAndResult(1)
         
-        self.__dialogVariant = dialogVariant
         if self.__dialogVariant == -1:
             self.pyqtComboBox.addItems(["eric"])
             self.setWindowTitle(self.tr("E5FileDialog Wizard"))
@@ -96,8 +97,8 @@
         """
         Private method to adjust the file dialog options.
         
-        @param options file dialog options (QFileDialog.Options)
-        @return modified options (QFileDialog.Options)
+        @param options file dialog options (QFileDialog.Option)
+        @return modified options (QFileDialog.Option)
         """
         if Globals.isLinuxPlatform():
             options |= QFileDialog.Option.DontUseNativeDialog
@@ -167,10 +168,9 @@
         """
         if self.rOpenFile.isChecked() or self.rfOpenFile.isChecked():
             if not self.cSymlinks.isChecked():
-                options = QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options = QFileDialog.Option.DontResolveSymlinks
             else:
-                options = QFileDialog.Options()
+                options = QFileDialog.Option(0)
             options = self.__adjustOptions(options)
             QFileDialog.getOpenFileName(
                 None,
@@ -181,36 +181,23 @@
                 options)
         elif self.rOpenFileUrl.isChecked():
             if not self.cSymlinks.isChecked():
-                options = QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options = QFileDialog.Option.DontResolveSymlinks
             else:
-                options = QFileDialog.Options()
+                options = QFileDialog.Option(0)
             options = self.__adjustOptions(options)
-            try:
-                QFileDialog.getOpenFileUrl(
-                    None,
-                    self.eCaption.text(),
-                    QUrl(self.eStartWith.text()),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options,
-                    self.schemesEdit.text().split())
-            except TypeError:
-                # PyQt5 < 5.13.0 contains an error
-                QFileDialog.getOpenFileUrl(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options,
-                    self.schemesEdit.text().split())
+            QFileDialog.getOpenFileUrl(
+                None,
+                self.eCaption.text(),
+                QUrl(self.eStartWith.text()),
+                self.eFilters.text(),
+                self.eInitialFilter.text(),
+                options,
+                self.schemesEdit.text().split())
         elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked():
             if not self.cSymlinks.isChecked():
-                options = QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options = QFileDialog.Option.DontResolveSymlinks
             else:
-                options = QFileDialog.Options()
+                options = QFileDialog.Option(0)
             options = self.__adjustOptions(options)
             QFileDialog.getOpenFileNames(
                 None,
@@ -221,36 +208,23 @@
                 options)
         elif self.rOpenFileUrls.isChecked():
             if not self.cSymlinks.isChecked():
-                options = QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options = QFileDialog.Option.DontResolveSymlinks
             else:
-                options = QFileDialog.Options()
+                options = QFileDialog.Option(0)
             options = self.__adjustOptions(options)
-            try:
-                QFileDialog.getOpenFileUrls(
-                    None,
-                    self.eCaption.text(),
-                    QUrl(self.eStartWith.text()),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options,
-                    self.schemesEdit.text().split())
-            except TypeError:
-                # PyQt5 < 5.13.0 contains an error
-                QFileDialog.getOpenFileUrls(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options,
-                    self.schemesEdit.text().split())
+            QFileDialog.getOpenFileUrls(
+                None,
+                self.eCaption.text(),
+                QUrl(self.eStartWith.text()),
+                self.eFilters.text(),
+                self.eInitialFilter.text(),
+                options,
+                self.schemesEdit.text().split())
         elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked():
             if not self.cSymlinks.isChecked():
-                options = QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options = QFileDialog.Option.DontResolveSymlinks
             else:
-                options = QFileDialog.Options()
+                options = QFileDialog.Option(0)
             options = self.__adjustOptions(options)
             QFileDialog.getSaveFileName(
                 None,
@@ -261,39 +235,26 @@
                 options)
         elif self.rSaveFileUrl.isChecked():
             if not self.cSymlinks.isChecked():
-                options = QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options = QFileDialog.Option.DontResolveSymlinks
             else:
-                options = QFileDialog.Options()
+                options = QFileDialog.Option(0)
             options = self.__adjustOptions(options)
-            try:
-                QFileDialog.getSaveFileUrl(
-                    None,
-                    self.eCaption.text(),
-                    QUrl(self.eStartWith.text()),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options,
-                    self.schemesEdit.text().split())
-            except TypeError:
-                # PyQt5 < 5.13.0 contains an error
-                QFileDialog.getSaveFileUrl(
-                    None,
-                    self.eCaption.text(),
-                    self.eStartWith.text(),
-                    self.eFilters.text(),
-                    self.eInitialFilter.text(),
-                    options,
-                    self.schemesEdit.text().split())
+            QFileDialog.getSaveFileUrl(
+                None,
+                self.eCaption.text(),
+                QUrl(self.eStartWith.text()),
+                self.eFilters.text(),
+                self.eInitialFilter.text(),
+                options,
+                self.schemesEdit.text().split())
         elif self.rDirectory.isChecked():
-            options = QFileDialog.Options()
+            options = QFileDialog.Option(0)
             if not self.cSymlinks.isChecked():
-                options |= QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options |= QFileDialog.Option.DontResolveSymlinks
             if self.cDirOnly.isChecked():
-                options |= QFileDialog.Options(QFileDialog.Option.ShowDirsOnly)
+                options |= QFileDialog.Option.ShowDirsOnly
             else:
-                options |= QFileDialog.Options(QFileDialog.Option(0))
+                options |= QFileDialog.Option(0)
             options = self.__adjustOptions(options)
             QFileDialog.getExistingDirectory(
                 None,
@@ -301,14 +262,13 @@
                 self.eWorkDir.text(),
                 options)
         elif self.rDirectoryUrl.isChecked():
-            options = QFileDialog.Options()
+            options = QFileDialog.Option(0)
             if not self.cSymlinks.isChecked():
-                options |= QFileDialog.Options(
-                    QFileDialog.Option.DontResolveSymlinks)
+                options |= QFileDialog.Option.DontResolveSymlinks
             if self.cDirOnly.isChecked():
-                options |= QFileDialog.Options(QFileDialog.Option.ShowDirsOnly)
+                options |= QFileDialog.Option.ShowDirsOnly
             else:
-                options |= QFileDialog.Options(QFileDialog.Option(0))
+                options |= QFileDialog.Option(0)
             options = self.__adjustOptions(options)
             try:
                 QFileDialog.getExistingDirectoryUrl(
@@ -489,7 +449,7 @@
                 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter)
             if not self.cSymlinks.isChecked():
                 code += (
-                    ',{0}{1}{2}.Options({2}{3}.DontResolveSymlinks)'
+                    ',{0}{1}{2}{3}.DontResolveSymlinks'
                     .format(os.linesep, istring, dialogType, optionStr)
                 )
             if self.rOpenFileUrl.isChecked() and bool(self.schemesEdit.text()):
@@ -554,7 +514,7 @@
                 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter)
             if not self.cSymlinks.isChecked():
                 code += (
-                    ',{0}{1}{2}.Options({2}{3}.DontResolveSymlinks)'
+                    ',{0}{1}{2}{3}.DontResolveSymlinks'
                     .format(os.linesep, istring, dialogType, optionStr)
                 )
             if (
@@ -624,8 +584,7 @@
                 (not self.cSymlinks.isChecked()) or
                 (not self.cConfirmOverwrite.isChecked())
             ):
-                code += ',{0}{1}{2}.Options('.format(
-                    os.linesep, istring, dialogType)
+                code += ',{0}{1}'.format(os.linesep, istring)
                 if not self.cSymlinks.isChecked():
                     code += '{0}{1}.DontResolveSymlinks'.format(
                         dialogType, optionStr)
@@ -637,7 +596,6 @@
                 if not self.cConfirmOverwrite.isChecked():
                     code += '{0}{1}.DontConfirmOverwrite'.format(
                         dialogType, optionStr)
-                code += ')'
             if (
                 self.rSaveFileUrl.isChecked() and
                 bool(self.schemesEdit.text())
@@ -677,17 +635,24 @@
                     else:
                         fmt = '"{0}"'
                     code += fmt.format(self.eWorkDir.text())
-            code += ',{0}{1}{2}.Options('.format(os.linesep, istring,
-                                                 dialogType)
-            if not self.cSymlinks.isChecked():
-                code += '{0}{1}.DontResolveSymlinks | '.format(
-                    dialogType, optionStr)
-            if self.cDirOnly.isChecked():
-                code += '{0}{1}.ShowDirsOnly'.format(
-                    dialogType, optionStr)
+            code += ',{0}{1}'.format(os.linesep, istring)
+            if (
+                (not self.cSymlinks.isChecked()) or
+                self.cDirOnly.isChecked()
+            ):
+                if not self.cSymlinks.isChecked():
+                    code += '{0}{1}.DontResolveSymlinks'.format(
+                        dialogType, optionStr)
+                if (
+                    (not self.cSymlinks.isChecked()) and
+                    self.cDirOnly.isChecked()
+                ):
+                    code += ' | '
+                if self.cDirOnly.isChecked():
+                    code += '{0}{1}.ShowDirsOnly'.format(
+                        dialogType, optionStr)
             else:
                 code += '{0}.Option(0)'.format(dialogType)
-            code += ')'
             if self.rDirectoryUrl.isChecked():
                 code += ',{0}{1}{2}'.format(
                     os.linesep, istring, self.__prepareSchemesList())

eric ide

mercurial