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
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
