--- 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())