--- a/eric7/UI/UserInterface.py Mon Oct 25 18:30:10 2021 +0200 +++ b/eric7/UI/UserInterface.py Tue Oct 26 17:00:21 2021 +0200 @@ -1270,6 +1270,8 @@ ## Populate the right side bar #################################################### + # TODO: add option to add all tools to the left sidebar + # possibly with different order (e.g. debug after VCS) self.rightSidebar.addTab( self.debugViewer, UI.PixmapCache.getIcon("sbDebugViewer96"), @@ -1366,20 +1368,16 @@ # create the central widget logging.debug("Creating central widget...") cw = self.centralWidget() # save the current central widget - self.leftSplitter = QSplitter(Qt.Orientation.Horizontal) - self.rightSplitter = QSplitter(Qt.Orientation.Horizontal) + self.horizontalSplitter = QSplitter(Qt.Orientation.Horizontal) + self.horizontalSplitter.setChildrenCollapsible(False) self.verticalSplitter = QSplitter(Qt.Orientation.Vertical) + self.verticalSplitter.setChildrenCollapsible(False) self.verticalSplitter.addWidget(cw) self.verticalSplitter.addWidget(self.bottomSidebar) - self.rightSplitter.addWidget(self.verticalSplitter) - self.rightSplitter.addWidget(self.rightSidebar) - self.leftSplitter.addWidget(self.leftSidebar) - self.leftSplitter.addWidget(self.rightSplitter) - self.setCentralWidget(self.leftSplitter) - - self.leftSidebar.setSplitter(self.leftSplitter) - self.rightSidebar.setSplitter(self.rightSplitter) - self.bottomSidebar.setSplitter(self.verticalSplitter) + self.horizontalSplitter.addWidget(self.leftSidebar) + self.horizontalSplitter.addWidget(self.verticalSplitter) + self.horizontalSplitter.addWidget(self.rightSidebar) + self.setCentralWidget(self.horizontalSplitter) def addSideWidget(self, side, widget, icon, label): """ @@ -3452,15 +3450,6 @@ if self.symbolsViewer is not None: self.__menus["subwindow"].addAction(self.symbolsViewerActivateAct) - # bottom side - self.__menus["subwindow"].addSection(self.tr("Bottom Side")) - if self.__shellPosition == "bottom": - self.__menus["subwindow"].addAction(self.shellActivateAct) - self.__menus["subwindow"].addAction(self.taskViewerActivateAct) - self.__menus["subwindow"].addAction(self.logViewerActivateAct) - if self.numbersViewer is not None: - self.__menus["subwindow"].addAction(self.numbersViewerActivateAct) - # right side self.__menus["subwindow"].addSection(self.tr("Right Side")) if self.__shellPosition == "right": @@ -3487,6 +3476,15 @@ self.__menus["subwindow"].addAction( self.microPythonWidgetActivateAct) + # bottom side + self.__menus["subwindow"].addSection(self.tr("Bottom Side")) + if self.__shellPosition == "bottom": + self.__menus["subwindow"].addAction(self.shellActivateAct) + self.__menus["subwindow"].addAction(self.taskViewerActivateAct) + self.__menus["subwindow"].addAction(self.logViewerActivateAct) + if self.numbersViewer is not None: + self.__menus["subwindow"].addAction(self.numbersViewerActivateAct) + # plug-in provided windows self.__menus["subwindow"].addSection(self.tr("Plug-ins")) @@ -4634,19 +4632,17 @@ state = self.saveState() self.profiles[self.currentProfile][0] = state if self.__layoutType == "Sidebars": - state = self.leftSplitter.saveState() + state = self.horizontalSplitter.saveState() self.profiles[self.currentProfile][2][0] = state state = self.verticalSplitter.saveState() self.profiles[self.currentProfile][2][1] = state - state = self.rightSplitter.saveState() - self.profiles[self.currentProfile][2][2] = state state = self.leftSidebar.saveState() + self.profiles[self.currentProfile][2][2] = state + state = self.bottomSidebar.saveState() self.profiles[self.currentProfile][2][3] = state - state = self.bottomSidebar.saveState() + state = self.rightSidebar.saveState() self.profiles[self.currentProfile][2][4] = state - state = self.rightSidebar.saveState() - self.profiles[self.currentProfile][2][5] = state # step 2: save the visibility of the windows of the active profile if self.__layoutType == "Toolboxes": @@ -4691,22 +4687,19 @@ if self.__layoutType == "Sidebars": state = self.profiles[name][2][0] if not state.isEmpty(): - self.leftSplitter.restoreState(state) + self.horizontalSplitter.restoreState(state) state = self.profiles[name][2][1] if not state.isEmpty(): self.verticalSplitter.restoreState(state) + state = self.profiles[name][2][2] - if not state.isEmpty(): - self.rightSplitter.restoreState(state) - + if state: + self.leftSidebar.restoreState(state) state = self.profiles[name][2][3] if state: - self.leftSidebar.restoreState(state) + self.bottomSidebar.restoreState(state) state = self.profiles[name][2][4] if state: - self.bottomSidebar.restoreState(state) - state = self.profiles[name][2][5] - if state: self.rightSidebar.restoreState(state) if self.__layoutType == "Toolboxes":