--- a/eric6/UI/UserInterface.py Sat Mar 06 10:00:52 2021 +0100 +++ b/eric6/UI/UserInterface.py Sun Mar 28 15:00:11 2021 +0200 @@ -265,11 +265,11 @@ # Generate the debug server object from Debugger.DebugServer import DebugServer debugServer = DebugServer(self.__originalPathString, - project=self.project) + project=self.project, parent=self) # Create the background service object from Utilities.BackgroundService import BackgroundService - self.backgroundService = BackgroundService() + self.backgroundService = BackgroundService(self) splash.showMessage(self.tr("Initializing Plugin Manager...")) @@ -771,12 +771,12 @@ layout.addWidget(self.viewmanager.searchWidget()) layout.addWidget(self.viewmanager.replaceWidget()) self.viewmanager.mainWidget().setSizePolicy( - QSizePolicy.Preferred, QSizePolicy.Expanding) + QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) leftWidget.setLayout(layout) self.viewmanager.searchWidget().hide() self.viewmanager.replaceWidget().hide() - splitter = QSplitter(Qt.Horizontal) + splitter = QSplitter(Qt.Orientation.Horizontal) splitter.addWidget(leftWidget) self.setCentralWidget(splitter) @@ -826,21 +826,26 @@ # Create the left toolbox self.lToolboxDock = self.__createDockWindow("lToolboxDock") self.lToolbox = E5VerticalToolBox(self.lToolboxDock) - self.__setupDockWindow(self.lToolboxDock, Qt.LeftDockWidgetArea, - self.lToolbox, self.tr("Left Toolbox")) + self.__setupDockWindow(self.lToolboxDock, + Qt.DockWidgetArea.LeftDockWidgetArea, + self.lToolbox, + self.tr("Left Toolbox")) # Create the horizontal toolbox self.hToolboxDock = self.__createDockWindow("hToolboxDock") self.hToolbox = E5HorizontalToolBox(self.hToolboxDock) - self.__setupDockWindow(self.hToolboxDock, Qt.BottomDockWidgetArea, + self.__setupDockWindow(self.hToolboxDock, + Qt.DockWidgetArea.BottomDockWidgetArea, self.hToolbox, self.tr("Horizontal Toolbox")) # Create the right toolbox self.rToolboxDock = self.__createDockWindow("rToolboxDock") self.rToolbox = E5VerticalToolBox(self.rToolboxDock) - self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea, - self.rToolbox, self.tr("Right Toolbox")) + self.__setupDockWindow(self.rToolboxDock, + Qt.DockWidgetArea.RightDockWidgetArea, + self.rToolbox, + self.tr("Right Toolbox")) #################################################### ## Populate the left toolbox @@ -1215,9 +1220,9 @@ # create the central widget logging.debug("Creating central widget...") cw = self.centralWidget() # save the current central widget - self.leftSplitter = QSplitter(Qt.Horizontal) - self.rightSplitter = QSplitter(Qt.Horizontal) - self.verticalSplitter = QSplitter(Qt.Vertical) + self.leftSplitter = QSplitter(Qt.Orientation.Horizontal) + self.rightSplitter = QSplitter(Qt.Orientation.Horizontal) + self.verticalSplitter = QSplitter(Qt.Orientation.Vertical) self.verticalSplitter.addWidget(cw) self.verticalSplitter.addWidget(self.bottomSidebar) self.rightSplitter.addWidget(self.verticalSplitter) @@ -1560,7 +1565,12 @@ dock = QDockWidget() dock.setObjectName(name) dock.setFeatures( - QDockWidget.DockWidgetFeatures(QDockWidget.AllDockWidgetFeatures)) + QDockWidget.DockWidgetFeatures( + QDockWidget.DockWidgetFeature.DockWidgetClosable | + QDockWidget.DockWidgetFeature.DockWidgetMovable | + QDockWidget.DockWidgetFeature.DockWidgetFloatable + ) + ) return dock def __setupDockWindow(self, dock, where, widget, caption): @@ -1642,7 +1652,7 @@ """ and the preferences will be written to disc.</p>""" )) self.exitAct.triggered.connect(self.__quit) - self.exitAct.setMenuRole(QAction.QuitRole) + self.exitAct.setMenuRole(QAction.MenuRole.QuitRole) self.actions.append(self.exitAct) self.restartAct = E5Action( @@ -2526,7 +2536,7 @@ """ with your prefered values.</p>""" )) self.prefAct.triggered.connect(self.showPreferences) - self.prefAct.setMenuRole(QAction.PreferencesRole) + self.prefAct.setMenuRole(QAction.MenuRole.PreferencesRole) self.actions.append(self.prefAct) self.prefExportAct = E5Action( @@ -3455,8 +3465,8 @@ self.addToolBar(multiprojecttb) self.addToolBar(projecttb) self.addToolBar(vcstb) - self.addToolBar(Qt.RightToolBarArea, settingstb) - self.addToolBar(Qt.RightToolBarArea, toolstb) + self.addToolBar(Qt.ToolBarArea.RightToolBarArea, settingstb) + self.addToolBar(Qt.ToolBarArea.RightToolBarArea, toolstb) self.addToolBar(helptb) self.addToolBar(bookmarktb) self.addToolBar(spellingtb) @@ -4499,14 +4509,14 @@ if self.__layoutType == "Toolboxes": # set the corner usages - self.setCorner(Qt.TopLeftCorner, - Qt.LeftDockWidgetArea) - self.setCorner(Qt.BottomLeftCorner, - Qt.LeftDockWidgetArea) - self.setCorner(Qt.TopRightCorner, - Qt.RightDockWidgetArea) - self.setCorner(Qt.BottomRightCorner, - Qt.RightDockWidgetArea) + self.setCorner(Qt.Corner.TopLeftCorner, + Qt.DockWidgetArea.LeftDockWidgetArea) + self.setCorner(Qt.Corner.BottomLeftCorner, + Qt.DockWidgetArea.LeftDockWidgetArea) + self.setCorner(Qt.Corner.TopRightCorner, + Qt.DockWidgetArea.RightDockWidgetArea) + self.setCorner(Qt.Corner.BottomRightCorner, + Qt.DockWidgetArea.RightDockWidgetArea) # step 3: activate the windows of the new profile if self.__layoutType == "Toolboxes": @@ -4618,7 +4628,7 @@ self.leftSidebar.show() self.leftSidebar.setCurrentWidget(self.projectBrowser) self.projectBrowser.currentWidget().setFocus( - Qt.ActiveWindowFocusReason) + Qt.FocusReason.ActiveWindowFocusReason) def __activateMultiProjectBrowser(self): """ @@ -4630,7 +4640,8 @@ elif self.__layoutType == "Sidebars": self.leftSidebar.show() self.leftSidebar.setCurrentWidget(self.multiProjectBrowser) - self.multiProjectBrowser.setFocus(Qt.ActiveWindowFocusReason) + self.multiProjectBrowser.setFocus( + Qt.FocusReason.ActiveWindowFocusReason) def activateDebugViewer(self): """ @@ -4642,7 +4653,8 @@ elif self.__layoutType == "Sidebars": self.rightSidebar.show() self.rightSidebar.setCurrentWidget(self.debugViewer) - self.debugViewer.currentWidget().setFocus(Qt.ActiveWindowFocusReason) + self.debugViewer.currentWidget().setFocus( + Qt.FocusReason.ActiveWindowFocusReason) def __activateShell(self): """ @@ -4654,7 +4666,7 @@ elif self.__layoutType == "Sidebars": self.__shellParent.show() self.__shellParent.setCurrentWidget(self.shellAssembly) - self.shell.setFocus(Qt.ActiveWindowFocusReason) + self.shell.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateLogViewer(self): """ @@ -4666,7 +4678,7 @@ elif self.__layoutType == "Sidebars": self.bottomSidebar.show() self.bottomSidebar.setCurrentWidget(self.logViewer) - self.logViewer.setFocus(Qt.ActiveWindowFocusReason) + self.logViewer.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateTaskViewer(self): """ @@ -4678,7 +4690,7 @@ elif self.__layoutType == "Sidebars": self.bottomSidebar.show() self.bottomSidebar.setCurrentWidget(self.taskViewer) - self.taskViewer.setFocus(Qt.ActiveWindowFocusReason) + self.taskViewer.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateTemplateViewer(self): """ @@ -4691,7 +4703,8 @@ elif self.__layoutType == "Sidebars": self.leftSidebar.show() self.leftSidebar.setCurrentWidget(self.templateViewer) - self.templateViewer.setFocus(Qt.ActiveWindowFocusReason) + self.templateViewer.setFocus( + Qt.FocusReason.ActiveWindowFocusReason) def __activateBrowser(self): """ @@ -4704,7 +4717,7 @@ elif self.__layoutType == "Sidebars": self.leftSidebar.show() self.leftSidebar.setCurrentWidget(self.browser) - self.browser.setFocus(Qt.ActiveWindowFocusReason) + self.browser.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __toggleLeftToolbox(self): """ @@ -4713,7 +4726,8 @@ hasFocus = self.lToolbox.currentWidget().hasFocus() shown = self.__toggleWindow(self.lToolboxDock) if shown: - self.lToolbox.currentWidget().setFocus(Qt.ActiveWindowFocusReason) + self.lToolbox.currentWidget().setFocus( + Qt.FocusReason.ActiveWindowFocusReason) else: if hasFocus: self.__activateViewmanager() @@ -4725,7 +4739,8 @@ hasFocus = self.rToolbox.currentWidget().hasFocus() shown = self.__toggleWindow(self.rToolboxDock) if shown: - self.rToolbox.currentWidget().setFocus(Qt.ActiveWindowFocusReason) + self.rToolbox.currentWidget().setFocus( + Qt.FocusReason.ActiveWindowFocusReason) else: if hasFocus: self.__activateViewmanager() @@ -4737,7 +4752,8 @@ hasFocus = self.hToolbox.currentWidget().hasFocus() shown = self.__toggleWindow(self.hToolboxDock) if shown: - self.hToolbox.currentWidget().setFocus(Qt.ActiveWindowFocusReason) + self.hToolbox.currentWidget().setFocus( + Qt.FocusReason.ActiveWindowFocusReason) else: if hasFocus: self.__activateViewmanager() @@ -4750,7 +4766,7 @@ shown = self.__toggleWindow(self.leftSidebar) if shown: self.leftSidebar.currentWidget().setFocus( - Qt.ActiveWindowFocusReason) + Qt.FocusReason.ActiveWindowFocusReason) else: if hasFocus: self.__activateViewmanager() @@ -4763,7 +4779,7 @@ shown = self.__toggleWindow(self.rightSidebar) if shown: self.rightSidebar.currentWidget().setFocus( - Qt.ActiveWindowFocusReason) + Qt.FocusReason.ActiveWindowFocusReason) else: if hasFocus: self.__activateViewmanager() @@ -4776,7 +4792,7 @@ shown = self.__toggleWindow(self.bottomSidebar) if shown: self.bottomSidebar.currentWidget().setFocus( - Qt.ActiveWindowFocusReason) + Qt.FocusReason.ActiveWindowFocusReason) else: if hasFocus: self.__activateViewmanager() @@ -4792,7 +4808,7 @@ elif self.__layoutType == "Sidebars": self.rightSidebar.show() self.rightSidebar.setCurrentWidget(self.cooperation) - self.cooperation.setFocus(Qt.ActiveWindowFocusReason) + self.cooperation.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateIRC(self): """ @@ -4805,7 +4821,7 @@ elif self.__layoutType == "Sidebars": self.rightSidebar.show() self.rightSidebar.setCurrentWidget(self.irc) - self.irc.setFocus(Qt.ActiveWindowFocusReason) + self.irc.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateSymbolsViewer(self): """ @@ -4818,7 +4834,7 @@ elif self.__layoutType == "Sidebars": self.leftSidebar.show() self.leftSidebar.setCurrentWidget(self.symbolsViewer) - self.symbolsViewer.setFocus(Qt.ActiveWindowFocusReason) + self.symbolsViewer.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateNumbersViewer(self): """ @@ -4831,7 +4847,7 @@ elif self.__layoutType == "Sidebars": self.bottomSidebar.show() self.bottomSidebar.setCurrentWidget(self.numbersViewer) - self.numbersViewer.setFocus(Qt.ActiveWindowFocusReason) + self.numbersViewer.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateViewmanager(self): """ @@ -4839,7 +4855,7 @@ """ aw = self.viewmanager.activeWindow() if aw is not None: - aw.setFocus(Qt.ActiveWindowFocusReason) + aw.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def activateCodeDocumentationViewer(self, switchFocus=True): """ @@ -4858,7 +4874,7 @@ self.codeDocumentationViewer) if switchFocus: self.codeDocumentationViewer.setFocus( - Qt.ActiveWindowFocusReason) + Qt.FocusReason.ActiveWindowFocusReason) def __activatePipWidget(self): """ @@ -4871,7 +4887,7 @@ elif self.__layoutType == "Sidebars": self.rightSidebar.show() self.rightSidebar.setCurrentWidget(self.pipWidget) - self.pipWidget.setFocus(Qt.ActiveWindowFocusReason) + self.pipWidget.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateCondaWidget(self): """ @@ -4884,7 +4900,7 @@ elif self.__layoutType == "Sidebars": self.rightSidebar.show() self.rightSidebar.setCurrentWidget(self.condaWidget) - self.condaWidget.setFocus(Qt.ActiveWindowFocusReason) + self.condaWidget.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def __activateMicroPython(self): """ @@ -4897,7 +4913,8 @@ elif self.__layoutType == "Sidebars": self.rightSidebar.show() self.rightSidebar.setCurrentWidget(self.microPythonWidget) - self.microPythonWidget.setFocus(Qt.ActiveWindowFocusReason) + self.microPythonWidget.setFocus( + Qt.FocusReason.ActiveWindowFocusReason) def __toggleWindow(self, w): """ @@ -4920,7 +4937,7 @@ from Preferences.ToolConfigurationDialog import ToolConfigurationDialog dlg = ToolConfigurationDialog( self.toolGroups[self.currentToolGroup][1], self) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: self.toolGroups[self.currentToolGroup][1] = dlg.getToollist() self.__updateExternalToolsActions() @@ -4933,7 +4950,7 @@ ) dlg = ToolGroupConfigurationDialog( self.toolGroups, self.currentToolGroup, self) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: self.toolGroups, self.currentToolGroup = dlg.getToolGroups() def __createUnitTestDialog(self): @@ -5549,8 +5566,8 @@ else: self.toolProcs.append((program, proc, procData)) if tool['redirect'] == 'no': - proc.closeReadChannel(QProcess.StandardOutput) - proc.closeReadChannel(QProcess.StandardError) + proc.closeReadChannel(QProcess.ProcessChannel.StandardOutput) + proc.closeReadChannel(QProcess.ProcessChannel.StandardError) proc.closeWriteChannel() def __processToolStdout(self): @@ -5561,7 +5578,7 @@ # loop through all running tool processes for program, toolProc, toolProcData in self.toolProcs: - toolProc.setReadChannel(QProcess.StandardOutput) + toolProc.setReadChannel(QProcess.ProcessChannel.StandardOutput) if ( toolProcData[0] is None or @@ -5588,7 +5605,7 @@ # loop through all running tool processes for program, toolProc, _toolProcData in self.toolProcs: - toolProc.setReadChannel(QProcess.StandardError) + toolProc.setReadChannel(QProcess.ProcessChannel.StandardError) while toolProc.canReadLine(): error = str(toolProc.readLine(), ioEncoding, 'replace') @@ -5606,7 +5623,7 @@ # loop through all running tool processes for program, toolProc, toolProcData in self.toolProcs: - if toolProc.state() == QProcess.NotRunning: + if toolProc.state() == QProcess.ProcessState.NotRunning: exitedProcs.append((program, toolProc, toolProcData)) if toolProcData[0] is not None: if toolProcData[1] == "replaceSelection": @@ -5929,7 +5946,7 @@ @type bool """ if isinstance(home, QUrl): - home = home.toString(QUrl.None_) + home = home.toString(QUrl.UrlFormattingOption.None_) if len(home) > 0: homeUrl = QUrl(home) @@ -6032,8 +6049,8 @@ QThread.msleep(1000) QApplication.processEvents() if ( - process.state() == QProcess.NotRunning and - process.exitStatus() == QProcess.NormalExit and + process.state() == QProcess.ProcessState.NotRunning and + process.exitStatus() == QProcess.ExitStatus.NormalExit and process.exitCode() == 100 ): # Process exited prematurely due to missing pre-requisites @@ -6117,7 +6134,10 @@ self.__configurationDialog.showConfigurationPageByName("empty") self.__configurationDialog.exec() QApplication.processEvents() - if self.__configurationDialog.result() == QDialog.Accepted: + if ( + self.__configurationDialog.result() == + QDialog.DialogCode.Accepted + ): self.__configurationDialog.setPreferences() Preferences.syncPreferences() self.__preferencesChanged() @@ -6256,7 +6276,7 @@ from Preferences.ViewProfileDialog import ViewProfileDialog dlg = ViewProfileDialog(self.__layoutType, self.profiles['edit'][1], self.profiles['debug'][1]) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: edit, debug = dlg.getVisibilities() self.profiles['edit'][1] = edit self.profiles['debug'][1] = debug @@ -6272,7 +6292,7 @@ """ from E5Gui.E5ToolBarDialog import E5ToolBarDialog dlg = E5ToolBarDialog(self.toolbarManager) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: Preferences.setUI( "ToolbarManagerState", self.toolbarManager.saveState()) @@ -6351,7 +6371,7 @@ """ from .ClearPrivateDataDialog import ClearPrivateDataDialog dlg = ClearPrivateDataDialog(self) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: # recent files, recent projects, recent multi projects, # debug histories, shell histories (files, projects, multiProjects, debug, shell, vcs, plugins) = ( @@ -6508,7 +6528,7 @@ fn = os.path.join(Utilities.getConfigDir(), "eric6tasks.e6t") if os.path.exists(fn): f = QFile(fn) - if f.open(QIODevice.ReadOnly): + if f.open(QIODevice.OpenModeFlag.ReadOnly): from E5XML.TasksReader import TasksReader reader = TasksReader(f, viewer=self.taskViewer) reader.readXML() @@ -6546,7 +6566,7 @@ res = self.__sessionFile.writeFile(fn) else: f = QFile(fn) - if f.open(QIODevice.WriteOnly): + if f.open(QIODevice.OpenModeFlag.WriteOnly): from E5XML.SessionWriter import SessionWriter SessionWriter(f, None).writeXML() f.close() @@ -6598,7 +6618,7 @@ else: # old XML based format f = QFile(fn) - if f.open(QIODevice.ReadOnly): + if f.open(QIODevice.OpenModeFlag.ReadOnly): from E5XML.SessionReader import SessionReader self.__readingSession = True reader = SessionReader(f, True) @@ -6832,7 +6852,7 @@ from PluginManager.PluginRepositoryDialog import PluginRepositoryDialog dlg = PluginRepositoryDialog(self.pluginManager, self) res = dlg.exec() - if res == (QDialog.Accepted + 1): + if res == (QDialog.DialogCode.Accepted + 1): self.__installPlugins(dlg.getDownloadedPlugins()) def __pluginsConfigure(self): @@ -7071,8 +7091,9 @@ self.tr("Trying host {0}").format(url.host())) self.__versionCheckProgress.setValue(alternative) request = QNetworkRequest(url) - request.setAttribute(QNetworkRequest.CacheLoadControlAttribute, - QNetworkRequest.AlwaysNetwork) + request.setAttribute( + QNetworkRequest.Attribute.CacheLoadControlAttribute, + QNetworkRequest.CacheLoadControl.AlwaysNetwork) reply = self.__networkManager.get(request) reply.finished.connect(lambda: self.__versionsDownloadDone(reply)) self.__replies.append(reply) @@ -7096,12 +7117,12 @@ reply.deleteLater() if reply in self.__replies: self.__replies.remove(reply) - if reply.error() == QNetworkReply.NoError: + if reply.error() == QNetworkReply.NetworkError.NoError: ioEncoding = Preferences.getSystem("IOEncoding") versions = str(reply.readAll(), ioEncoding, 'replace').splitlines() reply.close() if ( - reply.error() != QNetworkReply.NoError or + reply.error() != QNetworkReply.NetworkError.NoError or len(versions) == 0 or versions[0].startswith("<") ): @@ -7432,7 +7453,8 @@ """ if self.__startup: if Preferences.getGeometry("MainMaximized"): - self.setWindowState(Qt.WindowStates(Qt.WindowMaximized)) + self.setWindowState( + Qt.WindowStates(Qt.WindowState.WindowMaximized)) self.__startup = False ##########################################