Sat, 13 May 2017 16:32:54 +0200
Prepared the code for Qt > 5.9.99.
--- a/DataViews/CodeMetricsDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/DataViews/CodeMetricsDialog.py Sat May 13 16:32:54 2017 +0200 @@ -12,7 +12,7 @@ import os import fnmatch -from PyQt5.QtCore import pyqtSlot, Qt, QLocale, qVersion +from PyQt5.QtCore import pyqtSlot, Qt, QLocale from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QMenu, QHeaderView, \ QTreeWidgetItem, QApplication @@ -20,6 +20,7 @@ from . import CodeMetrics import Utilities +from Globals import qVersionTuple class CodeMetricsDialog(QDialog, Ui_CodeMetricsDialog): @@ -235,7 +236,7 @@ self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.resultList.header().setSectionResizeMode( QHeaderView.Interactive) self.summaryList.header().setSectionResizeMode(
--- a/Debugger/BreakPointViewer.py Sat May 13 13:46:05 2017 +0200 +++ b/Debugger/BreakPointViewer.py Sat May 13 16:32:54 2017 +0200 @@ -9,13 +9,15 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, Qt, qVersion, QItemSelectionModel, \ +from PyQt5.QtCore import pyqtSignal, Qt, QItemSelectionModel, \ QSortFilterProxyModel from PyQt5.QtWidgets import QTreeView, QAbstractItemView, QHeaderView, QMenu, \ QDialog from E5Gui.E5Application import e5App +from Globals import qVersionTuple + class BreakPointViewer(QTreeView): """ @@ -73,7 +75,7 @@ header = self.header() header.setSortIndicator(0, Qt.AscendingOrder) header.setSortIndicatorShown(True) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): header.setSectionsClickable(True) else: header.setClickable(True)
--- a/Debugger/VariablesViewer.py Sat May 13 13:46:05 2017 +0200 +++ b/Debugger/VariablesViewer.py Sat May 13 16:32:54 2017 +0200 @@ -13,7 +13,7 @@ except NameError: pass -from PyQt5.QtCore import Qt, QRegExp, qVersion, QCoreApplication +from PyQt5.QtCore import Qt, QRegExp, QCoreApplication from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QAbstractItemView, \ QMenu @@ -23,6 +23,7 @@ import Preferences import Utilities +from Globals import qVersionTuple class VariableItem(QTreeWidgetItem): @@ -378,7 +379,7 @@ header = self.header() header.setSortIndicator(0, Qt.AscendingOrder) header.setSortIndicatorShown(True) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): header.setSectionsClickable(True) else: header.setClickable(True)
--- a/Debugger/WatchPointViewer.py Sat May 13 13:46:05 2017 +0200 +++ b/Debugger/WatchPointViewer.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, QModelIndex, qVersion, QItemSelectionModel, \ +from PyQt5.QtCore import Qt, QModelIndex, QItemSelectionModel, \ QSortFilterProxyModel from PyQt5.QtWidgets import QTreeView, QAbstractItemView, QMenu, QHeaderView, \ QDialog @@ -18,6 +18,7 @@ from E5Gui import E5MessageBox import Utilities +from Globals import qVersionTuple class WatchPointViewer(QTreeView): @@ -68,7 +69,7 @@ header = self.header() header.setSortIndicator(0, Qt.AscendingOrder) header.setSortIndicatorShown(True) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): header.setSectionsClickable(True) else: header.setClickable(True)
--- a/E5Gui/E5LineEdit.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Gui/E5LineEdit.py Sat May 13 16:32:54 2017 +0200 @@ -9,11 +9,14 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, Qt, QEvent, qVersion +from PyQt5.QtCore import pyqtSignal, Qt, QEvent from PyQt5.QtGui import QPainter, QPalette from PyQt5.QtWidgets import QLineEdit, QStyle, QWidget, QHBoxLayout, \ QBoxLayout, QLayout, QApplication, QSpacerItem, QSizePolicy -if qVersion() >= "5.0.0": + +from Globals import qVersionTuple + +if qVersionTuple() >= (5, 0, 0): from PyQt5.QtWidgets import QStyleOptionFrame else: from PyQt5.QtWidgets import QStyleOptionFrameV2 as QStyleOptionFrame @@ -67,7 +70,7 @@ self.setMinimumHeight(22) - if qVersion() < "4.7.0": + if qVersionTuple() < (4, 7, 0): self.__inactiveText = inactiveText else: self.setPlaceholderText(inactiveText) @@ -154,7 +157,7 @@ """ super(E5LineEdit, self).paintEvent(evt) - if qVersion() < "4.7.0": + if qVersionTuple() < (4, 7, 0): if not self.text() and \ self.__inactiveText and \ not self.hasFocus(): @@ -262,7 +265,7 @@ @return inactive text (string) """ - if qVersion() < "4.7.0": + if qVersionTuple() < (4, 7, 0): return self.__inactiveText else: return self.placeholderText() @@ -273,7 +276,7 @@ @param inactiveText text to be shown on inactivity (string) """ - if qVersion() < "4.7.0": + if qVersionTuple() < (4, 7, 0): self.__inactiveText = inactiveText self.update() else:
--- a/E5Gui/E5MapWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Gui/E5MapWidget.py Sat May 13 16:32:54 2017 +0200 @@ -9,10 +9,12 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, QSize, QRect, QCoreApplication, qVersion +from PyQt5.QtCore import Qt, QSize, QRect, QCoreApplication from PyQt5.QtGui import QColor, QBrush, QPainter from PyQt5.QtWidgets import QWidget, QAbstractScrollArea +from Globals import qVersionTuple + class E5MapWidget(QWidget): """ @@ -219,7 +221,7 @@ @param event reference to the wheel event (QWheelEvent) """ - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): isVertical = event.angleDelta().x() == 0 else: isVertical = event.orientation() == Qt.Vertical
--- a/E5Gui/E5ModelMenu.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Gui/E5ModelMenu.py Sat May 13 16:32:54 2017 +0200 @@ -9,11 +9,12 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, qVersion, Qt, QModelIndex, QPoint +from PyQt5.QtCore import pyqtSignal, Qt, QModelIndex, QPoint from PyQt5.QtGui import QFontMetrics, QDrag, QPixmap from PyQt5.QtWidgets import QMenu, QAction, QApplication import UI.PixmapCache +from Globals import qVersionTuple class E5ModelMenu(QMenu): @@ -388,7 +389,7 @@ drag = QDrag(self) drag.setMimeData(self.__model.mimeData([idx])) actionRect = self.actionGeometry(act) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): drag.setPixmap(self.grab(actionRect)) else: drag.setPixmap(QPixmap.grabWidget(self, actionRect))
--- a/E5Gui/E5ModelToolBar.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Gui/E5ModelToolBar.py Sat May 13 16:32:54 2017 +0200 @@ -9,10 +9,12 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, qVersion, Qt, QModelIndex, QPoint, QEvent +from PyQt5.QtCore import pyqtSignal, Qt, QModelIndex, QPoint, QEvent from PyQt5.QtGui import QDrag, QPixmap, QIcon from PyQt5.QtWidgets import QApplication, QToolBar, QToolButton +from Globals import qVersionTuple + class E5ModelToolBar(QToolBar): """ @@ -251,7 +253,7 @@ drag = QDrag(self) drag.setMimeData(self.__model.mimeData([idx])) actionRect = self.actionGeometry(act) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): drag.setPixmap(self.grab(actionRect)) else: drag.setPixmap(QPixmap.grabWidget(self, actionRect))
--- a/E5Gui/E5SideBar.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Gui/E5SideBar.py Sat May 13 16:32:54 2017 +0200 @@ -10,13 +10,14 @@ from __future__ import unicode_literals from PyQt5.QtCore import QEvent, QSize, Qt, QByteArray, QDataStream, \ - QIODevice, QTimer, qVersion + QIODevice, QTimer from PyQt5.QtWidgets import QTabBar, QWidget, QStackedWidget, QBoxLayout, \ QToolButton, QSizePolicy from E5Gui.E5Application import e5App import UI.PixmapCache +from Globals import qVersionTuple class E5SideBar(QWidget): @@ -254,7 +255,7 @@ elif self.isMinimized(): self.expand() elif evt.type() == QEvent.Wheel: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/E5Gui/E5TabWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Gui/E5TabWidget.py Sat May 13 16:32:54 2017 +0200 @@ -9,11 +9,12 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, QPoint, QMimeData, QByteArray, pyqtSignal, \ - qVersion +from PyQt5.QtCore import Qt, QPoint, QMimeData, QByteArray, pyqtSignal from PyQt5.QtGui import QDrag, QMovie from PyQt5.QtWidgets import QTabWidget, QTabBar, QApplication, QStyle, QLabel +from Globals import qVersionTuple + class E5WheelTabBar(QTabBar): """ @@ -36,7 +37,7 @@ @param event reference to the wheel event (QWheelEvent) """ try: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = event.angleDelta().y() else: delta = event.delta()
--- a/E5Network/E5SslCertificatesDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Network/E5SslCertificatesDialog.py Sat May 13 16:32:54 2017 +0200 @@ -10,7 +10,7 @@ from __future__ import unicode_literals from PyQt5.QtCore import pyqtSlot, Qt, QByteArray, QFile, QFileInfo, \ - QIODevice, qVersion + QIODevice from PyQt5.QtWidgets import QDialog, QTreeWidgetItem try: from PyQt5.QtNetwork import QSslCertificate, QSslSocket, \ @@ -26,6 +26,7 @@ import Utilities import UI.PixmapCache import Globals +from Globals import qVersionTuple class E5SslCertificatesDialog(QDialog, Ui_E5SslCertificatesDialog): @@ -86,7 +87,7 @@ @param cert certificate to insert (QSslCertificate) """ # step 1: extract the info to be shown - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): organisation = Utilities.decodeString( ", ".join(cert.subjectInfo(QSslCertificate.Organization))) commonName = Utilities.decodeString( @@ -213,7 +214,7 @@ pems = QByteArray() for cert in certs: if cert in sCerts: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): commonStr = ", ".join( cert.subjectInfo(QSslCertificate.CommonName)) else: @@ -297,7 +298,7 @@ @param cert certificate to insert (QSslCertificate) """ # step 1: extract the info to be shown - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): organisation = Utilities.decodeString( ", ".join(cert.subjectInfo(QSslCertificate.Organization))) commonName = Utilities.decodeString( @@ -403,7 +404,7 @@ caCerts = self.__getSystemCaCertificates() for cert in certs: if cert in caCerts: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): commonStr = ", ".join( cert.subjectInfo(QSslCertificate.CommonName)) else:
--- a/E5Network/E5SslCertificatesInfoWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Network/E5SslCertificatesInfoWidget.py Sat May 13 16:32:54 2017 +0200 @@ -13,13 +13,14 @@ except NameError: pass -from PyQt5.QtCore import pyqtSlot, QCryptographicHash, QDateTime, qVersion +from PyQt5.QtCore import pyqtSlot, QCryptographicHash, QDateTime from PyQt5.QtWidgets import QWidget from PyQt5.QtNetwork import QSslCertificate from .Ui_E5SslCertificatesInfoWidget import Ui_E5SslCertificatesInfoWidget import Utilities +from Globals import qVersionTuple class E5SslCertificatesInfoWidget(QWidget, Ui_E5SslCertificatesInfoWidget): @@ -51,12 +52,12 @@ self.__chain = certificateChain[:] for cert in self.__chain: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): name = ", ".join(cert.subjectInfo(QSslCertificate.CommonName)) else: name = cert.subjectInfo(QSslCertificate.CommonName) if not name: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): name = ", ".join( cert.subjectInfo(QSslCertificate.Organization)) else: @@ -94,7 +95,7 @@ self.expiredLabel.setStyleSheet( "QLabel { color : white; background-color : red; }") - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.subjectCommonNameLabel.setText(self.__certificateString( ", ".join(certificate.subjectInfo( QSslCertificate.CommonName)))) @@ -141,8 +142,8 @@ str(certificate.digest(QCryptographicHash.Md5).toHex(), encoding="ascii"))) - if (qVersion() >= "5.0.0" and certificate.isBlacklisted()) or \ - (qVersion() < "5.0.0" and not certificate.isValid()): + if (qVersionTuple() >= (5, 0, 0) and certificate.isBlacklisted()) or \ + (qVersionTuple() < (5, 0, 0) and not certificate.isValid()): # something is wrong; indicate it to the user if self.__hasExpired(certificate.effectiveDate(), certificate.expiryDate()):
--- a/E5Network/E5SslErrorHandler.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Network/E5SslErrorHandler.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion, QObject, QByteArray +from PyQt5.QtCore import QObject, QByteArray from PyQt5.QtNetwork import QSslCertificate, QSslConfiguration, QSslSocket, \ QSslError, QSsl @@ -18,6 +18,7 @@ import Preferences import Utilities import Globals +from Globals import qVersionTuple class E5SslErrorHandler(QObject): @@ -192,7 +193,7 @@ """ result = "<p>" - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): result += self.tr("Name: {0}")\ .format(Utilities.html_encode(Utilities.decodeString( ", ".join(cert.subjectInfo(QSslCertificate.CommonName)))))
--- a/E5Network/E5SslInfoWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/E5Network/E5SslInfoWidget.py Sat May 13 16:32:54 2017 +0200 @@ -9,12 +9,13 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion, Qt, QUrl, QPoint +from PyQt5.QtCore import Qt, QUrl, QPoint from PyQt5.QtWidgets import QMenu, QGridLayout, QLabel, QSizePolicy from PyQt5.QtNetwork import QSsl, QSslConfiguration, QSslCertificate import UI.PixmapCache import Utilities +from Globals import qVersionTuple class E5SslInfoWidget(QMenu): @@ -68,12 +69,12 @@ "Warning: this site is NOT carrying a certificate.")) imageLabel.setPixmap(UI.PixmapCache.getPixmap("securityLow32.png")) else: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): valid = not cert.isBlacklisted() else: valid = cert.isValid() if valid: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): txt = ", ".join( cert.issuerInfo(QSslCertificate.CommonName)) else: @@ -151,7 +152,7 @@ sslVersion = self.tr("unknown") imageLabel.setPixmap( UI.PixmapCache.getPixmap("securityLow32.png")) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): if proto == QSsl.TlsV1_0: sslVersion = "TLS 1.0" imageLabel.setPixmap(
--- a/Globals/__init__.py Sat May 13 13:46:05 2017 +0200 +++ b/Globals/__init__.py Sat May 13 16:32:54 2017 +0200 @@ -15,9 +15,10 @@ import sys import os +import re -from PyQt5.QtCore import (QDir, QLibraryInfo, QByteArray, - QCoreApplication, QT_VERSION_STR) +from PyQt5.QtCore import QDir, QLibraryInfo, QByteArray, QCoreApplication, \ + QT_VERSION_STR, QT_VERSION # names of the various settings objects settingsNameOrganization = "Eric6" @@ -318,6 +319,48 @@ ############################################################################### +def versionToTuple(version): + """ + Module function to convert a version string into a tuple. + + Note: A version string consists of non-negative decimals separated by "." + optionally followed by a suffix. Suffix is everything after the last + decimal. + + @param version version string + @type str + @return version tuple without the suffix + @rtype tuple of int + """ + versionParts = [] + + # step 1: extract suffix + version = re.split(r"[^\d.]", version)[0] + for part in version.split("."): + versionParts.append(int(part)) + + return tuple(versionParts) + + +def qVersionTuple(): + """ + Module function to get the Qt version as a tuple. + + @return Qt version as a tuple + @rtype tuple of int + """ + return ( + (QT_VERSION & 0xff0000) >> 16, + (QT_VERSION & 0xff00) >> 8, + QT_VERSION & 0xff, + ) + + +############################################################################### +## functions for extended string handling +############################################################################### + + def strGroup(txt, sep, groupLen=4): """ Module function to group a string into sub-strings separated by a
--- a/Graphics/PixmapDiagram.py Sat May 13 13:46:05 2017 +0200 +++ b/Graphics/PixmapDiagram.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, QSize, QEvent, qVersion +from PyQt5.QtCore import Qt, QSize, QEvent from PyQt5.QtGui import QPalette, QImage, QPixmap, QPainter, QFont, QColor from PyQt5.QtWidgets import QLabel, QSizePolicy, QScrollArea, QAction, QMenu, \ QToolBar @@ -22,6 +22,7 @@ import UI.Config import Preferences +from Globals import qVersionTuple class PixmapDiagram(E5MainWindow): @@ -187,7 +188,7 @@ @param evt reference to the wheel event (QWheelEvent) """ if evt.modifiers() & Qt.ControlModifier: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Graphics/SvgDiagram.py Sat May 13 13:46:05 2017 +0200 +++ b/Graphics/SvgDiagram.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, QSize, QEvent, qVersion +from PyQt5.QtCore import Qt, QSize, QEvent from PyQt5.QtGui import QPalette, QPainter, QFont, QColor from PyQt5.QtWidgets import QSizePolicy, QScrollArea, QAction, QMenu, QToolBar from PyQt5.QtPrintSupport import QPrinter, QPrintDialog @@ -21,6 +21,7 @@ import UI.Config import Preferences +from Globals import qVersionTuple class SvgDiagram(E5MainWindow): @@ -157,7 +158,7 @@ @param evt reference to the wheel event (QWheelEvent) """ if evt.modifiers() & Qt.ControlModifier: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Graphics/UMLGraphicsView.py Sat May 13 13:46:05 2017 +0200 +++ b/Graphics/UMLGraphicsView.py Sat May 13 16:32:54 2017 +0200 @@ -10,7 +10,7 @@ from __future__ import unicode_literals from PyQt5.QtCore import pyqtSignal, Qt, QSignalMapper, QFileInfo, QEvent, \ - QRectF, qVersion + QRectF from PyQt5.QtWidgets import QGraphicsView, QAction, QToolBar, QDialog from PyQt5.QtPrintSupport import QPrinter, QPrintDialog @@ -25,6 +25,7 @@ import UI.PixmapCache import Preferences +from Globals import qVersionTuple class UMLGraphicsView(E5GraphicsView): @@ -601,7 +602,7 @@ @param evt reference to the wheel event (QWheelEvent) """ if evt.modifiers() & Qt.ControlModifier: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Helpviewer/AdBlock/AdBlockAccessHandler.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/AdBlock/AdBlockAccessHandler.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion, QByteArray +from PyQt5.QtCore import QByteArray from PyQt5.QtNetwork import QNetworkAccessManager from E5Gui import E5MessageBox @@ -17,6 +17,8 @@ from Helpviewer.Network.SchemeAccessHandler import SchemeAccessHandler from Helpviewer.Network.EmptyNetworkReply import EmptyNetworkReply +from Globals import qVersionTuple + class AdBlockAccessHandler(SchemeAccessHandler): """ @@ -40,7 +42,7 @@ if url.path() != "subscribe": return None - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery, QUrl title = QUrl.fromPercentEncoding( QByteArray(QUrlQuery(url).queryItemValue("title").encode()))
--- a/Helpviewer/AdBlock/AdBlockRule.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/AdBlock/AdBlockRule.py Sat May 13 16:32:54 2017 +0200 @@ -11,9 +11,11 @@ import re -from PyQt5.QtCore import Qt, QRegExp, QUrl, qVersion +from PyQt5.QtCore import Qt, QRegExp, QUrl from PyQt5.QtNetwork import QNetworkRequest +from Globals import qVersionTuple + # Qt version < 4.8 has an issue; it will wrongly # count .co.uk (and others) as second-level domains @@ -24,7 +26,7 @@ @param url URL to extract domain from (QUrl) @return name of second level domain (string) """ - if qVersion() >= "4.8.0": + if qVersionTuple() >= (4, 8, 0): topLevelDomain = url.topLevelDomain() urlHost = url.host()
--- a/Helpviewer/AdBlock/AdBlockSubscription.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/AdBlock/AdBlockSubscription.py Sat May 13 16:32:54 2017 +0200 @@ -15,14 +15,14 @@ import base64 from PyQt5.QtCore import pyqtSignal, Qt, QObject, QByteArray, QDateTime, \ - QUrl, QCryptographicHash, QFile, QIODevice, QTextStream, QDate, QTime, \ - qVersion + QUrl, QCryptographicHash, QFile, QIODevice, QTextStream, QDate, QTime from PyQt5.QtNetwork import QNetworkReply from E5Gui import E5MessageBox import Utilities import Preferences +from Globals import qVersionTuple class AdBlockSubscription(QObject): @@ -113,7 +113,7 @@ if url.path() != "subscribe": return - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery urlQuery = QUrlQuery(url) self.__title = QUrl.fromPercentEncoding( @@ -185,7 +185,7 @@ if self.__lastUpdate.isValid(): queryItems.append(("lastUpdate", self.__lastUpdate.toString(Qt.ISODate))) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery query = QUrlQuery() query.setQueryItems(queryItems)
--- a/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py Sat May 13 16:32:54 2017 +0200 @@ -10,10 +10,13 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, QSize, QRect, qVersion +from PyQt5.QtCore import Qt, QSize, QRect from PyQt5.QtGui import QFontMetrics, QPalette, QFont from PyQt5.QtWidgets import QStyle, QStyledItemDelegate, QApplication -if qVersion() >= "5.0.0": + +from Globals import qVersionTuple + +if qVersionTuple() >= (5, 0, 0): from PyQt5.QtWidgets import QStyleOptionViewItem else: from PyQt5.QtWidgets import QStyleOptionViewItemV4 as QStyleOptionViewItem
--- a/Helpviewer/HelpBrowserWV.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/HelpBrowserWV.py Sat May 13 16:32:54 2017 +0200 @@ -18,7 +18,7 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QT_TRANSLATE_NOOP, \ QUrl, QBuffer, QIODevice, QFileInfo, Qt, QTimer, QEvent, \ - QRect, QFile, QPoint, QByteArray, qVersion + QRect, QFile, QPoint, QByteArray from PyQt5.QtGui import QDesktopServices, QClipboard, QMouseEvent, QColor, \ QPalette from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication, QInputDialog, \ @@ -40,6 +40,7 @@ import Preferences import UI.PixmapCache import Globals +from Globals import qVersionTuple import Utilities try: @@ -601,7 +602,7 @@ if cert in localCAList: return True - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): for cert in certList: if cert.isBlacklisted(): return False @@ -1655,7 +1656,7 @@ ## if searchUrl.scheme() != "http": ## return - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery searchUrlQuery = QUrlQuery(searchUrl) searchEngines = {} @@ -1670,18 +1671,18 @@ elif type_ == "text": if inputField == element: value = "{searchTerms}" - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): searchUrlQuery.addQueryItem(name, value) else: searchUrl.addQueryItem(name, value) elif type_ == "checkbox" or type_ == "radio": if inputField.evaluateJavaScript("this.checked"): - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): searchUrlQuery.addQueryItem(name, value) else: searchUrl.addQueryItem(name, value) elif type_ == "hidden": - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): searchUrlQuery.addQueryItem(name, value) else: searchUrl.addQueryItem(name, value) @@ -1696,7 +1697,7 @@ options = selectField.findAll("option") value = options.at(selectedIndex).toPlainText() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): searchUrlQuery.addQueryItem(name, value) else: searchUrl.addQueryItem(name, value) @@ -1713,7 +1714,7 @@ return if searchEngines[searchEngine] != "": - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): searchUrlQuery.addQueryItem( searchEngines[searchEngine], searchEngine) else: @@ -1733,14 +1734,14 @@ if not ok: return - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): searchUrl.setQuery(searchUrlQuery) from .OpenSearch.OpenSearchEngine import OpenSearchEngine engine = OpenSearchEngine() engine.setName(engineName) engine.setDescription(engineName) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): engine.setSearchUrlTemplate( searchUrl.toDisplayString(QUrl.FullyDecoded)) else: @@ -1872,7 +1873,7 @@ @param evt reference to the wheel event (QWheelEvent) """ - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Helpviewer/HelpDocsInstaller.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/HelpDocsInstaller.py Sat May 13 16:32:54 2017 +0200 @@ -12,12 +12,14 @@ import os -from PyQt5.QtCore import pyqtSignal, qVersion, QThread, Qt, QMutex, \ - QDateTime, QDir, QLibraryInfo, QFileInfo +from PyQt5.QtCore import pyqtSignal, QThread, Qt, QMutex, QDateTime, QDir, \ + QLibraryInfo, QFileInfo from PyQt5.QtHelp import QHelpEngineCore from eric6config import getConfig +from Globals import qVersionTuple + class HelpDocsInstaller(QThread): """ @@ -134,7 +136,7 @@ docsPathList = QDir.fromNativeSeparators(docsPath).split("/") docsPath = os.sep.join( docsPathList[:-3] + - ["Docs", "Qt-{0}".format(qVersion()[:3])]) + ["Docs", "Qt-{0}.{1}".format(*qVersionTuple())]) docsPath = QDir(docsPath) else: # unsupported Qt version
--- a/Helpviewer/Network/NetworkAccessManager.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/Network/NetworkAccessManager.py Sat May 13 16:32:54 2017 +0200 @@ -11,7 +11,7 @@ import os -from PyQt5.QtCore import pyqtSignal, QByteArray, qVersion +from PyQt5.QtCore import pyqtSignal, QByteArray from PyQt5.QtWidgets import QDialog from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, \ QNetworkReply @@ -27,6 +27,7 @@ import Preferences import Utilities +from Globals import qVersionTuple class NetworkAccessManager(QNetworkAccessManager): @@ -267,7 +268,7 @@ diskCache = NetworkDiskCache(self) location = os.path.join( Utilities.getConfigDir(), "browser", 'cache', - "{0}-Qt{1}".format(qWebKitVersion(), qVersion())) + "{0}-Qt{1}.{2}".format(qWebKitVersion(), *qVersionTuple())) size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024 diskCache.setCacheDirectory(location) diskCache.setMaximumCacheSize(size)
--- a/Helpviewer/OpenSearch/OpenSearchEngine.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/OpenSearch/OpenSearchEngine.py Sat May 13 16:32:54 2017 +0200 @@ -13,7 +13,7 @@ import json from PyQt5.QtCore import pyqtSignal, pyqtSlot, QLocale, QUrl, QByteArray, \ - QBuffer, QIODevice, QObject, qVersion + QBuffer, QIODevice, QObject from PyQt5.QtGui import QImage from PyQt5.QtNetwork import QNetworkRequest, QNetworkAccessManager, \ QNetworkReply @@ -22,6 +22,7 @@ import Preferences import Utilities +from Globals import qVersionTuple class OpenSearchEngine(QObject): @@ -179,7 +180,7 @@ .encode("utf-8")) if self.__searchMethod != "post": - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery urlQuery = QUrlQuery(ret) for parameter in self._searchParameters: @@ -234,7 +235,7 @@ searchTerm, self._suggestionsUrlTemplate).encode("utf-8"))) if self.__searchMethod != "post": - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery urlQuery = QUrlQuery(ret) for parameter in self._suggestionsParameters:
--- a/Helpviewer/Passwords/PasswordManager.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/Passwords/PasswordManager.py Sat May 13 16:32:54 2017 +0200 @@ -12,7 +12,7 @@ import os from PyQt5.QtCore import pyqtSignal, QObject, QByteArray, QUrl, \ - QCoreApplication, QXmlStreamReader, qVersion + QCoreApplication, QXmlStreamReader from PyQt5.QtWidgets import QApplication from PyQt5.QtNetwork import QNetworkRequest from PyQt5.QtWebKit import QWebSettings @@ -25,6 +25,7 @@ import Utilities import Utilities.crypto import Preferences +from Globals import qVersionTuple class PasswordManager(QObject): @@ -437,7 +438,7 @@ @return stripped URL (QUrl) """ cleanUrl = QUrl(url) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): cleanUrl.setQuery("") else: cleanUrl.setQueryItems([]) @@ -466,7 +467,7 @@ if boundary is not None: args = self.__extractMultipartQueryItems(data, boundary) else: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery argsUrl = QUrl.fromEncoded( QByteArray(b"foo://bar.com/?" + QUrl.fromPercentEncoding(
--- a/Helpviewer/SiteInfo/SiteInfoDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/SiteInfo/SiteInfoDialog.py Sat May 13 16:32:54 2017 +0200 @@ -11,7 +11,7 @@ import os -from PyQt5.QtCore import pyqtSlot, QUrl, Qt, QFile, qVersion +from PyQt5.QtCore import pyqtSlot, QUrl, Qt, QFile from PyQt5.QtGui import QPixmap, QCursor, QPainter, QColor, QBrush from PyQt5.QtWidgets import QDialog, QTreeWidgetItem, QGraphicsScene, QMenu, \ QApplication, QListWidgetItem @@ -29,6 +29,7 @@ from ..Download.DownloadUtilities import dataString import UI.PixmapCache +from Globals import qVersionTuple class SiteInfoDialog(QDialog, Ui_SiteInfoDialog): @@ -108,8 +109,9 @@ # populate the Security info and the Security tab if sslInfo and \ - ((qVersion() >= "5.0.0" and not sslInfo[0].isBlacklisted()) or - (qVersion() < "5.0.0" and sslInfo[0].isValid())): + ((qVersionTuple() >= (5, 0, 0) and + not sslInfo[0].isBlacklisted()) or + (qVersionTuple() < (5, 0, 0) and sslInfo[0].isValid())): self.securityLabel.setStyleSheet(SiteInfoDialog.okStyle) self.securityLabel.setText('<b>Connection is encrypted.</b>') if SSL:
--- a/Helpviewer/UrlBar/UrlBar.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/UrlBar/UrlBar.py Sat May 13 16:32:54 2017 +0200 @@ -13,7 +13,7 @@ except NameError: pass -from PyQt5.QtCore import pyqtSlot, Qt, QPointF, QUrl, QDateTime, qVersion +from PyQt5.QtCore import pyqtSlot, Qt, QPointF, QUrl, QDateTime from PyQt5.QtGui import QColor, QPalette, QLinearGradient, QIcon from PyQt5.QtWidgets import QDialog, QApplication try: @@ -34,6 +34,7 @@ import UI.PixmapCache import Preferences import Utilities +from Globals import qVersionTuple class UrlBar(E5LineEdit): @@ -187,14 +188,14 @@ QSslCertificate is not None: sslInfo = self.__browser.page().getSslCertificate() if sslInfo is not None: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): org = Utilities.decodeString(", ".join( sslInfo.subjectInfo(QSslCertificate.Organization))) else: org = Utilities.decodeString( sslInfo.subjectInfo(QSslCertificate.Organization)) if org == "": - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): cn = Utilities.decodeString(", ".join( sslInfo.subjectInfo( QSslCertificate.CommonName))) @@ -208,7 +209,7 @@ org = self.tr("Unknown") self.__sslLabel.setText(" {0} ".format(org)) self.__sslLabel.setVisible(True) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): valid = not sslInfo.isBlacklisted() else: valid = sslInfo.isValid()
--- a/Helpviewer/VirusTotal/VirusTotalApi.py Sat May 13 13:46:05 2017 +0200 +++ b/Helpviewer/VirusTotal/VirusTotalApi.py Sat May 13 16:32:54 2017 +0200 @@ -16,12 +16,13 @@ import json -from PyQt5.QtCore import QObject, QUrl, QByteArray, pyqtSignal, qVersion +from PyQt5.QtCore import QObject, QUrl, QByteArray, pyqtSignal from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply from E5Gui import E5MessageBox import Preferences +from Globals import qVersionTuple class VirusTotalAPI(QObject): @@ -268,7 +269,7 @@ ("ip", ipAddress), ] url = QUrl(self.GetIpAddressReportUrl) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery query = QUrlQuery() query.setQueryItems(queryItems) @@ -330,7 +331,7 @@ ("domain", domain), ] url = QUrl(self.GetDomainReportUrl) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery query = QUrlQuery() query.setQueryItems(queryItems)
--- a/IconEditor/IconEditorWindow.py Sat May 13 13:46:05 2017 +0200 +++ b/IconEditor/IconEditorWindow.py Sat May 13 16:32:54 2017 +0200 @@ -12,7 +12,7 @@ import os from PyQt5.QtCore import pyqtSignal, Qt, QSize, QSignalMapper, QFileInfo, \ - QFile, QEvent, qVersion + QFile, QEvent from PyQt5.QtGui import QPalette, QImage, QImageReader, QImageWriter, \ QKeySequence from PyQt5.QtWidgets import QScrollArea, QLabel, QDockWidget, QWhatsThis @@ -28,6 +28,7 @@ import UI.Config import Preferences +from Globals import qVersionTuple class IconEditorWindow(E5MainWindow): @@ -1352,7 +1353,7 @@ @param evt reference to the wheel event (QWheelEvent) """ if evt.modifiers() & Qt.ControlModifier: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Network/IRC/IrcMessageEdit.py Sat May 13 13:46:05 2017 +0200 +++ b/Network/IRC/IrcMessageEdit.py Sat May 13 16:32:54 2017 +0200 @@ -9,10 +9,12 @@ from __future__ import unicode_literals -from PyQt5.QtCore import Qt, qVersion +from PyQt5.QtCore import Qt from E5Gui.E5LineEdit import E5LineEdit, E5ClearableLineEdit +from Globals import qVersionTuple + class IrcMessageEdit(E5ClearableLineEdit): """ @@ -75,7 +77,7 @@ @param evt reference to the wheel event (QWheelEvent) """ - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat May 13 16:32:54 2017 +0200 @@ -17,8 +17,8 @@ import re import collections -from PyQt5.QtCore import pyqtSlot, qVersion, Qt, QDate, QProcess, QTimer, \ - QRegExp, QSize, QPoint, QFileInfo +from PyQt5.QtCore import pyqtSlot, Qt, QDate, QProcess, QTimer, QRegExp, \ + QSize, QPoint, QFileInfo from PyQt5.QtGui import QCursor, QColor, QPixmap, QPainter, QPen, QBrush, \ QIcon, QTextCursor from PyQt5.QtWidgets import QWidget, QDialogButtonBox, QHeaderView, \ @@ -35,6 +35,7 @@ import UI.PixmapCache import Preferences import Utilities +from Globals import qVersionTuple COLORNAMES = ["blue", "darkgreen", "red", "green", "darkblue", "purple", "cyan", "olive", "magenta", "darkred", "darkmagenta", @@ -243,7 +244,7 @@ """ self.__actionsMenu = QMenu() self.__actionsMenu.setTearOffEnabled(True) - if qVersion() >= "5.1.0": + if qVersionTuple() >= (5, 1, 0): self.__actionsMenu.setToolTipsVisible(True) else: self.__actionsMenu.hovered.connect(self.__actionsMenuHovered)
--- a/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py Sat May 13 16:32:54 2017 +0200 @@ -16,7 +16,7 @@ import os -from PyQt5.QtCore import pyqtSlot, qVersion, Qt, QProcess, QTimer, QSize +from PyQt5.QtCore import pyqtSlot, Qt, QProcess, QTimer, QSize from PyQt5.QtGui import QTextCursor, QCursor from PyQt5.QtWidgets import QWidget, QDialogButtonBox, QMenu, QHeaderView, \ QTreeWidgetItem, QLineEdit, QToolTip @@ -31,6 +31,7 @@ import Preferences import UI.PixmapCache +from Globals import qVersionTuple class HgStatusDialog(QWidget, Ui_HgStatusDialog): @@ -129,7 +130,7 @@ """ self.__actionsMenu = QMenu() self.__actionsMenu.setTearOffEnabled(True) - if qVersion() >= "5.1.0": + if qVersionTuple() >= (5, 1, 0): self.__actionsMenu.setToolTipsVisible(True) else: self.__actionsMenu.hovered.connect(self.__actionsMenuHovered)
--- a/Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardDialog.py Sat May 13 16:32:54 2017 +0200 @@ -11,7 +11,7 @@ import os -from PyQt5.QtCore import QFileInfo, QRegExp, Qt, pyqtSlot, qVersion +from PyQt5.QtCore import QFileInfo, QRegExp, Qt, pyqtSlot from PyQt5.QtGui import QClipboard, QTextCursor from PyQt5.QtWidgets import QWidget, QDialog, QApplication, QDialogButtonBox, \ QVBoxLayout, QTableWidgetItem @@ -25,6 +25,7 @@ import Utilities import Preferences +from Globals import qVersionTuple class QRegExpWizardWidget(QWidget, Ui_QRegExpWizardWidget): @@ -81,7 +82,7 @@ self.syntaxCombo.addItem("Unix Wildcard", QRegExp.WildcardUnix) self.syntaxCombo.addItem("Fixed String", QRegExp.FixedString) self.syntaxCombo.addItem("W3C XML Schema 1.1", QRegExp.W3CXmlSchema11) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.syntaxCombo.setCurrentIndex(1) self.saveButton = self.buttonBox.addButton( @@ -646,8 +647,8 @@ istring, reVar, os.linesep) syntax = self.syntaxCombo.itemData(self.syntaxCombo.currentIndex()) needPatternSyntax = True - if qVersion() < "5.0.0" and syntax == QRegExp.RegExp or \ - qVersion() >= "5.0.0" and syntax == QRegExp.RegExp2: + if qVersionTuple() < (5, 0, 0) and syntax == QRegExp.RegExp or \ + qVersionTuple() >= (5, 0, 0) and syntax == QRegExp.RegExp2: # default value selected needPatternSyntax = False if needPatternSyntax:
--- a/Preferences/ConfigurationDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Preferences/ConfigurationDialog.py Sat May 13 16:32:54 2017 +0200 @@ -12,8 +12,7 @@ import os import types -from PyQt5.QtCore import QMetaObject, pyqtSignal, Qt, QRect, pyqtSlot, \ - qVersion +from PyQt5.QtCore import QMetaObject, pyqtSignal, Qt, QRect, pyqtSlot from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import QSizePolicy, QSpacerItem, QWidget, QTreeWidget, \ QStackedWidget, QDialog, QSplitter, QScrollArea, QApplication, \ @@ -24,7 +23,7 @@ from E5Gui import E5MessageBox from E5Gui.E5MainWindow import E5MainWindow -from Globals import isMacPlatform +from Globals import isMacPlatform, qVersionTuple import Preferences @@ -341,7 +340,7 @@ [self.tr("VirusTotal Interface"), "virustotal.png", "HelpVirusTotalPage", "0webBrowserPage", None], }) - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): self.configItems.update({ "webBrowserSpellCheckingPage": [self.tr("Spell checking"), @@ -465,7 +464,7 @@ "HelpVirusTotalPage", None, None], } - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): self.configItems.update({ "webBrowserSpellCheckingPage": [self.tr("Spell checking"),
--- a/Preferences/ConfigurationPages/EditorHighlightersPage.py Sat May 13 13:46:05 2017 +0200 +++ b/Preferences/ConfigurationPages/EditorHighlightersPage.py Sat May 13 16:32:54 2017 +0200 @@ -13,13 +13,14 @@ from pygments.lexers import get_all_lexers -from PyQt5.QtCore import Qt, pyqtSlot, qVersion +from PyQt5.QtCore import Qt, pyqtSlot from PyQt5.QtWidgets import QHeaderView, QTreeWidgetItem from .ConfigurationPageBase import ConfigurationPageBase from .Ui_EditorHighlightersPage import Ui_EditorHighlightersPage import Preferences +from Globals import qVersionTuple class EditorHighlightersPage(ConfigurationPageBase, Ui_EditorHighlightersPage): @@ -39,7 +40,7 @@ self.editorLexerList.headerItem().setText( self.editorLexerList.columnCount(), "") header = self.editorLexerList.header() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): header.setSectionResizeMode(QHeaderView.ResizeToContents) else: header.setResizeMode(QHeaderView.ResizeToContents)
--- a/Preferences/ConfigurationPages/EditorHighlightingStylesPage.py Sat May 13 13:46:05 2017 +0200 +++ b/Preferences/ConfigurationPages/EditorHighlightingStylesPage.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSlot, Qt, QFileInfo, QFile, QIODevice, qVersion +from PyQt5.QtCore import pyqtSlot, Qt, QFileInfo, QFile, QIODevice from PyQt5.QtGui import QPalette, QFont from PyQt5.QtWidgets import QColorDialog, QFontDialog, QInputDialog, QMenu @@ -19,6 +19,7 @@ from E5Gui import E5MessageBox, E5FileDialog import Preferences +from Globals import qVersionTuple try: MonospacedFontsOption = QFontDialog.MonospacedFonts @@ -47,7 +48,7 @@ self.setupUi(self) self.setObjectName("EditorHighlightingStylesPage") - if qVersion() < "5.0.0": + if qVersionTuple() < (5, 0, 0): self.monospacedButton.setChecked(False) self.monospacedButton.hide()
--- a/Preferences/ConfigurationPages/HelpViewersPage.py Sat May 13 13:46:05 2017 +0200 +++ b/Preferences/ConfigurationPages/HelpViewersPage.py Sat May 13 16:32:54 2017 +0200 @@ -9,14 +9,15 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion from PyQt5.QtWidgets import QButtonGroup try: from PyQt5 import QtWebKit # __IGNORE_WARNING__ WEBKIT_AVAILABLE = True except ImportError: WEBKIT_AVAILABLE = False -if qVersion() < "5.6.0": + +from Globals import qVersionTuple +if qVersionTuple() < (5, 6, 0): WEBENGINE_AVAILABLE = False else: try:
--- a/Preferences/ConfigurationPages/QtPage.py Sat May 13 13:46:05 2017 +0200 +++ b/Preferences/ConfigurationPages/QtPage.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSlot, qVersion +from PyQt5.QtCore import pyqtSlot from E5Gui.E5PathPicker import E5PathPickerModes @@ -17,6 +17,7 @@ from .Ui_QtPage import Ui_QtPage import Preferences +from Globals import qVersionTuple class QtPage(ConfigurationPageBase, Ui_QtPage): @@ -37,7 +38,7 @@ E5PathPickerModes.DirectoryShowFilesMode) # set initial values - if qVersion() < "5.0.0": + if qVersionTuple() < (5, 0, 0): self.qt4TransPicker.setText( Preferences.getQt("Qt4TranslationsDir")) else: @@ -56,7 +57,7 @@ """ Public slot to save the Qt configuration. """ - if qVersion() < "5.0.0": + if qVersionTuple() < (5, 0, 0): Preferences.setQt("Qt4TranslationsDir", self.qt4TransPicker.text()) else: Preferences.setQt("Qt5TranslationsDir", self.qt4TransPicker.text())
--- a/Preferences/__init__.py Sat May 13 13:46:05 2017 +0200 +++ b/Preferences/__init__.py Sat May 13 16:32:54 2017 +0200 @@ -29,7 +29,7 @@ import sys from PyQt5.QtCore import QDir, QPoint, QLocale, QSettings, QFileInfo, \ - QCoreApplication, QByteArray, QSize, QUrl, Qt, QLibraryInfo, qVersion + QCoreApplication, QByteArray, QSize, QUrl, Qt, QLibraryInfo from PyQt5.QtGui import QColor, QFont, QPalette from PyQt5.QtWidgets import QInputDialog, QApplication from PyQt5.QtNetwork import QNetworkRequest @@ -49,7 +49,7 @@ from Globals import settingsNameOrganization, settingsNameGlobal, \ settingsNameRecent, isWindowsPlatform, findPythonInterpreters, \ - getPyQt5ModulesDirectory + getPyQt5ModulesDirectory, qVersionTuple from Project.ProjectBrowserFlags import SourcesBrowserFlag, FormsBrowserFlag, \ ResourcesBrowserFlag, TranslationsBrowserFlag, InterfacesBrowserFlag, \ @@ -2987,7 +2987,7 @@ @param prefClass preferences class used as the storage area @return the requested setting (string) """ - if qVersion() < "5.0.0": + if qVersionTuple() < (5, 0, 0): s = prefClass.settings.value( "Qt/Qt4TranslationsDir", prefClass.qtDefaults["Qt4TranslationsDir"]) @@ -2998,7 +2998,7 @@ if s == "": s = os.getenv("QTTRANSLATIONSDIR", "") if s == "": - if qVersion() < "5.0.0": + if qVersionTuple() < (5, 0, 0): s = os.getenv("QT4TRANSLATIONSDIR", "") else: s = os.getenv("QT5TRANSLATIONSDIR", "")
--- a/Project/CreateDialogCodeDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Project/CreateDialogCodeDialog.py Sat May 13 16:32:54 2017 +0200 @@ -13,7 +13,7 @@ import xml.etree.ElementTree from PyQt5.QtCore import QMetaObject, QByteArray, QRegExp, Qt, pyqtSlot, \ - QMetaMethod, qVersion, QSortFilterProxyModel + QMetaMethod, QSortFilterProxyModel from PyQt5.QtGui import QStandardItemModel, QBrush, QStandardItem from PyQt5.QtWidgets import QWidget, QDialog, QDialogButtonBox, QAction from PyQt5 import uic @@ -27,6 +27,9 @@ from eric6config import getConfig +from Globals import qVersionTuple + + pyqtSignatureRole = Qt.UserRole + 1 pythonSignatureRole = Qt.UserRole + 2 rubySignatureRole = Qt.UserRole + 3 @@ -258,7 +261,7 @@ for index in range(metaObject.methodCount()): metaMethod = metaObject.method(index) if metaMethod.methodType() == QMetaMethod.Signal: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): itm2 = QStandardItem("on_{0}_{1}".format( name, bytes(metaMethod.methodSignature()).decode())) @@ -267,7 +270,7 @@ name, metaMethod.signature())) itm.appendRow(itm2) if self.__module is not None: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): method = "on_{0}_{1}".format( name, bytes(metaMethod.methodSignature()) @@ -308,7 +311,7 @@ methNamesSig = ", ".join(parameterNamesList) if methNamesSig: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): pythonSignature = \ "on_{0}_{1}(self, {2})".format( name, @@ -322,7 +325,7 @@ metaMethod.signature().split("(")[0], methNamesSig) else: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): pythonSignature = "on_{0}_{1}(self)".format( name, bytes(metaMethod.methodSignature())
--- a/Project/LexerAssociationDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/Project/LexerAssociationDialog.py Sat May 13 16:32:54 2017 +0200 @@ -11,11 +11,13 @@ import os -from PyQt5.QtCore import Qt, pyqtSlot, qVersion +from PyQt5.QtCore import Qt, pyqtSlot from PyQt5.QtWidgets import QHeaderView, QTreeWidgetItem, QDialog from .Ui_LexerAssociationDialog import Ui_LexerAssociationDialog +from Globals import qVersionTuple + class LexerAssociationDialog(QDialog, Ui_LexerAssociationDialog): """ @@ -34,7 +36,7 @@ self.editorLexerList.headerItem().setText( self.editorLexerList.columnCount(), "") header = self.editorLexerList.header() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): header.setSectionResizeMode(QHeaderView.ResizeToContents) else: header.setResizeMode(QHeaderView.ResizeToContents)
--- a/QScintilla/Editor.py Sat May 13 13:46:05 2017 +0200 +++ b/QScintilla/Editor.py Sat May 13 16:32:54 2017 +0200 @@ -18,7 +18,7 @@ import difflib from PyQt5.QtCore import QDir, QTimer, QModelIndex, QFileInfo, pyqtSignal, \ - pyqtSlot, QCryptographicHash, QEvent, QDateTime, QRegExp, Qt, qVersion + pyqtSlot, QCryptographicHash, QEvent, QDateTime, QRegExp, Qt from PyQt5.QtGui import QCursor, QPalette, QFont, QPixmap, QPainter from PyQt5.QtWidgets import QLineEdit, QActionGroup, QDialog, QInputDialog, \ QApplication, QMenu @@ -34,6 +34,7 @@ import Preferences import Utilities from Utilities import MouseUtilities +from Globals import qVersionTuple import UI.PixmapCache @@ -6531,7 +6532,7 @@ @param evt reference to the wheel event (QWheelEvent) """ - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/QScintilla/KeySequenceTranslator.py Sat May 13 13:46:05 2017 +0200 +++ b/QScintilla/KeySequenceTranslator.py Sat May 13 16:32:54 2017 +0200 @@ -10,10 +10,11 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion from PyQt5.QtGui import QKeySequence from PyQt5.Qsci import QsciScintilla +from Globals import qVersionTuple + __all__ = ["s2qTranslate"] Scintilla2QKeySequence = { @@ -108,10 +109,10 @@ QsciScintilla.SCI_LOWERCASE: QKeySequence.UnknownKey, QsciScintilla.SCI_UPPERCASE: QKeySequence.UnknownKey, } -if qVersion() >= "5.2.0": +if qVersionTuple() >= (5, 2, 0): Scintilla2QKeySequence[QsciScintilla.SCI_LINEDELETE] = \ QKeySequence.DeleteCompleteLine, -if qVersion() >= "5.5.0": +if qVersionTuple() >= (5, 5, 0): Scintilla2QKeySequence[QsciScintilla.SCI_DELETEBACK] = \ QKeySequence.Backspace
--- a/QScintilla/Shell.py Sat May 13 13:46:05 2017 +0200 +++ b/QScintilla/Shell.py Sat May 13 16:32:54 2017 +0200 @@ -12,7 +12,7 @@ import sys import re -from PyQt5.QtCore import pyqtSignal, QFileInfo, Qt, QEvent, qVersion +from PyQt5.QtCore import pyqtSignal, QFileInfo, Qt, QEvent from PyQt5.QtGui import QClipboard, QPalette, QFont from PyQt5.QtWidgets import QDialog, QInputDialog, QApplication, QMenu, \ QWidget, QHBoxLayout, QVBoxLayout, QShortcut @@ -24,8 +24,8 @@ from .QsciScintillaCompat import QsciScintillaCompat import Preferences - import Utilities +from Globals import qVersionTuple import UI.PixmapCache @@ -1000,7 +1000,7 @@ @param evt reference to the wheel event (QWheelEvent) """ if evt.modifiers() & Qt.ControlModifier: - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): delta = evt.angleDelta().y() else: delta = evt.delta()
--- a/Snapshot/SnapWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/Snapshot/SnapWidget.py Sat May 13 16:32:54 2017 +0200 @@ -16,7 +16,7 @@ import os from PyQt5.QtCore import pyqtSlot, QFile, QFileInfo, QTimer, QPoint, \ - QMimeData, Qt, QEvent, QRegExp, QLocale, qVersion, PYQT_VERSION_STR + QMimeData, Qt, QEvent, QRegExp, QLocale, PYQT_VERSION_STR from PyQt5.QtGui import QImageWriter, QPixmap, QCursor, QDrag, QKeySequence from PyQt5.QtWidgets import QWidget, QApplication, QShortcut @@ -27,6 +27,7 @@ import UI.PixmapCache import Preferences import Globals +from Globals import qVersionTuple class SnapWidget(QWidget, Ui_SnapWidget): @@ -372,7 +373,7 @@ if self.__mode == SnapWidget.ModeFullscreen: desktop = QApplication.desktop() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.__snapshot = QApplication.screens()[0].grabWindow( desktop.winId(), desktop.x(), desktop.y(), desktop.width(), desktop.height()) @@ -386,7 +387,7 @@ geom = desktop.screenGeometry(screenId) x = geom.x() y = geom.y() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.__snapshot = QApplication.screens()[0].grabWindow( desktop.winId(), x, y, geom.width(), geom.height()) else:
--- a/Snapshot/SnapshotFreehandGrabber.py Sat May 13 13:46:05 2017 +0200 +++ b/Snapshot/SnapshotFreehandGrabber.py Sat May 13 16:32:54 2017 +0200 @@ -9,12 +9,13 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, Qt, QRect, QPoint, QTimer, QLocale, \ - qVersion +from PyQt5.QtCore import pyqtSignal, Qt, QRect, QPoint, QTimer, QLocale from PyQt5.QtGui import QPixmap, QColor, QRegion, QPainter, QPalette, \ QPolygon, QPen, QBrush, QPaintEngine from PyQt5.QtWidgets import QWidget, QApplication, QToolTip +from Globals import qVersionTuple + def drawPolygon(painter, polygon, outline, fill=None): """ @@ -86,7 +87,7 @@ self.__desktop = QApplication.desktop() x = self.__desktop.x() y = self.__desktop.y() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.__pixmap = QApplication.screens()[0].grabWindow( self.__desktop.winId(), x, y, self.__desktop.width(), self.__desktop.height())
--- a/Snapshot/SnapshotRegionGrabber.py Sat May 13 13:46:05 2017 +0200 +++ b/Snapshot/SnapshotRegionGrabber.py Sat May 13 16:32:54 2017 +0200 @@ -9,12 +9,13 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, Qt, QRect, QPoint, QTimer, QLocale, \ - qVersion +from PyQt5.QtCore import pyqtSignal, Qt, QRect, QPoint, QTimer, QLocale from PyQt5.QtGui import QPixmap, QColor, QRegion, QPainter, QPalette, \ QPaintEngine, QPen, QBrush from PyQt5.QtWidgets import QWidget, QApplication, QToolTip +from Globals import qVersionTuple + def drawRect(painter, rect, outline, fill=None): """ @@ -114,7 +115,7 @@ self.__desktop = QApplication.desktop() x = self.__desktop.x() y = self.__desktop.y() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.__pixmap = QApplication.screens()[0].grabWindow( self.__desktop.winId(), x, y, self.__desktop.width(), self.__desktop.height())
--- a/SqlBrowser/SqlConnectionWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/SqlBrowser/SqlConnectionWidget.py Sat May 13 16:32:54 2017 +0200 @@ -9,11 +9,13 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSignal, Qt, qVersion +from PyQt5.QtCore import pyqtSignal, Qt from PyQt5.QtWidgets import QWidget, QHeaderView, QTreeWidget, QVBoxLayout, \ QTreeWidgetItem, QAction from PyQt5.QtSql import QSqlDatabase +from Globals import qVersionTuple + class SqlConnectionWidget(QWidget): """ @@ -42,7 +44,7 @@ self.__connectionTree = QTreeWidget(self) self.__connectionTree.setObjectName("connectionTree") self.__connectionTree.setHeaderLabels([self.tr("Database")]) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.__connectionTree.header().setSectionResizeMode( QHeaderView.Stretch) else:
--- a/Toolbox/Startup.py Sat May 13 13:46:05 2017 +0200 +++ b/Toolbox/Startup.py Sat May 13 16:32:54 2017 +0200 @@ -12,13 +12,13 @@ import os import sys -from PyQt5.QtCore import QTranslator, QLocale, QLibraryInfo, QDir, \ - QTextCodec, qVersion +from PyQt5.QtCore import QTranslator, QLocale, QLibraryInfo, QDir, QTextCodec from PyQt5.QtWidgets import QApplication from E5Gui.E5Application import E5Application import Globals +from Globals import qVersionTuple import UI.PixmapCache @@ -164,7 +164,7 @@ global loaded_translators - if qVersion() < "5.0.0": + if qVersionTuple() < (5, 0, 0): # set the default encoding for tr() QTextCodec.setCodecForTr(QTextCodec.codecForName("utf-8"))
--- a/Tools/UIPreviewer.py Sat May 13 13:46:05 2017 +0200 +++ b/Tools/UIPreviewer.py Sat May 13 16:32:54 2017 +0200 @@ -9,7 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion, QDir, QFileInfo, QEvent, QSize, Qt +from PyQt5.QtCore import QDir, QFileInfo, QEvent, QSize, Qt from PyQt5.QtGui import QCursor, QKeySequence, QPixmap, QImageWriter, QPainter from PyQt5.QtWidgets import QSizePolicy, QSpacerItem, QWidget, QHBoxLayout, \ QWhatsThis, QDialog, QScrollArea, qApp, QApplication, QStyleFactory, \ @@ -24,6 +24,7 @@ import Preferences import UI.PixmapCache import UI.Config +from Globals import qVersionTuple class UIPreviewer(E5MainWindow): @@ -474,7 +475,7 @@ ext = defaultExt fname.append(".{0}".format(defaultExt.lower())) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): pix = self.mainWidget.grab() else: pix = QPixmap.grabWidget(self.mainWidget) @@ -499,7 +500,7 @@ return cb = QApplication.clipboard() - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): cb.setPixmap(self.mainWidget.grab()) else: cb.setPixmap(QPixmap.grabWidget(self.mainWidget)) @@ -597,7 +598,7 @@ marginX *= 2 width = printer.width() - marginX * 2 height = printer.height() - marginY * 2 - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): img = self.mainWidget.grab().toImage() else: img = QPixmap.grabWidget(self.mainWidget).toImage()
--- a/UI/Browser.py Sat May 13 13:46:05 2017 +0200 +++ b/UI/Browser.py Sat May 13 16:32:54 2017 +0200 @@ -11,8 +11,8 @@ import os -from PyQt5.QtCore import QModelIndex, pyqtSignal, QUrl, Qt, qVersion, \ - QCoreApplication, QItemSelectionModel, QElapsedTimer +from PyQt5.QtCore import QModelIndex, pyqtSignal, QUrl, Qt, QCoreApplication, \ + QItemSelectionModel, QElapsedTimer from PyQt5.QtGui import QDesktopServices from PyQt5.QtWidgets import QTreeView, QApplication, QMenu, QAbstractItemView @@ -30,6 +30,7 @@ import Preferences import Utilities import Utilities.MimeTypes +from Globals import qVersionTuple class Browser(QTreeView): @@ -165,7 +166,7 @@ header = self.header() header.setSortIndicator(0, Qt.AscendingOrder) header.setSortIndicatorShown(True) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): header.setSectionsClickable(True) else: header.setClickable(True)
--- a/UI/EmailDialog.py Sat May 13 13:46:05 2017 +0200 +++ b/UI/EmailDialog.py Sat May 13 16:32:54 2017 +0200 @@ -14,7 +14,7 @@ import smtplib import socket -from PyQt5.QtCore import Qt, pyqtSlot, qVersion +from PyQt5.QtCore import Qt, pyqtSlot from PyQt5.QtGui import QCursor from PyQt5.QtWidgets import QHeaderView, QLineEdit, QDialog, QInputDialog, \ QApplication, QDialogButtonBox, QTreeWidgetItem @@ -36,6 +36,8 @@ from email.mime.multipart import MIMEMultipart from email.header import Header +from Globals import qVersionTuple + ############################################################ ## This code is to work around a bug in the Python email ## @@ -99,7 +101,7 @@ self.attachments.headerItem().setText( self.attachments.columnCount(), "") - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.attachments.header().setSectionResizeMode( QHeaderView.Interactive) else:
--- a/UI/NumbersWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/UI/NumbersWidget.py Sat May 13 16:32:54 2017 +0200 @@ -9,8 +9,7 @@ from __future__ import unicode_literals -from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QAbstractTableModel, \ - qVersion +from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QAbstractTableModel from PyQt5.QtWidgets import QWidget, QHeaderView from E5Gui.E5Application import e5App @@ -18,6 +17,7 @@ from .Ui_NumbersWidget import Ui_NumbersWidget import UI.PixmapCache +from Globals import qVersionTuple class BinaryModel(QAbstractTableModel): @@ -201,7 +201,7 @@ self.__model = BinaryModel(self) self.binTable.setModel(self.__model) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.binTable.horizontalHeader().setSectionResizeMode( QHeaderView.ResizeToContents) else:
--- a/UI/Previewers/PreviewerQSS.py Sat May 13 13:46:05 2017 +0200 +++ b/UI/Previewers/PreviewerQSS.py Sat May 13 16:32:54 2017 +0200 @@ -11,7 +11,6 @@ import os -from PyQt5.QtCore import qVersion from PyQt5.QtWidgets import QWidget, QMenu, QLabel, QHeaderView, \ QListWidgetItem @@ -19,6 +18,7 @@ import Preferences import UI.PixmapCache +from Globals import qVersionTuple class PreviewerQSS(QWidget, Ui_PreviewerQSS): @@ -46,7 +46,7 @@ self.__mdi.resize(160, 80) # tree and table widgets - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.tree.header().setSectionResizeMode( QHeaderView.ResizeToContents) self.table.horizontalHeader().setSectionResizeMode(
--- a/UI/SymbolsWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/UI/SymbolsWidget.py Sat May 13 16:32:54 2017 +0200 @@ -22,7 +22,7 @@ import unicodedata from PyQt5.QtCore import pyqtSlot, pyqtSignal, QAbstractTableModel, \ - QModelIndex, Qt, qVersion, QItemSelectionModel, QLocale + QModelIndex, Qt, QItemSelectionModel, QLocale from PyQt5.QtGui import QColor from PyQt5.QtWidgets import QWidget, QHeaderView, QAbstractItemView @@ -30,6 +30,7 @@ import UI.PixmapCache import Preferences +from Globals import qVersionTuple class SymbolsModel(QAbstractTableModel): @@ -508,7 +509,7 @@ self.symbolsTable.selectionModel().currentRowChanged.connect( self.__currentRowChanged) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): self.symbolsTable.horizontalHeader().setSectionResizeMode( QHeaderView.Fixed) else:
--- a/UI/UserInterface.py Sat May 13 13:46:05 2017 +0200 +++ b/UI/UserInterface.py Sat May 13 16:32:54 2017 +0200 @@ -27,12 +27,14 @@ from PyQt5.Qsci import QSCINTILLA_VERSION_STR from PyQt5.QtNetwork import QNetworkProxyFactory, QNetworkAccessManager, \ QNetworkRequest, QNetworkReply + +from Globals import qVersionTuple try: from PyQt5 import QtWebKit # __IGNORE_WARNING__ WEBKIT_AVAILABLE = True except ImportError: WEBKIT_AVAILABLE = False -if qVersion() < "5.6.0": +if qVersionTuple() < (5, 6, 0): WEBENGINE_AVAILABLE = False else: try: @@ -3193,7 +3195,7 @@ Utilities.generateDistroInfo("\r\n")) url = QUrl("mailto:{0}".format(address)) - if qVersion() >= "5.0.0": + if qVersionTuple() >= (5, 0, 0): from PyQt5.QtCore import QUrlQuery urlQuery = QUrlQuery(url) urlQuery.addQueryItem("subject", subject)
--- a/Utilities/__init__.py Sat May 13 13:46:05 2017 +0200 +++ b/Utilities/__init__.py Sat May 13 16:32:54 2017 +0200 @@ -65,7 +65,7 @@ from Globals import ( # __IGNORE_WARNING__ isWindowsPlatform, isLinuxPlatform, isMacPlatform, getConfigDir, setConfigDir, getPythonModulesDirectory, getPyQt5ModulesDirectory, - getQtBinariesPath, getPyQtToolsPath) + getQtBinariesPath, getPyQtToolsPath, qVersionTuple) from E5Gui.E5Application import e5App @@ -1801,7 +1801,7 @@ qVersion(), linesep, PYQT_VERSION_STR, linesep) info += " sip {0}{1} QScintilla {2}{3}".format( sip_version_str, linesep, QSCINTILLA_VERSION_STR, linesep) - if qVersion() >= "5.6.0": + if qVersionTuple() >= (5, 6, 0): try: from PyQt5 import QtWebEngineWidgets # __IGNORE_WARNING__ from WebBrowser.Tools import WebBrowserTools
--- a/WebBrowser/AdBlock/AdBlockRule.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/AdBlock/AdBlockRule.py Sat May 13 16:32:54 2017 +0200 @@ -11,9 +11,11 @@ import re -from PyQt5.QtCore import qVersion, Qt, QRegExp +from PyQt5.QtCore import Qt, QRegExp from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo +from Globals import qVersionTuple + def toSecondLevelDomain(url): """ @@ -532,7 +534,7 @@ match = ( req.resourceType() == QWebEngineUrlRequestInfo.ResourceTypeSubResource) - if qVersion() >= "5.7.0": + if qVersionTuple() >= (5, 7, 0): match = match or ( req.resourceType() == QWebEngineUrlRequestInfo.ResourceTypePluginResource)
--- a/WebBrowser/Download/DownloadItem.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/Download/DownloadItem.py Sat May 13 16:32:54 2017 +0200 @@ -11,7 +11,7 @@ import os -from PyQt5.QtCore import pyqtSlot, pyqtSignal, qVersion, Qt, QTime, QUrl, \ +from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QTime, QUrl, \ QStandardPaths, QFileInfo from PyQt5.QtGui import QPalette, QDesktopServices from PyQt5.QtWidgets import QWidget, QStyle, QDialog @@ -27,6 +27,7 @@ import UI.PixmapCache import Utilities.MimeTypes import Globals +from Globals import qVersionTuple class DownloadItem(QWidget, Ui_DownloadItem): @@ -129,10 +130,10 @@ if self.__gettingFileName: return - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): savePage = self.__downloadItem.type() == \ QWebEngineDownloadItem.SavePage - elif qVersion() >= "5.7.0": + elif qVersionTuple() >= (5, 7, 0): savePage = self.__downloadItem.savePageFormat() != \ QWebEngineDownloadItem.UnknownSaveFormat else:
--- a/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py Sat May 13 16:32:54 2017 +0200 @@ -10,7 +10,7 @@ from __future__ import unicode_literals from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl, QRegExp, \ - QByteArray, QCryptographicHash, qVersion + QByteArray, QCryptographicHash from PyQt5.QtWebEngineWidgets import QWebEngineScript from .GreaseMonkeyJavaScript import bootstrap_js, values_js @@ -19,6 +19,8 @@ from ..Tools.DelayedFileWatcher import DelayedFileWatcher from ..WebBrowserPage import WebBrowserPage +from Globals import qVersionTuple + class GreaseMonkeyScript(QObject): """ @@ -328,7 +330,7 @@ QByteArray(self.fullName().encode("utf-8")), QCryptographicHash.Md4).toHex()).decode("ascii") valuesScript = values_js.format(nspace) - if qVersion() < "5.8.0": + if qVersionTuple() < (5, 8, 0): runCheck = """ for (var value of {0}) {{ var re = new RegExp(value); @@ -370,7 +372,7 @@ @rtype QWebEngineScript @exception ValueError raised to indicate an unsupported start point """ - if qVersion() < "5.8.0": + if qVersionTuple() < (5, 8, 0): if self.startAt() == GreaseMonkeyScript.DocumentStart: injectionPoint = QWebEngineScript.DocumentCreation elif self.startAt() == GreaseMonkeyScript.DocumentEnd: @@ -385,7 +387,7 @@ bootstrap_js, self.__script )) script.setName(self.fullName()) - if qVersion() < "5.8.0": + if qVersionTuple() < (5, 8, 0): script.setInjectionPoint(injectionPoint) script.setWorldId(WebBrowserPage.SafeJsWorld) script.setRunsOnSubFrames(not self.__noFrames) @@ -401,7 +403,7 @@ @return JavaScript script containing the list @rtype str """ - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): script = "" else: patternList = []
--- a/WebBrowser/QtHelp/HelpDocsInstaller.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/QtHelp/HelpDocsInstaller.py Sat May 13 16:32:54 2017 +0200 @@ -12,12 +12,14 @@ import os -from PyQt5.QtCore import pyqtSignal, qVersion, QThread, Qt, QMutex, \ - QDateTime, QDir, QLibraryInfo, QFileInfo +from PyQt5.QtCore import pyqtSignal, QThread, Qt, QMutex, QDateTime, QDir, \ + QLibraryInfo, QFileInfo from PyQt5.QtHelp import QHelpEngineCore from eric6config import getConfig +from Globals import qVersionTuple + class HelpDocsInstaller(QThread): """ @@ -134,7 +136,7 @@ docsPathList = QDir.fromNativeSeparators(docsPath).split("/") docsPath = os.sep.join( docsPathList[:-3] + - ["Docs", "Qt-{0}".format(qVersion()[:3])]) + ["Docs", "Qt-{0}.{1}".format(*qVersionTuple())]) docsPath = QDir(docsPath) else: # unsupported Qt version
--- a/WebBrowser/Tools/FilePrinter.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/Tools/FilePrinter.py Sat May 13 16:32:54 2017 +0200 @@ -14,10 +14,11 @@ from __future__ import unicode_literals -from PyQt5.QtCore import qVersion, QFile, QStandardPaths, QProcess +from PyQt5.QtCore import QFile, QStandardPaths, QProcess from PyQt5.QtPrintSupport import QPrinter, QPrintEngine import Globals +from Globals import qVersionTuple _FilePrintJobs = [] @@ -171,7 +172,7 @@ argsList.append(fileName) self.__process = QProcess() - if qVersion() < "5.6.0": + if qVersionTuple() < (5, 6, 0): self.__process.error.connect(self.__processError) else: self.__process.errorOccurred.connect(self.__processError)
--- a/WebBrowser/WebBrowserPage.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/WebBrowserPage.py Sat May 13 16:32:54 2017 +0200 @@ -14,7 +14,7 @@ except NameError: pass -from PyQt5.QtCore import pyqtSlot, qVersion, QUrl, QTimer, QEventLoop, QPoint +from PyQt5.QtCore import pyqtSlot, QUrl, QTimer, QEventLoop, QPoint from PyQt5.QtGui import QDesktopServices from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineSettings, \ QWebEngineScript @@ -27,13 +27,14 @@ from .Tools.WebHitTestResult import WebHitTestResult import Preferences +from Globals import qVersionTuple class WebBrowserPage(QWebEnginePage): """ Class implementing an enhanced web page. """ - if qVersion() >= "5.7.0": + if qVersionTuple() >= (5, 7, 0): # SafeJsWorld = QWebEngineScript.ApplicationWorld SafeJsWorld = QWebEngineScript.MainWorld else: @@ -203,7 +204,7 @@ ended @type function """ - if qVersion() >= "5.7.0" and worldId > -1: + if qVersionTuple() >= (5, 7, 0) and worldId > -1: if callback is None: QWebEnginePage.runJavaScript(self, script, worldId) else:
--- a/WebBrowser/WebBrowserTabWidget.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/WebBrowserTabWidget.py Sat May 13 16:32:54 2017 +0200 @@ -12,7 +12,7 @@ import os from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl, QDir, QFile, \ - QFileDevice, QTemporaryFile, qVersion + QFileDevice, QTemporaryFile from PyQt5.QtGui import QIcon, QPixmap, QPainter from PyQt5.QtWidgets import QWidget, QHBoxLayout, QMenu, QToolButton, \ QDialog, QApplication @@ -33,6 +33,7 @@ import Utilities import Preferences import Globals +from Globals import qVersionTuple from eric6config import getConfig @@ -185,21 +186,21 @@ self.tr('Close All'), self.closeAllBrowsers) self.__tabContextMenu.addSeparator() # TODO: re-check this once printing on Windows is reliable -## if qVersion() >= "5.8.0" or ( -## not Globals.isWindowsPlatform() and qVersion() < "5.7.0"): +## if qVersionTuple() >= (5, 8, 0) or ( +## not Globals.isWindowsPlatform() and qVersionTuple() < (5, 7, 0)): if not Globals.isWindowsPlatform() and ( - qVersion() < "5.7.0" or qVersion() >= "5.8.0"): + qVersionTuple() < (5, 7, 0) or qVersionTuple() >= (5, 8, 0)): self.__tabContextMenu.addAction( UI.PixmapCache.getIcon("printPreview.png"), self.tr('Print Preview'), self.__tabContextMenuPrintPreview) # TODO: re-check this once printing on Windows is reliable -## if qVersion() >= "5.8.0" or ( -## not Globals.isWindowsPlatform() or qVersion() >= "5.7.0"): - if not Globals.isWindowsPlatform() and qVersion() >= "5.7.0": +## if qVersionTuple() >= (5, 8, 0) or ( +## not Globals.isWindowsPlatform() or qVersionTuple() >= (5, 7, 0)): + if not Globals.isWindowsPlatform() and qVersionTuple() >= (5, 7, 0): self.__tabContextMenu.addAction( UI.PixmapCache.getIcon("print.png"), self.tr('Print'), self.__tabContextMenuPrint) - if Globals.isLinuxPlatform() or qVersion() >= "5.7.0": + if Globals.isLinuxPlatform() or qVersionTuple() >= (5, 7, 0): self.__tabContextMenu.addAction( UI.PixmapCache.getIcon("printPdf.png"), self.tr('Print as PDF'), self.__tabContextMenuPrintPdf) @@ -816,7 +817,7 @@ preview = QPrintPreviewDialog(printer, self) preview.resize(800, 750) - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): preview.paintRequested.connect( lambda p: self.__printPreviewRequested(p, browser)) else:
--- a/WebBrowser/WebBrowserView.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/WebBrowserView.py Sat May 13 16:32:54 2017 +0200 @@ -17,7 +17,7 @@ import os from PyQt5.QtCore import pyqtSignal, QUrl, QFileInfo, Qt, QTimer, QEvent, \ - QPoint, QDateTime, qVersion, QStandardPaths + QPoint, QDateTime, QStandardPaths from PyQt5.QtGui import QDesktopServices, QClipboard, QIcon, \ QContextMenuEvent, QPixmap from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication @@ -38,6 +38,7 @@ import Preferences import UI.PixmapCache import Utilities +from Globals import qVersionTuple class WebBrowserView(QWebEngineView): @@ -122,7 +123,7 @@ self.__inspector = None WebInspector.registerView(self) - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): if self.parentWidget() is not None: self.parentWidget().installEventFilter(self) @@ -342,7 +343,7 @@ """ Public slot to clear the current selection. """ - if qVersion() >= "5.7.0": + if qVersionTuple() >= (5, 7, 0): self.triggerPageAction(QWebEnginePage.Unselect) else: self.page().runJavaScript( @@ -525,11 +526,11 @@ @type WebHitTestResult """ spellCheckActionCount = 0 - if qVersion() >= "5.7.0": + if qVersionTuple() >= (5, 7, 0): contextMenuData = self.page().contextMenuData() hitTest.updateWithContextMenuData(contextMenuData) - if qVersion() >= "5.8.0" and \ + if qVersionTuple() >= (5, 8, 0) and \ bool(contextMenuData.misspelledWord()): boldFont = menu.font() boldFont.setBold(True) @@ -1391,7 +1392,7 @@ @rtype bool """ # find the render widget receiving events for the web page - if qVersion() < "5.8.0": + if qVersionTuple() < (5, 8, 0): if obj is self and evt.type() == QEvent.ChildAdded: child = evt.child() if child and child.inherits( @@ -1704,7 +1705,7 @@ if url.isEmpty(): return - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): # since Qt 5.8.0 fileName, savePageFormat = self.__getSavePageFileNameAndFormat() if fileName:
--- a/WebBrowser/WebBrowserWindow.py Sat May 13 13:46:05 2017 +0200 +++ b/WebBrowser/WebBrowserWindow.py Sat May 13 16:32:54 2017 +0200 @@ -18,7 +18,7 @@ import sys from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, \ - QUrl, QTextCodec, QProcess, QEvent, qVersion + QUrl, QTextCodec, QProcess, QEvent from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QDockWidget, \ QComboBox, QLabel, QMenu, QToolButton, QLineEdit, QApplication, \ @@ -44,6 +44,7 @@ import Utilities import Globals +from Globals import qVersionTuple import UI.PixmapCache import UI.Config @@ -744,9 +745,9 @@ self.__actions.append(self.exportBookmarksAct) # TODO: re-check this once printing on Windows is reliable -## if qVersion() >= "5.8.0" or ( -## not Globals.isWindowsPlatform() or qVersion() >= "5.7.0"): - if not Globals.isWindowsPlatform() and qVersion() >= "5.7.0": +## if qVersionTuple() >= (5, 8, 0) or ( +## not Globals.isWindowsPlatform() or qVersionTuple() >= (5, 7, 0)): + if not Globals.isWindowsPlatform() and qVersionTuple() >= (5, 7, 0): self.printAct = E5Action( self.tr('Print'), UI.PixmapCache.getIcon("print.png"), @@ -764,7 +765,7 @@ else: self.printAct = None - if Globals.isLinuxPlatform() or qVersion() >= "5.7.0": + if Globals.isLinuxPlatform() or qVersionTuple() >= (5, 7, 0): self.printPdfAct = E5Action( self.tr('Print as PDF'), UI.PixmapCache.getIcon("printPdf.png"), @@ -784,10 +785,10 @@ self.printPdfAct = None # TODO: re-check this once printing on Windows is reliable -## if qVersion() >= "5.8.0" or ( -## not Globals.isWindowsPlatform() and qVersion() < "5.7.0"): +## if qVersionTuple() >= (5, 8, 0) or ( +## not Globals.isWindowsPlatform() and qVersionTuple() < (5, 7, 0)): if not Globals.isWindowsPlatform() and ( - qVersion() < "5.7.0" or qVersion() >= "5.8.0"): + qVersionTuple() < (5, 7, 0) or qVersionTuple() >= (5, 8, 0)): self.printPreviewAct = E5Action( self.tr('Print Preview'), UI.PixmapCache.getIcon("printPreview.png"), @@ -2868,7 +2869,7 @@ profile.setHttpCacheType(QWebEngineProfile.MemoryHttpCache) profile.setHttpCacheMaximumSize(0) - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): profile.setSpellCheckEnabled( Preferences.getWebBrowser("SpellCheckEnabled")) profile.setSpellCheckLanguages( @@ -4240,7 +4241,7 @@ cls._webProfile.setPersistentCookiesPolicy( QWebEngineProfile.AllowPersistentCookies) - if qVersion() >= "5.8.0": + if qVersionTuple() >= (5, 8, 0): cls._webProfile.setSpellCheckEnabled( Preferences.getWebBrowser("SpellCheckEnabled")) cls._webProfile.setSpellCheckLanguages(
--- a/eric6_browser.py Sat May 13 13:46:05 2017 +0200 +++ b/eric6_browser.py Sat May 13 16:32:54 2017 +0200 @@ -30,10 +30,10 @@ import sys import os -MIN_QT_VERSION = "5.6.0" +from Globals import qVersionTuple -from PyQt5.QtCore import qVersion -if qVersion() < MIN_QT_VERSION: + +if qVersionTuple() < (5, 6, 0): from PyQt5.QtCore import QTimer from PyQt5.QtWidgets import QApplication from E5Gui import E5MessageBox @@ -41,8 +41,8 @@ QTimer.singleShot(0, lambda: E5MessageBox.critical( None, "eric6 Web Browser", - "You need at least Qt Version {0} to execute the web browser." - .format(MIN_QT_VERSION))) + "You need at least Qt Version 5.6.0 to execute the web browser.") + ) app.exec_() sys.exit(100)
--- a/eric6_configure.py Sat May 13 13:46:05 2017 +0200 +++ b/eric6_configure.py Sat May 13 16:32:54 2017 +0200 @@ -37,8 +37,8 @@ settingsDir) sys.argv.remove(arg) -from PyQt5.QtCore import qVersion -if qVersion() < "5.6.0": +from Globals import qVersionTuple +if qVersionTuple() < (5, 6, 0): WEBENGINE_AVAILABLE = False else: try:
--- a/eric6_tray.py Sat May 13 13:46:05 2017 +0200 +++ b/eric6_tray.py Sat May 13 16:32:54 2017 +0200 @@ -42,8 +42,8 @@ SettingsDir) sys.argv.remove(arg) -from PyQt5.QtCore import qVersion -if qVersion() < "5.6.0": +from Globals import qVersionTuple +if qVersionTuple() < (5, 6, 0): WEBENGINE_AVAILABLE = False else: try: