UI/UserInterface.py

changeset 6416
a915f8dd1ca6
parent 6365
85f8745427a6
child 6417
87f6a933b309
--- 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):

eric ide

mercurial