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