Hi Detlev, Hi PyQties,

here's a patch to top of ericgeom.diff, which implements an _experimental_
alternate layout. If you want your old layout back, set 
self.layoutstyle = "qtdes" in UserInterface.py. Expect a restored geometry 
to be mangled. It separates Browser, Inspector, and Log component on the 
left pane, in order to get a bigger editing space.
Here is a screenshot: http://lisa-gmbh.de/download/eric3alt.jpg (80k)
           full size: http://lisa-gmbh.de/download/eric3altfull.jpg (165k)
Yes, I'm using a uncommon color set. Note also, that this one uses smaller
icons 20x18, opposed to the genuine 22x22. [ericIconsShrink1.tar.gz]
Detlev: Sorry, the first icon patchset was broken. Please try this one.

Comments welcome.

eric-hacking-is-fun'ly y'rs,
Hans-Peter

Attachment: ericIconsShrink1.tar.gz
Description: application/tgz

--- UserInterface.py.hp	2002-11-28 22:53:06.000000000 +0100
+++ UserInterface.py	2002-11-28 22:53:28.000000000 +0100
@@ -88,43 +88,72 @@
         # Generate the debug server object
         dbs = DebugServer()
         
         # Generate an empty project object
         self.project = Project(self)
+
+        # Create the workspace now so that we can connect QActions to it
+        self.layoutStyle = "alt"
+        if self.layoutStyle == "alt":
+            # alternate layout style
+            self.hSplitter = QSplitter(self.centralWidget(),"hSplitter")
+            self.hSplitter.setOrientation(QSplitter.Horizontal)
+
+            # Create a splitter for the right hand side
+            self.vSplitter = QSplitter(self.hSplitter,"vSplitter")
+            self.vSplitter.setOrientation(QSplitter.Vertical)
+
+            # Create the project browser
+            self.projectBrowser = ProjectBrowser(self.project, self.qtdir, self.vSplitter)
+            self.projectBrowser.show()
+            
+            # Create the shell, browser, variables part of the user interface
+            self.sbv = SBVviewer(dbs, self.vSplitter)
+            
+            # Create the log viewer part of the user interface
+            self.logViewer = LogView(self.vSplitter)
+            self.logViewer.setMinimumSize(100,60)
+            
+             # Create the view manager depending on the configuration setting
+            self.viewmanager = ViewManager.factory(self.hSplitter, self, dbs)
+           
+            # add the splitter to the main windows layout
+            appWindowLayout.addWidget(self.hSplitter)
+
+        else: # self.layoutstyle == "qtdes"
+            # style to match the appearence of Qt Designer.
+            self.hSplitter = QSplitter(self.centralWidget(),"hSplitter")
+            self.hSplitter.setOrientation(QSplitter.Horizontal)
+
+            # Create the project browser
+            self.projectBrowser = ProjectBrowser(self.project, self.qtdir, self.hSplitter)
+            self.projectBrowser.show()
+            
+            # Create the view manager depending on the configuration setting
+            self.viewmanager = ViewManager.factory(self.hSplitter, self, dbs)
+
+            # Create a splitter for the right hand side
+            self.vSplitter = QSplitter(self.hSplitter,"vSplitter")
+            self.vSplitter.setOrientation(QSplitter.Vertical)
+            
+            # Create the shell, browser, variables part of the user interface
+            self.sbv = SBVviewer(dbs, self.vSplitter)
+            
+            # Create the log viewer part of the user interface
+            self.logViewer = LogView(self.vSplitter)
+            self.logViewer.setMinimumSize(100,100)
+            
+            # add the splitter to the main windows layout
+            appWindowLayout.addWidget(self.hSplitter)
         
-        # Create the workspace now so that we can connect QActions to it.  This
-        # is done to match the appearence of Qt Designer.
-        self.hSplitter = QSplitter(self.centralWidget(),"hSplitter")
-        self.hSplitter.setOrientation(QSplitter.Horizontal)
-
-        # Create the project browser
-        self.projectBrowser = ProjectBrowser(self.project, self.qtdir, self.hSplitter)
-        self.projectBrowser.show()
-        
-        # Create the view manager depending on the configuration setting
-        self.viewmanager = ViewManager.factory(self.hSplitter, self, dbs)
-
-        # Create a splitter for the right hand side
-        self.vSplitter = QSplitter(self.hSplitter,"vSplitter")
-        self.vSplitter.setOrientation(QSplitter.Vertical)
-        
-        # Create the shell, browser, variables part of the user interface
-        self.sbv = SBVviewer(dbs, self.vSplitter)
-        
-        # Create the log viewer part of the user interface
-        self.logViewer = LogView(self.vSplitter)
-        self.logViewer.setMinimumSize(100,100)
-        
+        # setup logview
         self.stdoutTab = LogWidget(self)
         self.logViewer.addTab(self.stdoutTab, self.trUtf8("stdout"))
         
         self.stderrTab = LogWidget(self)
         self.logViewer.addTab(self.stderrTab, self.trUtf8("stderr"))
-        
-        # add the splitter to the main windows layout
-        appWindowLayout.addWidget(self.hSplitter)
-        
+            
         # Generate the debugger part of the ui
         self.dbg = DebugUI(self, self.viewmanager, dbs, self.sbv)
         
         # Generate the redirection helpers
         self.stdout = Redirector(0)
@@ -184,20 +213,33 @@
         self.connect(self, PYSIGNAL('preferencesChanged'),
                      self.viewmanager.handlePreferencesChanged)
         
         # Set the sizes of the splitters
         g = Preferences.getGeometry("MainSplitter")
-        if g == [0,0,0,0,0]:
-            width = self.width()
-            height = self.height()
-            hSizes = [int(0.21*width), int(0.49*width), int(0.3*width)]
-            vSizes = [int(0.8*height), int(0.2*height)]
-        else:
-            hSizes = g[:3]
-            vSizes = g[3:]
-        self.hSplitter.setSizes(hSizes)
-        self.vSplitter.setSizes(vSizes)
+        if self.layoutStyle == "alt":
+            if g[:5] == [0,0,0,0,0]:
+                width = self.width()
+                height = self.height()
+                hSizes = [int(0.35*width), int(0.65*width)]
+                vSizes = [int(0.4*height), int(0.4*height), int(0.2*height)]
+            else:
+                hSizes = g[:2]
+                vSizes = g[2:]
+            self.hSplitter.setSizes(hSizes)
+            self.vSplitter.setSizes(vSizes)
+
+        else: # self.layoutstyle == "qtdes"
+            if g[:5] == [0,0,0,0,0]:
+                width = self.width()
+                height = self.height()
+                hSizes = [int(0.21*width), int(0.49*width), int(0.3*width)]
+                vSizes = [int(0.8*height), int(0.2*height)]
+            else:
+                hSizes = g[:3]
+                vSizes = g[3:]
+            self.hSplitter.setSizes(hSizes)
+            self.vSplitter.setSizes(vSizes)
 
         # Generate the unittest dialog
         self.unittestDialog = UnittestDialog(None, 1, self)
         self.connect(self.unittestDialog,PYSIGNAL('unittestFile'),
                      self.viewmanager.setFileLine)
@@ -787,9 +829,13 @@
         s = self.geometry()
         p = self.frameGeometry()
         Preferences.setGeometry("MainGeometry", [p.x(),p.y(),s.width(),s.height()])
         h = self.hSplitter.sizes()
         v = self.vSplitter.sizes()
-        Preferences.setGeometry("MainSplitter", [h[0],h[1],h[2],v[0],v[1]])
+
+        if self.layoutStyle == "alt":
+            Preferences.setGeometry("MainSplitter", [h[0],h[1],v[0],v[1],v[2]])
+        else: # self.layoutstyle == "qtdes"
+            Preferences.setGeometry("MainSplitter", [h[0],h[1],h[2],v[0],v[1]])
         Preferences.savePreferences()
         Preferences.saveToolbarSettings(self, self.toolbars)
         return 1

Reply via email to