--- a/UI/UserInterface.py Sun Jul 08 17:33:25 2018 +0200 +++ b/UI/UserInterface.py Sun Jul 08 18:55:21 2018 +0200 @@ -131,7 +131,7 @@ self.buffer += str(s) self.__nWrite(self.__bufferedWrite()) - +# TODO: make "Code Docu Viewer", "Cooperation" and "IRC" configurable class UserInterface(E5MainWindow): """ Class implementing the main user interface. @@ -209,8 +209,7 @@ self.__disableCrashSession = disableCrashSession self.__disabledPlugins = disabledPlugins[:] - self.layoutType, self.embeddedShell, self.embeddedFileBrowser = \ - Preferences.getUILayout() + self.layoutType = Preferences.getUI("LayoutType") self.passiveMode = Preferences.getDebugger("PassiveDbgEnabled") @@ -771,9 +770,7 @@ # Create the project browser logging.debug("Creating Project Browser...") from Project.ProjectBrowser import ProjectBrowser - self.projectBrowser = ProjectBrowser( - self.project, None, - embeddedBrowser=(self.embeddedFileBrowser == 2)) + self.projectBrowser = ProjectBrowser(self.project) self.lToolbox.addItem(self.projectBrowser, UI.PixmapCache.getIcon("projectViewer.png"), self.tr("Project-Viewer")) @@ -807,10 +804,7 @@ # Create the debug viewer maybe without the embedded shell logging.debug("Creating Debug Viewer...") from Debugger.DebugViewer import DebugViewer - self.debugViewer = DebugViewer( - debugServer, True, self.viewmanager, None, - embeddedShell=self.embeddedShell, - embeddedBrowser=(self.embeddedFileBrowser == 1)) + self.debugViewer = DebugViewer(debugServer, True, self.viewmanager) self.rToolbox.addItem(self.debugViewer, UI.PixmapCache.getIcon("debugViewer.png"), self.tr("Debug-Viewer")) @@ -847,31 +841,23 @@ UI.PixmapCache.getIcon("logViewer.png"), self.tr("Log-Viewer")) - if self.embeddedShell: - self.shell = self.debugViewer.shell - else: - # Create the shell - logging.debug("Creating Shell...") - from QScintilla.Shell import ShellAssembly - self.shellAssembly = \ - ShellAssembly(debugServer, self.viewmanager, True) - self.shell = self.shellAssembly.shell() - self.hToolbox.insertItem(0, self.shellAssembly, - UI.PixmapCache.getIcon("shell.png"), - self.tr("Shell")) + # Create the shell + logging.debug("Creating Shell...") + from QScintilla.Shell import ShellAssembly + self.shellAssembly = \ + ShellAssembly(debugServer, self.viewmanager, True) + self.shell = self.shellAssembly.shell() + self.hToolbox.insertItem(0, self.shellAssembly, + UI.PixmapCache.getIcon("shell.png"), + self.tr("Shell")) - if self.embeddedFileBrowser == 0: # separate window - # Create the file browser - logging.debug("Creating File Browser...") - from .Browser import Browser - self.browser = Browser() - self.lToolbox.addItem(self.browser, - UI.PixmapCache.getIcon("browser.png"), - self.tr("File-Browser")) - elif self.embeddedFileBrowser == 1: # embedded in debug browser - self.browser = self.debugViewer.browser - else: # embedded in project browser - self.browser = self.projectBrowser.fileBrowser + # Create the file browser + logging.debug("Creating File Browser...") + from .Browser import Browser + self.browser = Browser() + self.lToolbox.addItem(self.browser, + UI.PixmapCache.getIcon("browser.png"), + self.tr("File-Browser")) # Create the symbols viewer logging.debug("Creating Symbols Viewer...") @@ -914,9 +900,7 @@ # Create the project browser logging.debug("Creating Project Browser...") from Project.ProjectBrowser import ProjectBrowser - self.projectBrowser = ProjectBrowser( - self.project, None, - embeddedBrowser=(self.embeddedFileBrowser == 2)) + self.projectBrowser = ProjectBrowser(self.project) self.leftSidebar.addTab( self.projectBrowser, UI.PixmapCache.getIcon("projectViewer.png"), @@ -954,10 +938,7 @@ # Create the debug viewer maybe without the embedded shell logging.debug("Creating Debug Viewer...") from Debugger.DebugViewer import DebugViewer - self.debugViewer = DebugViewer( - debugServer, True, self.viewmanager, None, - embeddedShell=self.embeddedShell, - embeddedBrowser=(self.embeddedFileBrowser == 1)) + self.debugViewer = DebugViewer(debugServer, True, self.viewmanager) self.rightSidebar.addTab( self.debugViewer, UI.PixmapCache.getIcon("debugViewer.png"), self.tr("Debug-Viewer")) @@ -993,31 +974,23 @@ UI.PixmapCache.getIcon("logViewer.png"), self.tr("Log-Viewer")) - if self.embeddedShell: - self.shell = self.debugViewer.shell - else: - # Create the shell - logging.debug("Creating Shell...") - from QScintilla.Shell import ShellAssembly - self.shellAssembly = \ - ShellAssembly(debugServer, self.viewmanager, True) - self.shell = self.shellAssembly.shell() - self.bottomSidebar.insertTab(0, self.shellAssembly, - UI.PixmapCache.getIcon("shell.png"), - self.tr("Shell")) + # Create the shell + logging.debug("Creating Shell...") + from QScintilla.Shell import ShellAssembly + self.shellAssembly = \ + ShellAssembly(debugServer, self.viewmanager, True) + self.shell = self.shellAssembly.shell() + self.bottomSidebar.insertTab(0, self.shellAssembly, + UI.PixmapCache.getIcon("shell.png"), + self.tr("Shell")) - if self.embeddedFileBrowser == 0: # separate window - # Create the file browser - logging.debug("Creating File Browser...") - from .Browser import Browser - self.browser = Browser() - self.leftSidebar.addTab(self.browser, - UI.PixmapCache.getIcon("browser.png"), - self.tr("File-Browser")) - elif self.embeddedFileBrowser == 1: # embedded in debug browser - self.browser = self.debugViewer.browser - else: # embedded in project browser - self.browser = self.projectBrowser.fileBrowser + # Create the file browser + logging.debug("Creating File Browser...") + from .Browser import Browser + self.browser = Browser() + self.leftSidebar.addTab(self.browser, + UI.PixmapCache.getIcon("browser.png"), + self.tr("File-Browser")) # Create the symbols viewer logging.debug("Creating Symbols Viewer...") @@ -2756,6 +2729,7 @@ self.__menus["subwindow"] = QMenu(self.tr("&Windows"), self.__menus["window"]) self.__menus["subwindow"].setTearOffEnabled(True) + # TODO: insert separators between the different sides # left side self.__menus["subwindow"].addAction(self.pbActivateAct) self.__menus["subwindow"].addAction(self.mpbActivateAct) @@ -3972,15 +3946,13 @@ if self.layoutType == "Toolboxes": self.__currentRightWidget = self.rToolbox.currentWidget() self.rToolbox.setCurrentWidget(self.debugViewer) - if not self.embeddedShell: - self.__currentBottomWidget = self.hToolbox.currentWidget() - self.hToolbox.setCurrentWidget(self.shellAssembly) + self.__currentBottomWidget = self.hToolbox.currentWidget() + self.hToolbox.setCurrentWidget(self.shellAssembly) elif self.layoutType == "Sidebars": self.__currentRightWidget = self.rightSidebar.currentWidget() self.rightSidebar.setCurrentWidget(self.debugViewer) - if not self.embeddedShell: - self.__currentBottomWidget = self.bottomSidebar.currentWidget() - self.bottomSidebar.setCurrentWidget(self.shellAssembly) + self.__currentBottomWidget = self.bottomSidebar.currentWidget() + self.bottomSidebar.setCurrentWidget(self.shellAssembly) def __debuggingDone(self): """ @@ -4080,25 +4052,14 @@ """ Private slot to handle the activation of the Shell window. """ - if self.embeddedShell: # embedded in debug browser - if self.layoutType == "Toolboxes": - self.rToolboxDock.show() - self.rToolbox.setCurrentWidget(self.debugViewer) - elif self.layoutType == "Sidebars": - self.rightSidebar.show() - self.rightSidebar.setCurrentWidget(self.debugViewer) - else: - self.debugViewer.show() - self.debugViewer.setCurrentWidget(self.debugViewer.shellAssembly) - else: # separate window - if self.layoutType == "Toolboxes": - self.hToolboxDock.show() - self.hToolbox.setCurrentWidget(self.shellAssembly) - elif self.layoutType == "Sidebars": - self.bottomSidebar.show() - self.bottomSidebar.setCurrentWidget(self.shellAssembly) - else: - self.shell.show() + if self.layoutType == "Toolboxes": + self.hToolboxDock.show() + self.hToolbox.setCurrentWidget(self.shellAssembly) + elif self.layoutType == "Sidebars": + self.bottomSidebar.show() + self.bottomSidebar.setCurrentWidget(self.shellAssembly) + else: + self.shell.show() self.shell.setFocus(Qt.ActiveWindowFocusReason) def __activateLogViewer(self): @@ -4147,35 +4108,14 @@ """ Private slot to handle the activation of the file browser. """ - if self.embeddedFileBrowser == 0: # separate window - if self.layoutType == "Toolboxes": - self.lToolboxDock.show() - self.lToolbox.setCurrentWidget(self.browser) - elif self.layoutType == "Sidebars": - self.leftSidebar.show() - self.leftSidebar.setCurrentWidget(self.browser) - else: - self.browser.show() - elif self.embeddedFileBrowser == 1: # embedded in debug browser - if self.layoutType == "Toolboxes": - self.rToolboxDock.show() - self.rToolbox.setCurrentWidget(self.debugViewer) - elif self.layoutType == "Sidebars": - self.rightSidebar.show() - self.rightSidebar.setCurrentWidget(self.debugViewer) - else: - self.debugViewer.show() - self.debugViewer.setCurrentWidget(self.browser) - else: # embedded in project browser - if self.layoutType == "Toolboxes": - self.lToolboxDock.show() - self.lToolbox.setCurrentWidget(self.projectBrowser) - elif self.layoutType == "Sidebars": - self.leftSidebar.show() - self.leftSidebar.setCurrentWidget(self.projectBrowser) - else: - self.projectBrowser.show() - self.projectBrowser.setCurrentWidget(self.browser) + if self.layoutType == "Toolboxes": + self.lToolboxDock.show() + self.lToolbox.setCurrentWidget(self.browser) + elif self.layoutType == "Sidebars": + self.leftSidebar.show() + self.leftSidebar.setCurrentWidget(self.browser) + else: + self.browser.show() self.browser.setFocus(Qt.ActiveWindowFocusReason) def __toggleLeftToolbox(self):