--- a/eric7/EricWidgets/EricSideBar.py Mon Oct 25 18:30:10 2021 +0200 +++ b/eric7/EricWidgets/EricSideBar.py Tue Oct 26 17:00:21 2021 +0200 @@ -31,7 +31,7 @@ Class implementing a sidebar with a widget area, that is hidden or shown, if the current tab is clicked again. """ - Version = 3 + Version = 4 def __init__(self, orientation=None, iconBarSize=EricIconBar.DefaultBarSize, parent=None): @@ -67,9 +67,6 @@ self.__maxSize = 0 self.__bigSize = QSize() - self.splitter = None - self.splitterSizes = [] - self.__hasFocus = False # flag storing if this widget or any child has the focus self.__autoHide = False @@ -86,28 +83,6 @@ self.__iconBar.currentClicked.connect( self.__currentIconClicked) - def setSplitter(self, splitter): - """ - Public method to set the splitter managing the sidebar. - - @param splitter reference to the splitter (QSplitter) - """ - self.splitter = splitter - self.splitter.splitterMoved.connect(self.__splitterMoved) - self.splitter.setChildrenCollapsible(False) - index = self.splitter.indexOf(self) - self.splitter.setCollapsible(index, False) - - def __splitterMoved(self, pos, index): - """ - Private slot to react on splitter moves. - - @param pos new position of the splitter handle (integer) - @param index index of the splitter handle (integer) - """ - if self.splitter: - self.splitterSizes = self.splitter.sizes() - def __shrinkIt(self): """ Private method to shrink the sidebar. @@ -122,8 +97,6 @@ else: self.__minSize = self.minimumSizeHint().width() self.__maxSize = self.maximumWidth() - if self.splitter: - self.splitterSizes = self.splitter.sizes() self.__stackedWidget.hide() @@ -151,8 +124,6 @@ minSize = max(self.__minSize, self.minimumSizeHint().width()) self.setMinimumWidth(minSize) self.setMaximumWidth(self.__maxSize) - if self.splitter: - self.splitter.setSizes(self.splitterSizes) def isMinimized(self): """ @@ -417,18 +388,15 @@ @return saved state as a byte array (QByteArray) """ - if len(self.splitterSizes) == 0: - if self.splitter: - self.splitterSizes = self.splitter.sizes() - self.__bigSize = self.size() - if self.__orientation in ( - EricSideBarSide.NORTH, EricSideBarSide.SOUTH - ): - self.__minSize = self.minimumSizeHint().height() - self.__maxSize = self.maximumHeight() - else: - self.__minSize = self.minimumSizeHint().width() - self.__maxSize = self.maximumWidth() + self.__bigSize = self.size() + if self.__orientation in ( + EricSideBarSide.NORTH, EricSideBarSide.SOUTH + ): + self.__minSize = self.minimumSizeHint().height() + self.__maxSize = self.maximumHeight() + else: + self.__minSize = self.minimumSizeHint().width() + self.__maxSize = self.maximumWidth() dataDict = { "version": self.Version, @@ -436,7 +404,6 @@ "big_size": [self.__bigSize.width(), self.__bigSize.height()], "min_size": self.__minSize, "max_size": self.__maxSize, - "splitter_sizes": self.splitterSizes, } data = json.dumps(dataDict) @@ -469,14 +436,13 @@ minSize = self.layout.minimumSize().width() maxSize = self.maximumWidth() - if stateDict["version"] in (2, 3): + if stateDict["version"] in (2, 3, 4): if stateDict["minimized"] and not self.__minimized: self.__shrinkIt() self.__bigSize = QSize(*stateDict["big_size"]) self.__minSize = max(stateDict["min_size"], minSize) self.__maxSize = max(stateDict["max_size"], maxSize) - self.splitterSizes = stateDict["splitter_sizes"] if not stateDict["minimized"]: self.__expandIt()