diff -r e9e7eca7efee -r bf71ee032bb4 src/eric7/Plugins/PluginWizardQFileDialog.py --- a/src/eric7/Plugins/PluginWizardQFileDialog.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/Plugins/PluginWizardQFileDialog.py Wed Jul 13 14:55:47 2022 +0200 @@ -38,27 +38,28 @@ """ Class implementing the QFileDialog wizard plugin. """ + def __init__(self, ui): """ Constructor - + @param ui reference to the user interface object (UI.UserInterface) """ super().__init__(ui) self.__ui = ui - + # PyQt5/PyQt6 self.__pyqtRe = re.compile(r"(?:import|from)\s+PyQt([56])") def activate(self): """ Public method to activate this plugin. - + @return tuple of None and activation status (boolean) """ self.__initActions() self.__initMenu() - + return None, True def deactivate(self): @@ -70,44 +71,54 @@ menu.removeAction(self.qFileDialogAction) menu.removeAction(self.ericFileDialogAction) self.__ui.removeEricActions( - [self.qFileDialogAction, self.ericFileDialogAction], - 'wizards') - + [self.qFileDialogAction, self.ericFileDialogAction], "wizards" + ) + def __initActions(self): """ Private method to initialize the actions. """ self.qFileDialogAction = EricAction( - self.tr('QFileDialog Wizard'), - self.tr('Q&FileDialog Wizard...'), 0, 0, self, - 'wizards_qfiledialog') - self.qFileDialogAction.setStatusTip(self.tr('QFileDialog Wizard')) - self.qFileDialogAction.setWhatsThis(self.tr( - """<b>QFileDialog Wizard</b>""" - """<p>This wizard opens a dialog for entering all the parameters""" - """ needed to create a QFileDialog. The generated code is""" - """ inserted at the current cursor position.</p>""" - )) + self.tr("QFileDialog Wizard"), + self.tr("Q&FileDialog Wizard..."), + 0, + 0, + self, + "wizards_qfiledialog", + ) + self.qFileDialogAction.setStatusTip(self.tr("QFileDialog Wizard")) + self.qFileDialogAction.setWhatsThis( + self.tr( + """<b>QFileDialog Wizard</b>""" + """<p>This wizard opens a dialog for entering all the parameters""" + """ needed to create a QFileDialog. The generated code is""" + """ inserted at the current cursor position.</p>""" + ) + ) self.qFileDialogAction.triggered.connect(self.__handleQFileDialog) - + self.ericFileDialogAction = EricAction( - self.tr('EricFileDialog Wizard'), - self.tr('EricFileDialog Wizard...'), 0, 0, self, - 'wizards_e5filedialog') - self.ericFileDialogAction.setStatusTip(self.tr( - 'EricFileDialog Wizard')) - self.ericFileDialogAction.setWhatsThis(self.tr( - """<b>EricFileDialog Wizard</b>""" - """<p>This wizard opens a dialog for entering all the parameters""" - """ needed to create an EricFileDialog. The generated code is""" - """ inserted at the current cursor position.</p>""" - )) - self.ericFileDialogAction.triggered.connect( - self.__handleEricFileDialog) - + self.tr("EricFileDialog Wizard"), + self.tr("EricFileDialog Wizard..."), + 0, + 0, + self, + "wizards_e5filedialog", + ) + self.ericFileDialogAction.setStatusTip(self.tr("EricFileDialog Wizard")) + self.ericFileDialogAction.setWhatsThis( + self.tr( + """<b>EricFileDialog Wizard</b>""" + """<p>This wizard opens a dialog for entering all the parameters""" + """ needed to create an EricFileDialog. The generated code is""" + """ inserted at the current cursor position.</p>""" + ) + ) + self.ericFileDialogAction.triggered.connect(self.__handleEricFileDialog) + self.__ui.addEricActions( - [self.qFileDialogAction, self.ericFileDialogAction], - 'wizards') + [self.qFileDialogAction, self.ericFileDialogAction], "wizards" + ) def __initMenu(self): """ @@ -117,11 +128,11 @@ if menu: menu.addAction(self.ericFileDialogAction) menu.addAction(self.qFileDialogAction) - + def __callForm(self, editor, variant): """ Private method to display a dialog and get the code. - + @param editor reference to the current editor @type Editor @param variant variant of code to be generated @@ -130,40 +141,42 @@ @return the generated code (string) """ from WizardPlugins.FileDialogWizard.FileDialogWizardDialog import ( - FileDialogWizardDialog + FileDialogWizardDialog, ) + dlg = FileDialogWizardDialog(variant, None) if dlg.exec() == QDialog.DialogCode.Accepted: line, index = editor.getCursorPosition() indLevel = editor.indentation(line) // editor.indentationWidth() if editor.indentationsUseTabs(): - indString = '\t' + indString = "\t" else: - indString = editor.indentationWidth() * ' ' + indString = editor.indentationWidth() * " " return (dlg.getCode(indLevel, indString), 1) else: return (None, 0) - + def __handle(self, variant): """ Private method to handle the wizards action. - + @param variant dialog variant to be generated (EricFileDialog or QFileDialog) @type str @exception ValueError raised to indicate an illegal file dialog variant """ editor = ericApp().getObject("ViewManager").activeWindow() - + if editor is None: EricMessageBox.critical( self.__ui, - self.tr('No current editor'), - self.tr('Please open or create a file first.')) + self.tr("No current editor"), + self.tr("Please open or create a file first."), + ) else: if variant not in ("QFileDialog", "EricFileDialog"): raise ValueError("Illegal dialog variant given") - + if variant == "QFileDialog": match = self.__pyqtRe.search(editor.text()) if match is None: @@ -175,7 +188,7 @@ else: # EricFileDialog dialogVariant = -1 - + code, ok = self.__callForm(editor, dialogVariant) if ok: line, index = editor.getCursorPosition() @@ -183,13 +196,13 @@ editor.beginUndoAction() editor.insertAt(code, line, index) editor.endUndoAction() - + def __handleQFileDialog(self): """ Private slot to handle the wizard QFileDialog action. """ self.__handle("QFileDialog") - + def __handleEricFileDialog(self): """ Private slot to handle the wizard EricFileDialog action.