Update vendored Qt.py to version 1.1.0
This commit is contained in:
parent
d8d389bbf8
commit
4367301a9e
144
syncplay/vendor/Qt.py
vendored
144
syncplay/vendor/Qt.py
vendored
@ -43,7 +43,7 @@ import types
|
|||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
|
|
||||||
__version__ = "1.1.0.b5"
|
__version__ = "1.1.0"
|
||||||
|
|
||||||
# Enable support for `from Qt import *`
|
# Enable support for `from Qt import *`
|
||||||
__all__ = []
|
__all__ = []
|
||||||
@ -58,7 +58,7 @@ Qt = sys.modules[__name__]
|
|||||||
Qt.QtCompat = types.ModuleType("QtCompat")
|
Qt.QtCompat = types.ModuleType("QtCompat")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
int
|
long
|
||||||
except NameError:
|
except NameError:
|
||||||
# Python 3 compatibility
|
# Python 3 compatibility
|
||||||
long = int
|
long = int
|
||||||
@ -110,6 +110,7 @@ _common_members = {
|
|||||||
"QGenericArgument",
|
"QGenericArgument",
|
||||||
"QGenericReturnArgument",
|
"QGenericReturnArgument",
|
||||||
"QHistoryState",
|
"QHistoryState",
|
||||||
|
"QItemSelectionRange",
|
||||||
"QIODevice",
|
"QIODevice",
|
||||||
"QLibraryInfo",
|
"QLibraryInfo",
|
||||||
"QLine",
|
"QLine",
|
||||||
@ -393,6 +394,16 @@ _common_members = {
|
|||||||
"QGLFormat",
|
"QGLFormat",
|
||||||
"QGLWidget"
|
"QGLWidget"
|
||||||
],
|
],
|
||||||
|
"QtPrintSupport": [
|
||||||
|
"QAbstractPrintDialog",
|
||||||
|
"QPageSetupDialog",
|
||||||
|
"QPrintDialog",
|
||||||
|
"QPrintEngine",
|
||||||
|
"QPrintPreviewDialog",
|
||||||
|
"QPrintPreviewWidget",
|
||||||
|
"QPrinter",
|
||||||
|
"QPrinterInfo"
|
||||||
|
],
|
||||||
"QtSql": [
|
"QtSql": [
|
||||||
"QSql",
|
"QSql",
|
||||||
"QSqlDatabase",
|
"QSqlDatabase",
|
||||||
@ -611,6 +622,9 @@ _common_members = {
|
|||||||
"QWizard",
|
"QWizard",
|
||||||
"QWizardPage"
|
"QWizardPage"
|
||||||
],
|
],
|
||||||
|
"QtX11Extras": [
|
||||||
|
"QX11Info"
|
||||||
|
],
|
||||||
"QtXml": [
|
"QtXml": [
|
||||||
"QDomAttr",
|
"QDomAttr",
|
||||||
"QDomCDATASection",
|
"QDomCDATASection",
|
||||||
@ -671,7 +685,7 @@ These members from the original submodule are misplaced relative PySide2
|
|||||||
"""
|
"""
|
||||||
_misplaced_members = {
|
_misplaced_members = {
|
||||||
"PySide2": {
|
"PySide2": {
|
||||||
#"QtGui.QStringListModel": "QtCore.QStringListModel",
|
"QtGui.QStringListModel": "QtCore.QStringListModel",
|
||||||
"QtCore.Property": "QtCore.Property",
|
"QtCore.Property": "QtCore.Property",
|
||||||
"QtCore.Signal": "QtCore.Signal",
|
"QtCore.Signal": "QtCore.Signal",
|
||||||
"QtCore.Slot": "QtCore.Slot",
|
"QtCore.Slot": "QtCore.Slot",
|
||||||
@ -679,6 +693,7 @@ _misplaced_members = {
|
|||||||
"QtCore.QSortFilterProxyModel": "QtCore.QSortFilterProxyModel",
|
"QtCore.QSortFilterProxyModel": "QtCore.QSortFilterProxyModel",
|
||||||
"QtCore.QItemSelection": "QtCore.QItemSelection",
|
"QtCore.QItemSelection": "QtCore.QItemSelection",
|
||||||
"QtCore.QItemSelectionModel": "QtCore.QItemSelectionModel",
|
"QtCore.QItemSelectionModel": "QtCore.QItemSelectionModel",
|
||||||
|
"QtCore.QItemSelectionRange": "QtCore.QItemSelectionRange",
|
||||||
},
|
},
|
||||||
"PyQt5": {
|
"PyQt5": {
|
||||||
"QtCore.pyqtProperty": "QtCore.Property",
|
"QtCore.pyqtProperty": "QtCore.Property",
|
||||||
@ -689,6 +704,7 @@ _misplaced_members = {
|
|||||||
"QtCore.QStringListModel": "QtCore.QStringListModel",
|
"QtCore.QStringListModel": "QtCore.QStringListModel",
|
||||||
"QtCore.QItemSelection": "QtCore.QItemSelection",
|
"QtCore.QItemSelection": "QtCore.QItemSelection",
|
||||||
"QtCore.QItemSelectionModel": "QtCore.QItemSelectionModel",
|
"QtCore.QItemSelectionModel": "QtCore.QItemSelectionModel",
|
||||||
|
"QtCore.QItemSelectionRange": "QtCore.QItemSelectionRange",
|
||||||
},
|
},
|
||||||
"PySide": {
|
"PySide": {
|
||||||
"QtGui.QAbstractProxyModel": "QtCore.QAbstractProxyModel",
|
"QtGui.QAbstractProxyModel": "QtCore.QAbstractProxyModel",
|
||||||
@ -699,7 +715,15 @@ _misplaced_members = {
|
|||||||
"QtCore.Property": "QtCore.Property",
|
"QtCore.Property": "QtCore.Property",
|
||||||
"QtCore.Signal": "QtCore.Signal",
|
"QtCore.Signal": "QtCore.Signal",
|
||||||
"QtCore.Slot": "QtCore.Slot",
|
"QtCore.Slot": "QtCore.Slot",
|
||||||
|
"QtGui.QItemSelectionRange": "QtCore.QItemSelectionRange",
|
||||||
|
"QtGui.QAbstractPrintDialog": "QtPrintSupport.QAbstractPrintDialog",
|
||||||
|
"QtGui.QPageSetupDialog": "QtPrintSupport.QPageSetupDialog",
|
||||||
|
"QtGui.QPrintDialog": "QtPrintSupport.QPrintDialog",
|
||||||
|
"QtGui.QPrintEngine": "QtPrintSupport.QPrintEngine",
|
||||||
|
"QtGui.QPrintPreviewDialog": "QtPrintSupport.QPrintPreviewDialog",
|
||||||
|
"QtGui.QPrintPreviewWidget": "QtPrintSupport.QPrintPreviewWidget",
|
||||||
|
"QtGui.QPrinter": "QtPrintSupport.QPrinter",
|
||||||
|
"QtGui.QPrinterInfo": "QtPrintSupport.QPrinterInfo",
|
||||||
},
|
},
|
||||||
"PyQt4": {
|
"PyQt4": {
|
||||||
"QtGui.QAbstractProxyModel": "QtCore.QAbstractProxyModel",
|
"QtGui.QAbstractProxyModel": "QtCore.QAbstractProxyModel",
|
||||||
@ -710,6 +734,15 @@ _misplaced_members = {
|
|||||||
"QtCore.pyqtProperty": "QtCore.Property",
|
"QtCore.pyqtProperty": "QtCore.Property",
|
||||||
"QtCore.pyqtSignal": "QtCore.Signal",
|
"QtCore.pyqtSignal": "QtCore.Signal",
|
||||||
"QtCore.pyqtSlot": "QtCore.Slot",
|
"QtCore.pyqtSlot": "QtCore.Slot",
|
||||||
|
"QtGui.QItemSelectionRange": "QtCore.QItemSelectionRange",
|
||||||
|
"QtGui.QAbstractPrintDialog": "QtPrintSupport.QAbstractPrintDialog",
|
||||||
|
"QtGui.QPageSetupDialog": "QtPrintSupport.QPageSetupDialog",
|
||||||
|
"QtGui.QPrintDialog": "QtPrintSupport.QPrintDialog",
|
||||||
|
"QtGui.QPrintEngine": "QtPrintSupport.QPrintEngine",
|
||||||
|
"QtGui.QPrintPreviewDialog": "QtPrintSupport.QPrintPreviewDialog",
|
||||||
|
"QtGui.QPrintPreviewWidget": "QtPrintSupport.QPrintPreviewWidget",
|
||||||
|
"QtGui.QPrinter": "QtPrintSupport.QPrinter",
|
||||||
|
"QtGui.QPrinterInfo": "QtPrintSupport.QPrinterInfo",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -869,12 +902,12 @@ def _wrapinstance(func, ptr, base=None):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
assert isinstance(ptr, int), "Argument 'ptr' must be of type <long>"
|
assert isinstance(ptr, long), "Argument 'ptr' must be of type <long>"
|
||||||
assert (base is None) or issubclass(base, Qt.QtCore.QObject), (
|
assert (base is None) or issubclass(base, Qt.QtCore.QObject), (
|
||||||
"Argument 'base' must be of type <QObject>")
|
"Argument 'base' must be of type <QObject>")
|
||||||
|
|
||||||
if base is None:
|
if base is None:
|
||||||
q_object = func(int(ptr), Qt.QtCore.QObject)
|
q_object = func(long(ptr), Qt.QtCore.QObject)
|
||||||
meta_object = q_object.metaObject()
|
meta_object = q_object.metaObject()
|
||||||
class_name = meta_object.className()
|
class_name = meta_object.className()
|
||||||
super_class_name = meta_object.superClass().className()
|
super_class_name = meta_object.superClass().className()
|
||||||
@ -888,7 +921,7 @@ def _wrapinstance(func, ptr, base=None):
|
|||||||
else:
|
else:
|
||||||
base = Qt.QtCore.QObject
|
base = Qt.QtCore.QObject
|
||||||
|
|
||||||
return func(int(ptr), base)
|
return func(long(ptr), base)
|
||||||
|
|
||||||
|
|
||||||
def _reassign_misplaced_members(binding):
|
def _reassign_misplaced_members(binding):
|
||||||
@ -899,20 +932,38 @@ def _reassign_misplaced_members(binding):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for src, dst in list(_misplaced_members[binding].items()):
|
for src, dst in _misplaced_members[binding].items():
|
||||||
src_module, src_member = src.split(".")
|
src_module, src_member = src.split(".")
|
||||||
dst_module, dst_member = dst.split(".")
|
dst_module, dst_member = dst.split(".")
|
||||||
|
|
||||||
|
# Get the member we want to store in the namesapce.
|
||||||
|
try:
|
||||||
|
dst_value = getattr(getattr(Qt, "_" + src_module), src_member)
|
||||||
|
except AttributeError:
|
||||||
|
# If the member we want to store in the namespace does not exist,
|
||||||
|
# there is no need to continue. This can happen if a request was
|
||||||
|
# made to rename a member that didn't exist, for example
|
||||||
|
# if QtWidgets isn't available on the target platform.
|
||||||
|
_log("Misplaced member has no source: {}".format(src))
|
||||||
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
src_object = getattr(Qt, dst_module)
|
src_object = getattr(Qt, dst_module)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
# Skip reassignment of non-existing members.
|
if dst_module not in _common_members:
|
||||||
# This can happen if a request was made to
|
# Only create the Qt parent module if its listed in
|
||||||
# rename a member that didn't exist, for example
|
# _common_members. Without this check, if you remove QtCore
|
||||||
# if QtWidgets isn't available on the target platform.
|
# from _common_members, the default _misplaced_members will add
|
||||||
continue
|
# Qt.QtCore so it can add Signal, Slot, etc.
|
||||||
|
msg = 'Not creating missing member module "{m}" for "{c}"'
|
||||||
dst_value = getattr(getattr(Qt, "_" + src_module), src_member)
|
_log(msg.format(m=dst_module, c=dst_member))
|
||||||
|
continue
|
||||||
|
# If the dst is valid but the Qt parent module does not exist
|
||||||
|
# then go ahead and create a new module to contain the member.
|
||||||
|
setattr(Qt, dst_module, _new_module(dst_module))
|
||||||
|
src_object = getattr(Qt, dst_module)
|
||||||
|
# Enable direct import of the new module
|
||||||
|
sys.modules[__name__ + "." + dst_module] = src_object
|
||||||
|
|
||||||
setattr(
|
setattr(
|
||||||
src_object,
|
src_object,
|
||||||
@ -948,9 +999,9 @@ def _build_compatibility_members(binding, decorators=None):
|
|||||||
|
|
||||||
_QtCompat = type("QtCompat", (object,), {})
|
_QtCompat = type("QtCompat", (object,), {})
|
||||||
|
|
||||||
for classname, bindings in list(_compatibility_members[binding].items()):
|
for classname, bindings in _compatibility_members[binding].items():
|
||||||
attrs = {}
|
attrs = {}
|
||||||
for target, binding in list(bindings.items()):
|
for target, binding in bindings.items():
|
||||||
namespaces = binding.split('.')
|
namespaces = binding.split('.')
|
||||||
try:
|
try:
|
||||||
src_object = getattr(Qt, "_" + namespaces[0])
|
src_object = getattr(Qt, "_" + namespaces[0])
|
||||||
@ -1020,6 +1071,7 @@ def _pyside2():
|
|||||||
|
|
||||||
if hasattr(Qt, "_QtCore"):
|
if hasattr(Qt, "_QtCore"):
|
||||||
Qt.__qt_version__ = Qt._QtCore.qVersion()
|
Qt.__qt_version__ = Qt._QtCore.qVersion()
|
||||||
|
Qt.QtCompat.qInstallMessageHandler = _qInstallMessageHandler
|
||||||
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
|
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
|
||||||
|
|
||||||
if hasattr(Qt, "_QtWidgets"):
|
if hasattr(Qt, "_QtWidgets"):
|
||||||
@ -1062,12 +1114,16 @@ def _pyside():
|
|||||||
if hasattr(Qt, "_QtGui"):
|
if hasattr(Qt, "_QtGui"):
|
||||||
setattr(Qt, "QtWidgets", _new_module("QtWidgets"))
|
setattr(Qt, "QtWidgets", _new_module("QtWidgets"))
|
||||||
setattr(Qt, "_QtWidgets", Qt._QtGui)
|
setattr(Qt, "_QtWidgets", Qt._QtGui)
|
||||||
|
if hasattr(Qt._QtGui, "QX11Info"):
|
||||||
|
setattr(Qt, "QtX11Extras", _new_module("QtX11Extras"))
|
||||||
|
Qt.QtX11Extras.QX11Info = Qt._QtGui.QX11Info
|
||||||
|
|
||||||
Qt.QtCompat.setSectionResizeMode = Qt._QtGui.QHeaderView.setResizeMode
|
Qt.QtCompat.setSectionResizeMode = Qt._QtGui.QHeaderView.setResizeMode
|
||||||
|
|
||||||
if hasattr(Qt, "_QtCore"):
|
if hasattr(Qt, "_QtCore"):
|
||||||
Qt.__qt_version__ = Qt._QtCore.qVersion()
|
Qt.__qt_version__ = Qt._QtCore.qVersion()
|
||||||
QCoreApplication = Qt._QtCore.QCoreApplication
|
QCoreApplication = Qt._QtCore.QCoreApplication
|
||||||
|
Qt.QtCompat.qInstallMessageHandler = _qInstallMessageHandler
|
||||||
Qt.QtCompat.translate = (
|
Qt.QtCompat.translate = (
|
||||||
lambda context, sourceText, disambiguation, n:
|
lambda context, sourceText, disambiguation, n:
|
||||||
QCoreApplication.translate(
|
QCoreApplication.translate(
|
||||||
@ -1107,6 +1163,7 @@ def _pyqt5():
|
|||||||
if hasattr(Qt, "_QtCore"):
|
if hasattr(Qt, "_QtCore"):
|
||||||
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
|
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
|
||||||
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
|
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
|
||||||
|
Qt.QtCompat.qInstallMessageHandler = _qInstallMessageHandler
|
||||||
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
|
Qt.QtCompat.translate = Qt._QtCore.QCoreApplication.translate
|
||||||
|
|
||||||
if hasattr(Qt, "_QtWidgets"):
|
if hasattr(Qt, "_QtWidgets"):
|
||||||
@ -1175,6 +1232,9 @@ def _pyqt4():
|
|||||||
if hasattr(Qt, "_QtGui"):
|
if hasattr(Qt, "_QtGui"):
|
||||||
setattr(Qt, "QtWidgets", _new_module("QtWidgets"))
|
setattr(Qt, "QtWidgets", _new_module("QtWidgets"))
|
||||||
setattr(Qt, "_QtWidgets", Qt._QtGui)
|
setattr(Qt, "_QtWidgets", Qt._QtGui)
|
||||||
|
if hasattr(Qt._QtGui, "QX11Info"):
|
||||||
|
setattr(Qt, "QtX11Extras", _new_module("QtX11Extras"))
|
||||||
|
Qt.QtX11Extras.QX11Info = Qt._QtGui.QX11Info
|
||||||
|
|
||||||
Qt.QtCompat.setSectionResizeMode = \
|
Qt.QtCompat.setSectionResizeMode = \
|
||||||
Qt._QtGui.QHeaderView.setResizeMode
|
Qt._QtGui.QHeaderView.setResizeMode
|
||||||
@ -1182,8 +1242,8 @@ def _pyqt4():
|
|||||||
if hasattr(Qt, "_QtCore"):
|
if hasattr(Qt, "_QtCore"):
|
||||||
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
|
Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR
|
||||||
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
|
Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR
|
||||||
|
|
||||||
QCoreApplication = Qt._QtCore.QCoreApplication
|
QCoreApplication = Qt._QtCore.QCoreApplication
|
||||||
|
Qt.QtCompat.qInstallMessageHandler = _qInstallMessageHandler
|
||||||
Qt.QtCompat.translate = (
|
Qt.QtCompat.translate = (
|
||||||
lambda context, sourceText, disambiguation, n:
|
lambda context, sourceText, disambiguation, n:
|
||||||
QCoreApplication.translate(
|
QCoreApplication.translate(
|
||||||
@ -1233,7 +1293,7 @@ def _none():
|
|||||||
Qt.QtCompat.loadUi = lambda uifile, baseinstance=None: None
|
Qt.QtCompat.loadUi = lambda uifile, baseinstance=None: None
|
||||||
Qt.QtCompat.setSectionResizeMode = lambda *args, **kwargs: None
|
Qt.QtCompat.setSectionResizeMode = lambda *args, **kwargs: None
|
||||||
|
|
||||||
for submodule in list(_common_members.keys()):
|
for submodule in _common_members.keys():
|
||||||
setattr(Qt, submodule, Mock())
|
setattr(Qt, submodule, Mock())
|
||||||
setattr(Qt, "_" + submodule, Mock())
|
setattr(Qt, "_" + submodule, Mock())
|
||||||
|
|
||||||
@ -1261,10 +1321,6 @@ def _loadUi(uifile, baseinstance=None):
|
|||||||
return the newly created instance of the user interface.
|
return the newly created instance of the user interface.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if hasattr(baseinstance, "layout") and baseinstance.layout():
|
|
||||||
message = ("QLayout: Attempting to add Layout to %s which "
|
|
||||||
"already has a layout")
|
|
||||||
raise RuntimeError(message % (baseinstance))
|
|
||||||
|
|
||||||
if hasattr(Qt, "_uic"):
|
if hasattr(Qt, "_uic"):
|
||||||
return Qt._uic.loadUi(uifile, baseinstance)
|
return Qt._uic.loadUi(uifile, baseinstance)
|
||||||
@ -1345,6 +1401,43 @@ def _loadUi(uifile, baseinstance=None):
|
|||||||
raise NotImplementedError("No implementation available for loadUi")
|
raise NotImplementedError("No implementation available for loadUi")
|
||||||
|
|
||||||
|
|
||||||
|
def _qInstallMessageHandler(handler):
|
||||||
|
"""Install a message handler that works in all bindings
|
||||||
|
|
||||||
|
Args:
|
||||||
|
handler: A function that takes 3 arguments, or None
|
||||||
|
"""
|
||||||
|
def messageOutputHandler(*args):
|
||||||
|
# In Qt4 bindings, message handlers are passed 2 arguments
|
||||||
|
# In Qt5 bindings, message handlers are passed 3 arguments
|
||||||
|
# The first argument is a QtMsgType
|
||||||
|
# The last argument is the message to be printed
|
||||||
|
# The Middle argument (if passed) is a QMessageLogContext
|
||||||
|
if len(args) == 3:
|
||||||
|
msgType, logContext, msg = args
|
||||||
|
elif len(args) == 2:
|
||||||
|
msgType, msg = args
|
||||||
|
logContext = None
|
||||||
|
else:
|
||||||
|
raise TypeError(
|
||||||
|
"handler expected 2 or 3 arguments, got {0}".format(len(args)))
|
||||||
|
|
||||||
|
if isinstance(msg, bytes):
|
||||||
|
# In python 3, some bindings pass a bytestring, which cannot be
|
||||||
|
# used elsewhere. Decoding a python 2 or 3 bytestring object will
|
||||||
|
# consistently return a unicode object.
|
||||||
|
msg = msg.decode()
|
||||||
|
|
||||||
|
handler(msgType, logContext, msg)
|
||||||
|
|
||||||
|
passObject = messageOutputHandler if handler else handler
|
||||||
|
if Qt.IsPySide or Qt.IsPyQt4:
|
||||||
|
return Qt._QtCore.qInstallMsgHandler(passObject)
|
||||||
|
elif Qt.IsPySide2 or Qt.IsPyQt5:
|
||||||
|
return Qt._QtCore.qInstallMessageHandler(passObject)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def _convert(lines):
|
def _convert(lines):
|
||||||
"""Convert compiled .ui file from PySide2 to Qt.py
|
"""Convert compiled .ui file from PySide2 to Qt.py
|
||||||
|
|
||||||
@ -1472,7 +1565,7 @@ def _install():
|
|||||||
raise ImportError("No Qt binding were found.")
|
raise ImportError("No Qt binding were found.")
|
||||||
|
|
||||||
# Install individual members
|
# Install individual members
|
||||||
for name, members in list(_common_members.items()):
|
for name, members in _common_members.items():
|
||||||
try:
|
try:
|
||||||
their_submodule = getattr(Qt, "_%s" % name)
|
their_submodule = getattr(Qt, "_%s" % name)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
@ -1497,6 +1590,9 @@ def _install():
|
|||||||
|
|
||||||
setattr(our_submodule, member, their_member)
|
setattr(our_submodule, member, their_member)
|
||||||
|
|
||||||
|
# Enable direct import of QtCompat
|
||||||
|
sys.modules['Qt.QtCompat'] = Qt.QtCompat
|
||||||
|
|
||||||
# Backwards compatibility
|
# Backwards compatibility
|
||||||
if hasattr(Qt.QtCompat, 'loadUi'):
|
if hasattr(Qt.QtCompat, 'loadUi'):
|
||||||
Qt.QtCompat.load_ui = Qt.QtCompat.loadUi
|
Qt.QtCompat.load_ui = Qt.QtCompat.loadUi
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user