E5Gui/E5SideBar.py

branch
maintenance
changeset 6746
d105e61f4914
parent 6645
ad476851d7e0
equal deleted inserted replaced
6694:1cccd74fd355 6746:d105e61f4914
23 class E5SideBar(QWidget): 23 class E5SideBar(QWidget):
24 """ 24 """
25 Class implementing a sidebar with a widget area, that is hidden or shown, 25 Class implementing a sidebar with a widget area, that is hidden or shown,
26 if the current tab is clicked again. 26 if the current tab is clicked again.
27 """ 27 """
28 Version = 1 28 Version = 2
29 29
30 North = 0 30 North = 0
31 East = 1 31 East = 1
32 South = 2 32 South = 2
33 West = 3 33 West = 3
575 stream.setVersion(QDataStream.Qt_4_6) 575 stream.setVersion(QDataStream.Qt_4_6)
576 576
577 stream.writeUInt16(self.Version) 577 stream.writeUInt16(self.Version)
578 stream.writeBool(self.__minimized) 578 stream.writeBool(self.__minimized)
579 stream << self.__bigSize 579 stream << self.__bigSize
580 stream.writeUInt16(self.__minSize) 580 stream.writeUInt32(self.__minSize)
581 stream.writeUInt16(self.__maxSize) 581 stream.writeUInt32(self.__maxSize)
582 stream.writeUInt16(len(self.splitterSizes)) 582 stream.writeUInt32(len(self.splitterSizes))
583 for size in self.splitterSizes: 583 for size in self.splitterSizes:
584 stream.writeUInt16(size) 584 stream.writeUInt32(size)
585 stream.writeBool(self.__autoHide) 585 stream.writeBool(self.__autoHide)
586 586
587 return data 587 return data
588 588
589 def restoreState(self, state): 589 def restoreState(self, state):
604 maxSize = self.maximumWidth() 604 maxSize = self.maximumWidth()
605 605
606 data = QByteArray(state) 606 data = QByteArray(state)
607 stream = QDataStream(data, QIODevice.ReadOnly) 607 stream = QDataStream(data, QIODevice.ReadOnly)
608 stream.setVersion(QDataStream.Qt_4_6) 608 stream.setVersion(QDataStream.Qt_4_6)
609 stream.readUInt16() # version 609 version = stream.readUInt16() # version
610 minimized = stream.readBool() 610 minimized = stream.readBool()
611 611
612 if minimized and not self.__minimized: 612 if minimized and not self.__minimized:
613 self.shrink() 613 self.shrink()
614 614
615 stream >> self.__bigSize 615 stream >> self.__bigSize
616 self.__minSize = max(stream.readUInt16(), minSize) 616 if version == 1:
617 self.__maxSize = max(stream.readUInt16(), maxSize) 617 self.__minSize = max(stream.readUInt16(), minSize)
618 count = stream.readUInt16() 618 self.__maxSize = max(stream.readUInt16(), maxSize)
619 self.splitterSizes = [] 619 count = stream.readUInt16()
620 for _ in range(count): 620 self.splitterSizes = []
621 self.splitterSizes.append(stream.readUInt16()) 621 for _ in range(count):
622 self.splitterSizes.append(stream.readUInt16())
623 elif version == 2:
624 self.__minSize = max(stream.readUInt32(), minSize)
625 self.__maxSize = max(stream.readUInt32(), maxSize)
626 count = stream.readUInt32()
627 self.splitterSizes = []
628 for _ in range(count):
629 self.splitterSizes.append(stream.readUInt32())
622 630
623 self.__autoHide = stream.readBool() 631 self.__autoHide = stream.readBool()
624 self.__autoHideButton.setChecked(not self.__autoHide) 632 self.__autoHideButton.setChecked(not self.__autoHide)
625 633
626 if not minimized: 634 if not minimized:

eric ide

mercurial