Changed code to avoid some obsoleted Qt functions.

Wed, 08 Jan 2020 18:58:31 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 08 Jan 2020 18:58:31 +0100
changeset 7366
bd743eacfbca
parent 7365
da7e4df94076
child 7368
b2cbfede3ddd

Changed code to avoid some obsoleted Qt functions.

eric6/Debugger/VariablesViewer.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ModelMenu.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5SqueezeLabels.py file | annotate | diff | comparison | revisions
eric6/E5Gui/E5ZoomWidget.py file | annotate | diff | comparison | revisions
eric6/HexEdit/HexEditWidget.py file | annotate | diff | comparison | revisions
eric6/QScintilla/Printer.py file | annotate | diff | comparison | revisions
eric6/Snapshot/SnapshotTimer.py file | annotate | diff | comparison | revisions
eric6/UI/SymbolsWidget.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Bookmarks/BookmarksDialog.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/CookieJar/CookieExceptionsModel.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/CookieJar/CookiesExceptionsDialog.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/History/HistoryDialog.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/History/HistoryMenu.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/Passwords/PasswordsDialog.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserPage.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserTabWidget.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/ZoomManager/ZoomValuesDialog.py file | annotate | diff | comparison | revisions
--- 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)

eric ide

mercurial