Mon, 09 Jul 2018 19:10:09 +0200
UserInterface, ViewManager: made the activation of the code documentation viewer optional.
UI/UserInterface.py | file | annotate | diff | comparison | revisions | |
ViewManager/ViewManager.py | file | annotate | diff | comparison | revisions |
--- a/UI/UserInterface.py Mon Jul 09 19:09:19 2018 +0200 +++ b/UI/UserInterface.py Mon Jul 09 19:10:09 2018 +0200 @@ -131,7 +131,7 @@ self.buffer += str(s) self.__nWrite(self.__bufferedWrite()) -# TODO: make "Code Docu Viewer", "Cooperation" and "IRC" configurable +# TODO: make "Cooperation" and "IRC" configurable class UserInterface(E5MainWindow): """ Class implementing the main user interface. @@ -267,6 +267,8 @@ splash.showMessage(self.tr("Generating Main User Interface...")) + self.codeDocumentationViewer = None + # Create the main window now so that we can connect QActions to it. logging.debug("Creating Layout...") self.__createLayout(debugServer) @@ -488,8 +490,10 @@ self.preferencesChanged.connect(self.cooperation.preferencesChanged) self.preferencesChanged.connect( self.backgroundService.preferencesOrProjectChanged) - self.preferencesChanged.connect( - self.codeDocumentationViewer.preferencesChanged) + + if self.codeDocumentationViewer: + self.preferencesChanged.connect( + self.codeDocumentationViewer.preferencesChanged) self.viewmanager.editorSaved.connect(self.project.repopulateItem) self.viewmanager.lastEditorClosed.connect(self.__lastEditorClosed) @@ -572,7 +576,8 @@ e5App().registerObject("IRC", self.irc) e5App().registerObject("Symbols", self.symbolsViewer) e5App().registerObject("Numbers", self.numbersViewer) - e5App().registerObject("DocuViewer", self.codeDocumentationViewer) + if self.codeDocumentationViewer: + e5App().registerObject("DocuViewer", self.codeDocumentationViewer) # list of web addresses serving the versions file self.__httpAlternatives = Preferences.getUI("VersionsUrls6") @@ -642,8 +647,9 @@ self.toolbarManager.restoreState( Preferences.getUI("ToolbarManagerState")) - # finalize the initialization of the code documentation viewer - self.codeDocumentationViewer.finalizeSetup() + if self.codeDocumentationViewer: + # finalize the initialization of the code documentation viewer + self.codeDocumentationViewer.finalizeSetup() # now activate the initial view profile splash.showMessage(self.tr("Setting View Profile...")) @@ -792,14 +798,15 @@ self.lToolbox.addItem(self.templateViewer, UI.PixmapCache.getIcon("templateViewer.png"), self.tr("Template-Viewer")) - - # Create the code documentation viewer - logging.debug("Creating Code Documentation Viewer...") - from .CodeDocumentationViewer import CodeDocumentationViewer - self.codeDocumentationViewer = CodeDocumentationViewer(self) - self.rToolbox.addItem(self.codeDocumentationViewer, - UI.PixmapCache.getIcon("codeDocuViewer.png"), - self.tr("Code Documentation Viewer")) + + if Preferences.getUI("ShowCodeDocumentationViewer"): + # Create the code documentation viewer + logging.debug("Creating Code Documentation Viewer...") + from .CodeDocumentationViewer import CodeDocumentationViewer + self.codeDocumentationViewer = CodeDocumentationViewer(self) + self.rToolbox.addItem(self.codeDocumentationViewer, + UI.PixmapCache.getIcon("codeDocuViewer.png"), + self.tr("Code Documentation Viewer")) # Create the debug viewer maybe without the embedded shell logging.debug("Creating Debug Viewer...") @@ -926,14 +933,15 @@ UI.PixmapCache.getIcon("templateViewer.png"), self.tr("Template-Viewer")) - # Create the code documentation viewer - logging.debug("Creating Code Documentation Viewer...") - from .CodeDocumentationViewer import CodeDocumentationViewer - self.codeDocumentationViewer = CodeDocumentationViewer(self) - self.rightSidebar.addTab( - self.codeDocumentationViewer, - UI.PixmapCache.getIcon("codeDocuViewer.png"), - self.tr("Code Documentation Viewer")) + if Preferences.getUI("ShowCodeDocumentationViewer"): + # Create the code documentation viewer + logging.debug("Creating Code Documentation Viewer...") + from .CodeDocumentationViewer import CodeDocumentationViewer + self.codeDocumentationViewer = CodeDocumentationViewer(self) + self.rightSidebar.addTab( + self.codeDocumentationViewer, + UI.PixmapCache.getIcon("codeDocuViewer.png"), + self.tr("Code Documentation Viewer")) # Create the debug viewer maybe without the embedded shell logging.debug("Creating Debug Viewer...") @@ -2729,7 +2737,6 @@ self.__menus["subwindow"] = QMenu(self.tr("&Windows"), self.__menus["window"]) self.__menus["subwindow"].setTearOffEnabled(True) - # TODO: insert separators between the different sides # left side try: self.__menus["subwindow"].addSection(self.tr("Left Side")) @@ -2757,9 +2764,10 @@ # Qt4 self.__menus["subwindow"].addSeparator() # right side - self.__menus["subwindow"].addAction( - self.tr("Code Documentation Viewer"), - self.activateCodeDocumentationViewer) + if self.codeDocumentationViewer: + self.__menus["subwindow"].addAction( + self.tr("Code Documentation Viewer"), + self.activateCodeDocumentationViewer) self.__menus["subwindow"].addAction(self.debugViewerActivateAct) self.__menus["subwindow"].addAction(self.cooperationViewerActivateAct) self.__menus["subwindow"].addAction(self.ircActivateAct) @@ -4287,16 +4295,19 @@ @param switchFocus flag indicating to transfer the input focus @type bool """ - if self.layoutType == "Toolboxes": - self.rToolboxDock.show() - self.rToolbox.setCurrentWidget(self.codeDocumentationViewer) - elif self.layoutType == "Sidebars": - self.rightSidebar.show() - self.rightSidebar.setCurrentWidget(self.codeDocumentationViewer) - else: - self.codeDocumentationViewer.show() - if switchFocus: - self.codeDocumentationViewer.setFocus(Qt.ActiveWindowFocusReason) + if self.codeDocumentationViewer: + if self.layoutType == "Toolboxes": + self.rToolboxDock.show() + self.rToolbox.setCurrentWidget(self.codeDocumentationViewer) + elif self.layoutType == "Sidebars": + self.rightSidebar.show() + self.rightSidebar.setCurrentWidget( + self.codeDocumentationViewer) + else: + self.codeDocumentationViewer.show() + if switchFocus: + self.codeDocumentationViewer.setFocus( + Qt.ActiveWindowFocusReason) def __toggleWindow(self, w): """ @@ -6439,7 +6450,8 @@ if sessionCreated and not self.__disableCrashSession: self.__deleteCrashSession() - self.codeDocumentationViewer.shutdown() + if self.codeDocumentationViewer: + self.codeDocumentationViewer.shutdown() self.__previewer.shutdown()
--- a/ViewManager/ViewManager.py Mon Jul 09 19:09:19 2018 +0200 +++ b/ViewManager/ViewManager.py Mon Jul 09 19:10:09 2018 +0200 @@ -6962,7 +6962,9 @@ @param editor editor to show information text for @type Editor """ - self.ui.documentationViewer().showInfo(editor) + documentationViewer = self.ui.documentationViewer() + if documentationViewer: + documentationViewer.showInfo(editor) def isEditorInfoSupported(self, language): """ @@ -6974,7 +6976,11 @@ @return flag indicating the support status @rtype bool """ - return self.ui.documentationViewer().isSupportedLanguage(language) + documentationViewer = self.ui.documentationViewer() + if documentationViewer: + return documentationViewer.isSupportedLanguage(language) + else: + return False def __isEditorInfoSupportedEd(self, editor): """