diff -r 25426353d632 -r 6a9d4a241962 eric6/UI/UserInterface.py --- a/eric6/UI/UserInterface.py Wed Aug 21 14:48:57 2019 +0200 +++ b/eric6/UI/UserInterface.py Wed Aug 21 16:31:03 2019 +0200 @@ -281,6 +281,7 @@ self.numbersViewer = None self.pipWidget = None self.condaWidget = None + self.microPythonWidget = None self.__webBrowserProcess = None self.__webBrowserClient = None @@ -605,6 +606,8 @@ e5App().registerObject("Numbers", self.numbersViewer) if self.codeDocumentationViewer is not None: e5App().registerObject("DocuViewer", self.codeDocumentationViewer) + if self.microPythonWidget is not None: + e5App().registerObject("MicroPython", self.microPythonWidget) # list of web addresses serving the versions file self.__httpAlternatives = Preferences.getUI("VersionsUrls6") @@ -1871,7 +1874,7 @@ self.ircActivateAct = E5Action( self.tr('IRC'), self.tr('&IRC'), - QKeySequence(self.tr("Meta+Shift+I")), + QKeySequence(self.tr("Ctrl+Alt+Shift+I")), 0, self, 'irc_widget_activate') self.ircActivateAct.setStatusTip(self.tr( @@ -1922,7 +1925,83 @@ self.__activateNumbersViewer) self.actions.append(self.numbersViewerActivateAct) self.addAction(self.numbersViewerActivateAct) - + + if self.codeDocumentationViewer is not None: + self.codeDocumentationViewerActivateAct = E5Action( + self.tr('Code Documentation Viewer'), + self.tr('Code Documentation Viewer'), + QKeySequence(self.tr("Ctrl+Alt+Shift+D")), + 0, self, + 'code_documentation_viewer_activate') + self.codeDocumentationViewerActivateAct.setStatusTip(self.tr( + "Switch the input focus to the Code Documentation Viewer" + " window.")) + self.codeDocumentationViewerActivateAct.setWhatsThis(self.tr( + """<b>Code Documentation Viewer</b>""" + """<p>This switches the input focus to the Code""" + """ Documentation Viewer window.</p>""" + )) + self.codeDocumentationViewerActivateAct.triggered.connect( + self.activateCodeDocumentationViewer) + self.actions.append(self.codeDocumentationViewerActivateAct) + self.addAction(self.codeDocumentationViewerActivateAct) + + if self.pipWidget is not None: + self.pipWidgetActivateAct = E5Action( + self.tr('PyPI'), + self.tr('PyPI'), + QKeySequence(self.tr("Ctrl+Alt+Shift+P")), + 0, self, + 'pip_widget_activate') + self.pipWidgetActivateAct.setStatusTip(self.tr( + "Switch the input focus to the PyPI window.")) + self.pipWidgetActivateAct.setWhatsThis(self.tr( + """<b>PyPI</b>""" + """<p>This switches the input focus to the PyPI window.</p>""" + )) + self.pipWidgetActivateAct.triggered.connect( + self.__activatePipWidget) + self.actions.append(self.pipWidgetActivateAct) + self.addAction(self.pipWidgetActivateAct) + + if self.condaWidget is not None: + self.condaWidgetActivateAct = E5Action( + self.tr('Conda'), + self.tr('Conda'), + QKeySequence(self.tr("Ctrl+Alt+Shift+C")), + 0, self, + 'conda_widget_activate') + self.condaWidgetActivateAct.setStatusTip(self.tr( + "Switch the input focus to the Conda window.")) + self.condaWidgetActivateAct.setWhatsThis(self.tr( + """<b>Conda</b>""" + """<p>This switches the input focus to the Conda window.</p>""" + )) + self.condaWidgetActivateAct.triggered.connect( + self.__activateCondaWidget) + self.actions.append(self.condaWidgetActivateAct) + self.addAction(self.condaWidgetActivateAct) + + # TODO: add action for "MicroPython", Ctrl+Alt+Shift+M + if self.microPythonWidget is not None: + self.microPythonWidgetActivateAct = E5Action( + self.tr('MicroPython'), + self.tr('MicroPython'), + QKeySequence(self.tr("Ctrl+Alt+Shift+M")), + 0, self, + 'micropython_widget_activate') + self.microPythonWidgetActivateAct.setStatusTip(self.tr( + "Switch the input focus to the MicroPython window.")) + self.microPythonWidgetActivateAct.setWhatsThis(self.tr( + """<b>MicroPython</b>""" + """<p>This switches the input focus to the MicroPython""" + """ window.</p>""" + )) + self.microPythonWidgetActivateAct.triggered.connect( + self.__activateMicroPython) + self.actions.append(self.microPythonWidgetActivateAct) + self.addAction(self.microPythonWidgetActivateAct) + self.whatsThisAct = E5Action( self.tr('What\'s This?'), UI.PixmapCache.getIcon("whatsThis.png"), @@ -3082,22 +3161,20 @@ self.__menus["subwindow"].addAction(self.shellActivateAct) if self.codeDocumentationViewer is not None: self.__menus["subwindow"].addAction( - self.tr("Code Documentation Viewer"), - self.activateCodeDocumentationViewer) + self.codeDocumentationViewerActivateAct) self.__menus["subwindow"].addAction(self.debugViewerActivateAct) if self.pipWidget is not None: - self.__menus["subwindow"].addAction( - self.tr("PyPI"), - self.__activatePipWidget) + self.__menus["subwindow"].addAction(self.pipWidgetActivateAct) if self.condaWidget is not None: - self.__menus["subwindow"].addAction( - self.tr("Conda"), - self.__activateCondaWidget) + self.__menus["subwindow"].addAction(self.condaWidgetActivateAct) if self.cooperation is not None: self.__menus["subwindow"].addAction( self.cooperationViewerActivateAct) if self.irc is not None: self.__menus["subwindow"].addAction(self.ircActivateAct) + if self.microPythonWidget is not None: + self.__menus["subwindow"].addAction( + self.microPythonWidgetActivateAct) try: self.__menus["subwindow"].addSection(self.tr("Plug-ins")) except AttributeError: @@ -4672,6 +4749,19 @@ self.rightSidebar.setCurrentWidget(self.condaWidget) self.condaWidget.setFocus(Qt.ActiveWindowFocusReason) + def __activateMicroPython(self): + """ + Private slot to handle the activation of the MicroPython widget. + """ + if self.microPythonWidget is not None: + if self.__layoutType == "Toolboxes": + self.rToolboxDock.show() + self.rToolbox.setCurrentWidget(self.microPythonWidget) + elif self.__layoutType == "Sidebars": + self.rightSidebar.show() + self.rightSidebar.setCurrentWidget(self.microPythonWidget) + self.microPythonWidget.setFocus(Qt.ActiveWindowFocusReason) + def __toggleWindow(self, w): """ Private method to toggle a workspace editor window.