Wed, 08 Jan 2020 18:58:31 +0100
Changed code to avoid some obsoleted Qt functions.
--- a/eric6/Debugger/VariablesViewer.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/Debugger/VariablesViewer.py Wed Jan 08 18:58:31 2020 +0100 @@ -690,7 +690,10 @@ indentation = 0 # Check if text is longer than available space fontMetrics = QFontMetrics(self.treeView.font()) - textSize = fontMetrics.width(tooltip) + try: + textSize = fontMetrics.horizontalAdvance(tooltip) + except AttributeError: + textSize = fontMetrics.width(tooltip) textSize += indentation + 5 # How to determine border size? header = self.treeView.header() if textSize >= header.sectionSize(column):
--- a/eric6/E5Gui/E5ModelMenu.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/E5Gui/E5ModelMenu.py Wed Jan 08 18:58:31 2020 +0100 @@ -266,7 +266,10 @@ """ fm = QFontMetrics(self.font()) if self.__maxWidth == -1: - self.__maxWidth = fm.width('m') * 30 + try: + self.__maxWidth = fm.horizontalAdvance("m") * 30 + except AttributeError: + self.__maxWidth = fm.width('m') * 30 smallText = fm.elidedText(text, Qt.ElideMiddle, self.__maxWidth) return QAction(icon, smallText, parent)
--- a/eric6/E5Gui/E5SqueezeLabels.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/E5Gui/E5SqueezeLabels.py Wed Jan 08 18:58:31 2020 +0100 @@ -37,7 +37,11 @@ @param event reference to the paint event (QPaintEvent) """ fm = self.fontMetrics() - if fm.width(self.__text) > self.contentsRect().width(): + try: + pixelLength = fm.horizontalAdvance(self.__text) + except AttributeError: + pixelLength = fm.width(self.__text) + if pixelLength > self.contentsRect().width(): self.__elided = fm.elidedText( self.text(), Qt.ElideMiddle, self.width()) super(E5SqueezeLabel, self).setText(self.__elided) @@ -110,9 +114,7 @@ @param event reference to the paint event (QPaintEvent) """ - fm = self.fontMetrics() - if (fm.width(self.__surrounding.format(self.__path)) > - self.contentsRect().width()): + if self.length(self.__path) > self.contentsRect().width(): super(E5SqueezeLabelPath, self).setText( self.__surrounding.format(compactPath(self.__path, self.contentsRect().width(), @@ -130,4 +132,8 @@ @param txt text to calculate the length for after wrapped (string) @return length of the wrapped text in pixels (integer) """ - return self.fontMetrics().width(self.__surrounding.format(txt)) + fm = self.fontMetrics() + try: + return fm.horizontalAdvance(self.__surrounding.format(txt)) + except AttributeError: + return fm.width(self.__surrounding.format(txt))
--- a/eric6/E5Gui/E5ZoomWidget.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/E5Gui/E5ZoomWidget.py Wed Jan 08 18:58:31 2020 +0100 @@ -292,7 +292,10 @@ ) fmtStr = "{0}%" if self.__percent else "{0}" label = fmtStr.format("0" * labelLen) - width = self.valueLabel.fontMetrics().width(label) + try: + width = self.valueLabel.fontMetrics().horizontalAdvance(label) + except AttributeError: + width = self.valueLabel.fontMetrics().width(label) self.valueLabel.setMinimumWidth(width) self.valueLabel.setMaximumWidth(width)
--- a/eric6/HexEdit/HexEditWidget.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/HexEdit/HexEditWidget.py Wed Jan 08 18:58:31 2020 +0100 @@ -612,7 +612,10 @@ @type QFont """ super(HexEditWidget, self).setFont(font) - self.__pxCharWidth = self.fontMetrics().width("2") + try: + self.__pxCharWidth = self.fontMetrics().horizontalAdvance("2") + except AttributeError: + self.__pxCharWidth = self.fontMetrics().width("2") self.__pxCharHeight = self.fontMetrics().height() self.__pxGapAdr = self.__pxCharWidth // 2 self.__pxGapAdrHex = self.__pxCharWidth
--- a/eric6/QScintilla/Printer.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/QScintilla/Printer.py Wed Jan 08 18:58:31 2020 +0100 @@ -70,8 +70,13 @@ painter.setFont(self.headerFont) # set our header font painter.setPen(QColor(Qt.black)) # set color if drawing: + fm = painter.fontMetrics() + try: + fmWidth = fm.horizontalAdvance(header) + except AttributeError: + fmWidth = fm.width(header) painter.drawText( - area.right() - painter.fontMetrics().width(header), + area.right() - fmWidth, area.top() + painter.fontMetrics().ascent(), header) area.setTop(area.top() + painter.fontMetrics().height() + 5) painter.restore()
--- a/eric6/Snapshot/SnapshotTimer.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/Snapshot/SnapshotTimer.py Wed Jan 08 18:58:31 2020 +0100 @@ -39,10 +39,13 @@ self.__toggle = True # text is taken from paintEvent with maximum number plus some margin - self.resize( - self.fontMetrics().width(self.tr( - "Snapshot will be taken in %n seconds", "", 99)) + 6, - self.fontMetrics().height() + 4) + try: + fmWidth = self.fontMetrics().horizontalAdvance(self.tr( + "Snapshot will be taken in %n seconds", "", 99)) + except AttributeError: + fmWidth = self.fontMetrics().width(self.tr( + "Snapshot will be taken in %n seconds", "", 99)) + self.resize(fmWidth + 6, self.fontMetrics().height() + 4) self.__timer.timeout.connect(self.__bell)
--- a/eric6/UI/SymbolsWidget.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/UI/SymbolsWidget.py Wed Jan 08 18:58:31 2020 +0100 @@ -504,7 +504,10 @@ self.symbolsTable.horizontalHeader().setSectionResizeMode( QHeaderView.Fixed) fm = self.fontMetrics() - em = fm.width("M") + try: + em = fm.horizontalAdvance("M") + except AttributeError: + em = fm.width("M") self.symbolsTable.horizontalHeader().resizeSection(0, em * 5) self.symbolsTable.horizontalHeader().resizeSection(1, em * 5) self.symbolsTable.horizontalHeader().resizeSection(2, em * 6)
--- a/eric6/WebBrowser/Bookmarks/BookmarksDialog.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/Bookmarks/BookmarksDialog.py Wed Jan 08 18:58:31 2020 +0100 @@ -62,7 +62,10 @@ self.bookmarksTree.setModel(self.__proxyModel) self.bookmarksTree.setExpanded(self.__proxyModel.index(0, 0), True) fm = QFontMetrics(self.font()) - header = fm.width("m") * 40 + try: + header = fm.horizontalAdvance("m") * 40 + except AttributeError: + header = fm.width("m") * 40 self.bookmarksTree.header().resizeSection(0, header) self.bookmarksTree.header().setStretchLastSection(True) self.bookmarksTree.setContextMenuPolicy(Qt.CustomContextMenu)
--- a/eric6/WebBrowser/CookieJar/CookieExceptionsModel.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/CookieJar/CookieExceptionsModel.py Wed Jan 08 18:58:31 2020 +0100 @@ -47,8 +47,12 @@ if role == Qt.SizeHintRole: fm = QFontMetrics(QFont()) height = fm.height() + fm.height() // 3 - width = fm.width( - self.headerData(section, orientation, Qt.DisplayRole)) + try: + width = fm.horizontalAdvance( + self.headerData(section, orientation, Qt.DisplayRole)) + except AttributeError: + width = fm.width( + self.headerData(section, orientation, Qt.DisplayRole)) return QSize(width, height) if orientation == Qt.Horizontal and role == Qt.DisplayRole:
--- a/eric6/WebBrowser/CookieJar/CookiesExceptionsDialog.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/CookieJar/CookiesExceptionsDialog.py Wed Jan 08 18:58:31 2020 +0100 @@ -59,10 +59,21 @@ header = self.exceptionsTable.horizontalHeader().sectionSizeHint( section) if section == 0: - header = fm.width("averagebiglonghost.averagedomain.info") + try: + header = fm.horizontalAdvance( + "averagebiglonghost.averagedomain.info") + except AttributeError: + header = fm.width( + "averagebiglonghost.averagedomain.info") elif section == 1: - header = fm.width(self.tr("Allow For Session")) - buffer = fm.width("mm") + try: + header = fm.horizontalAdvance(self.tr("Allow For Session")) + except AttributeError: + header = fm.width(self.tr("Allow For Session")) + try: + buffer = fm.horizontalAdvance("mm") + except AttributeError: + buffer = fm.width("mm") header += buffer self.exceptionsTable.horizontalHeader().resizeSection( section, header)
--- a/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py Wed Jan 08 18:58:31 2020 +0100 @@ -123,7 +123,12 @@ name = index.data(Qt.DisplayRole) leftTitleEdge = leftPos + 2 rightTitleEdge = rightPos - self.__padding - leftPosForVersion = titleMetrics.width(name) + self.__padding + try: + leftPosForVersion = ( + titleMetrics.horizontalAdvance(name) + self.__padding + ) + except AttributeError: + leftPosForVersion = titleMetrics.width(name) + self.__padding nameRect = QRect(leftTitleEdge, opt.rect.top() + self.__padding, rightTitleEdge - leftTitleEdge, titleMetrics.height()) painter.setFont(titleFont)
--- a/eric6/WebBrowser/History/HistoryDialog.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/History/HistoryDialog.py Wed Jan 08 18:58:31 2020 +0100 @@ -63,7 +63,10 @@ self.historyTree.setModel(self.__proxyModel) self.historyTree.expandAll() fm = QFontMetrics(self.font()) - header = fm.width("m") * 40 + try: + header = fm.horizontalAdvance("m") * 40 + except AttributeError: + header = fm.width("m") * 40 self.historyTree.header().resizeSection(0, header) self.historyTree.header().resizeSection(1, header) self.historyTree.header().setStretchLastSection(True)
--- a/eric6/WebBrowser/History/HistoryMenu.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/History/HistoryMenu.py Wed Jan 08 18:58:31 2020 +0100 @@ -426,7 +426,10 @@ Private slot to populate the closed tabs menu. """ fm = self.__closedTabsMenu.fontMetrics() - maxWidth = fm.width('m') * 40 + try: + maxWidth = fm.horizontalAdvance('m') * 40 + except AttributeError: + maxWidth = fm.width('m') * 40 import WebBrowser.WebBrowserWindow self.__closedTabsMenu.clear()
--- a/eric6/WebBrowser/Passwords/PasswordsDialog.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/Passwords/PasswordsDialog.py Wed Jan 08 18:58:31 2020 +0100 @@ -67,12 +67,24 @@ header = self.passwordsTable.horizontalHeader().sectionSizeHint( section) if section == 0: - header = fm.width("averagebiglongsitename") + try: + header = fm.horizontalAdvance("averagebiglongsitename") + except AttributeError: + header = fm.width("averagebiglongsitename") elif section == 1: - header = fm.width("averagelongusername") + try: + header = fm.horizontalAdvance("averagelongusername") + except AttributeError: + header = fm.width("averagelongusername") elif section == 2: - header = fm.width("averagelongpassword") - buffer = fm.width("mm") + try: + header = fm.horizontalAdvance("averagelongpassword") + except AttributeError: + header = fm.width("averagelongpassword") + try: + buffer = fm.horizontalAdvance("mm") + except AttributeError: + buffer = fm.width("mm") header += buffer self.passwordsTable.horizontalHeader().resizeSection( section, header)
--- a/eric6/WebBrowser/WebBrowserPage.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/WebBrowserPage.py Wed Jan 08 18:58:31 2020 +0100 @@ -9,12 +9,17 @@ """ from PyQt5.QtCore import ( - pyqtSlot, pyqtSignal, QUrl, QUrlQuery, QTimer, QEventLoop, QPoint, QPointF + pyqtSlot, pyqtSignal, QUrl, QUrlQuery, QTimer, QEventLoop, QPoint, QPointF, + QT_VERSION ) from PyQt5.QtGui import QDesktopServices from PyQt5.QtWebEngineWidgets import ( QWebEnginePage, QWebEngineSettings, QWebEngineScript ) +try: + from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION +except AttributeError: + PYQT_WEBENGINE_VERSION = QT_VERSION from PyQt5.QtWebChannel import QWebChannel from E5Gui import E5MessageBox @@ -124,10 +129,14 @@ return False # GreaseMonkey - if ( - type_ == QWebEnginePage.NavigationTypeLinkClicked and - url.toString().endswith(".user.js") - ): + if PYQT_WEBENGINE_VERSION >= 0x50e00: # PyQtWebEngine >= 5.14.0 + navigationType = type_ in [ + QWebEnginePage.NavigationTypeLinkClicked, + QWebEnginePage.NavigationTypeRedirect + ] + else: + navigationType = type_ == QWebEnginePage.NavigationTypeLinkClicked + if navigationType and url.toString().endswith(".user.js"): WebBrowserWindow.greaseMonkeyManager().downloadScript(url) return False @@ -179,8 +188,8 @@ ) self.safeBrowsingBad.emit(threatType, "".join(threatMessages)) - result = QWebEnginePage.acceptNavigationRequest(self, url, type_, - isMainFrame) + result = QWebEnginePage.acceptNavigationRequest( + self, url, type_, isMainFrame) if result: if isMainFrame:
--- a/eric6/WebBrowser/WebBrowserTabWidget.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/WebBrowserTabWidget.py Wed Jan 08 18:58:31 2020 +0100 @@ -1134,7 +1134,10 @@ Private slot to populate the closed tabs menu. """ fm = self.__closedTabsMenu.fontMetrics() - maxWidth = fm.width('m') * 40 + try: + maxWidth = fm.horizontalAdvance('m') * 40 + except AttributeError: + maxWidth = fm.width('m') * 40 self.__closedTabsMenu.clear() index = 0
--- a/eric6/WebBrowser/WebBrowserWindow.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/WebBrowserWindow.py Wed Jan 08 18:58:31 2020 +0100 @@ -2359,8 +2359,13 @@ filtertb = self.addToolBar(self.tr("Filter")) filtertb.setObjectName("FilterToolBar") self.filterCombo = QComboBox() - self.filterCombo.setMinimumWidth( - QFontMetrics(QFont()).width("ComboBoxWithEnoughWidth")) + try: + comboWidth = QFontMetrics(QFont()).horizontalAdvance( + "ComboBoxWithEnoughWidth") + except AttributeError: + comboWidth = QFontMetrics(QFont()).width( + "ComboBoxWithEnoughWidth") + self.filterCombo.setMinimumWidth(comboWidth) filtertb.addWidget(QLabel(self.tr("Filtered by: "))) filtertb.addWidget(self.filterCombo) self.__helpEngine.setupFinished.connect(self.__setupFilterCombo)
--- a/eric6/WebBrowser/ZoomManager/ZoomValuesDialog.py Wed Jan 08 18:57:10 2020 +0100 +++ b/eric6/WebBrowser/ZoomManager/ZoomValuesDialog.py Wed Jan 08 18:58:31 2020 +0100 @@ -60,10 +60,21 @@ header = self.zoomValuesTable.horizontalHeader().sectionSizeHint( section) if section == 0: - header = fm.width("extraveryveryverylongsitename") + try: + header = fm.horizontalAdvance( + "extraveryveryverylongsitename") + except AttributeError: + header = fm.width( + "extraveryveryverylongsitename") elif section == 1: - header = fm.width("averagelongzoomvalue") - buffer = fm.width("mm") + try: + header = fm.horizontalAdvance("averagelongzoomvalue") + except AttributeError: + header = fm.width("averagelongzoomvalue") + try: + buffer = fm.width("mm") + except AttributeError: + buffer = fm.width("mm") header += buffer self.zoomValuesTable.horizontalHeader().resizeSection( section, header)