Bumping to 1.3.11 for PySide testing
[gc-dialer] / dialcentral / util / qt_compat.py
1 #!/usr/bin/env python
2
3 from __future__ import with_statement
4 from __future__ import division
5
6 _TRY_PYSIDE = True
7
8 try:
9         if not _TRY_PYSIDE:
10                 raise ImportError()
11         import PySide.QtCore as _QtCore
12         QtCore = _QtCore
13         USES_PYSIDE = True
14 except ImportError:
15         import sip
16         sip.setapi('QString', 2)
17         sip.setapi('QVariant', 2)
18         import PyQt4.QtCore as _QtCore
19         QtCore = _QtCore
20         USES_PYSIDE = False
21
22
23 def _pyside_import_module(moduleName):
24         pyside = __import__('PySide', globals(), locals(), [moduleName], -1)
25         return getattr(pyside, moduleName)
26
27
28 def _pyqt4_import_module(moduleName):
29         pyside = __import__('PyQt4', globals(), locals(), [moduleName], -1)
30         return getattr(pyside, moduleName)
31
32
33 if USES_PYSIDE:
34         import_module = _pyside_import_module
35
36         Signal = QtCore.Signal
37         Slot = QtCore.Slot
38         Property = QtCore.Property
39 else:
40         import_module = _pyqt4_import_module
41
42         Signal = QtCore.pyqtSignal
43         Slot = QtCore.pyqtSlot
44         Property = QtCore.pyqtProperty
45
46
47 if __name__ == "__main__":
48         pass
49