src/eric7/WebBrowser/ZoomManager/ZoomValuesDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
16 16
17 class ZoomValuesDialog(QDialog, Ui_ZoomValuesDialog): 17 class ZoomValuesDialog(QDialog, Ui_ZoomValuesDialog):
18 """ 18 """
19 Class implementing a dialog to show all saved zoom values. 19 Class implementing a dialog to show all saved zoom values.
20 """ 20 """
21
21 def __init__(self, parent=None): 22 def __init__(self, parent=None):
22 """ 23 """
23 Constructor 24 Constructor
24 25
25 @param parent reference to the parent widget (QWidget) 26 @param parent reference to the parent widget (QWidget)
26 """ 27 """
27 super().__init__(parent) 28 super().__init__(parent)
28 self.setupUi(self) 29 self.setupUi(self)
29 30
30 self.removeButton.clicked.connect( 31 self.removeButton.clicked.connect(self.zoomValuesTable.removeSelected)
31 self.zoomValuesTable.removeSelected)
32 self.removeAllButton.clicked.connect(self.zoomValuesTable.removeAll) 32 self.removeAllButton.clicked.connect(self.zoomValuesTable.removeAll)
33 33
34 from . import ZoomManager 34 from . import ZoomManager
35 from .ZoomValuesModel import ZoomValuesModel 35 from .ZoomValuesModel import ZoomValuesModel
36 36
37 self.zoomValuesTable.verticalHeader().hide() 37 self.zoomValuesTable.verticalHeader().hide()
38 self.__zoomValuesModel = ZoomValuesModel( 38 self.__zoomValuesModel = ZoomValuesModel(ZoomManager.instance(), self)
39 ZoomManager.instance(), self)
40 self.__proxyModel = QSortFilterProxyModel(self) 39 self.__proxyModel = QSortFilterProxyModel(self)
41 self.__proxyModel.setSourceModel(self.__zoomValuesModel) 40 self.__proxyModel.setSourceModel(self.__zoomValuesModel)
42 self.searchEdit.textChanged.connect( 41 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString)
43 self.__proxyModel.setFilterFixedString)
44 self.zoomValuesTable.setModel(self.__proxyModel) 42 self.zoomValuesTable.setModel(self.__proxyModel)
45 43
46 fm = QFontMetrics(QFont()) 44 fm = QFontMetrics(QFont())
47 height = fm.height() + fm.height() // 3 45 height = fm.height() + fm.height() // 3
48 self.zoomValuesTable.verticalHeader().setDefaultSectionSize(height) 46 self.zoomValuesTable.verticalHeader().setDefaultSectionSize(height)
49 self.zoomValuesTable.verticalHeader().setMinimumSectionSize(-1) 47 self.zoomValuesTable.verticalHeader().setMinimumSectionSize(-1)
50 48
51 self.__calculateHeaderSizes() 49 self.__calculateHeaderSizes()
52 50
53 def __calculateHeaderSizes(self): 51 def __calculateHeaderSizes(self):
54 """ 52 """
55 Private method to calculate the section sizes of the horizontal header. 53 Private method to calculate the section sizes of the horizontal header.
56 """ 54 """
57 fm = QFontMetrics(QFont()) 55 fm = QFontMetrics(QFont())
58 for section in range(self.__zoomValuesModel.columnCount()): 56 for section in range(self.__zoomValuesModel.columnCount()):
59 header = self.zoomValuesTable.horizontalHeader().sectionSizeHint( 57 header = self.zoomValuesTable.horizontalHeader().sectionSizeHint(section)
60 section)
61 if section == 0: 58 if section == 0:
62 try: 59 try:
63 header = fm.horizontalAdvance( 60 header = fm.horizontalAdvance("extraveryveryverylongsitename")
64 "extraveryveryverylongsitename")
65 except AttributeError: 61 except AttributeError:
66 header = fm.width( 62 header = fm.width("extraveryveryverylongsitename")
67 "extraveryveryverylongsitename")
68 elif section == 1: 63 elif section == 1:
69 try: 64 try:
70 header = fm.horizontalAdvance("averagelongzoomvalue") 65 header = fm.horizontalAdvance("averagelongzoomvalue")
71 except AttributeError: 66 except AttributeError:
72 header = fm.width("averagelongzoomvalue") 67 header = fm.width("averagelongzoomvalue")
73 try: 68 try:
74 buffer = fm.width("mm") 69 buffer = fm.width("mm")
75 except AttributeError: 70 except AttributeError:
76 buffer = fm.width("mm") 71 buffer = fm.width("mm")
77 header += buffer 72 header += buffer
78 self.zoomValuesTable.horizontalHeader().resizeSection( 73 self.zoomValuesTable.horizontalHeader().resizeSection(section, header)
79 section, header)
80 self.zoomValuesTable.horizontalHeader().setStretchLastSection(True) 74 self.zoomValuesTable.horizontalHeader().setStretchLastSection(True)

eric ide

mercurial