diff options
author | kali <kali@leap.se> | 2013-01-30 06:52:59 +0900 |
---|---|---|
committer | kali <kali@leap.se> | 2013-01-30 06:52:59 +0900 |
commit | 570f84756b3d1f689a172a3ff0c55abf6a60b9dd (patch) | |
tree | 0f262acacf35743664c6408edbafe6ba6f119d14 /src/leap/testing/pyqt.py | |
parent | e60abdcb796ad9e2c44e9b37d3a68e7f159c035c (diff) | |
parent | 10a2303fe2d21999bce56940daecb78576f5b741 (diff) |
Merge branch 'pre-release-0.2.0' into release-0.2.0
This merge contains today's state of develop branch,
minus soledad and email components.
Diffstat (limited to 'src/leap/testing/pyqt.py')
-rw-r--r-- | src/leap/testing/pyqt.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/leap/testing/pyqt.py b/src/leap/testing/pyqt.py new file mode 100644 index 00000000..6edaf059 --- /dev/null +++ b/src/leap/testing/pyqt.py @@ -0,0 +1,52 @@ +from PyQt4 import QtCore + +_oldConnect = QtCore.QObject.connect +_oldDisconnect = QtCore.QObject.disconnect +_oldEmit = QtCore.QObject.emit + + +def _wrapConnect(callableObject): + """ + Returns a wrapped call to the old version of QtCore.QObject.connect + """ + @staticmethod + def call(*args): + callableObject(*args) + _oldConnect(*args) + return call + + +def _wrapDisconnect(callableObject): + """ + Returns a wrapped call to the old version of QtCore.QObject.disconnect + """ + @staticmethod + def call(*args): + callableObject(*args) + _oldDisconnect(*args) + return call + + +def enableSignalDebugging(**kwargs): + """ + Call this to enable Qt Signal debugging. This will trap all + connect, and disconnect calls. + """ + + f = lambda *args: None + connectCall = kwargs.get('connectCall', f) + disconnectCall = kwargs.get('disconnectCall', f) + emitCall = kwargs.get('emitCall', f) + + def printIt(msg): + def call(*args): + print msg, args + return call + QtCore.QObject.connect = _wrapConnect(connectCall) + QtCore.QObject.disconnect = _wrapDisconnect(disconnectCall) + + def new_emit(self, *args): + emitCall(self, *args) + _oldEmit(self, *args) + + QtCore.QObject.emit = new_emit |