Adding support for PySide's naming scheme
[gc-dialer] / src / util / qore_utils.py
index a592d34..e9b8c49 100644 (file)
@@ -1,6 +1,7 @@
 import logging
 
-from PyQt4 import QtCore
+import qt_compat
+QtCore = qt_compat.QtCore
 
 import misc
 
@@ -28,7 +29,7 @@ class _ParentThread(QtCore.QObject):
                QtCore.QObject.__init__(self)
                self._pool = pool
 
-       @QtCore.pyqtSlot(object)
+       @qt_compat.Slot(object)
        @misc.log_exception(_moduleLogger)
        def _on_task_complete(self, taskResult):
                on_success, on_error, isError, result = taskResult
@@ -46,13 +47,13 @@ class _ParentThread(QtCore.QObject):
 
 class _WorkerThread(QtCore.QObject):
 
-       taskComplete  = QtCore.pyqtSignal(object)
+       taskComplete  = qt_compat.Signal(object)
 
        def __init__(self, pool):
                QtCore.QObject.__init__(self)
                self._pool = pool
 
-       @QtCore.pyqtSlot(object)
+       @qt_compat.Slot(object)
        @misc.log_exception(_moduleLogger)
        def _on_task_added(self, task):
                if not self._pool._isRunning:
@@ -71,21 +72,21 @@ class _WorkerThread(QtCore.QObject):
                taskResult = on_success, on_error, isError, result
                self.taskComplete.emit(taskResult)
 
-       @QtCore.pyqtSlot()
+       @qt_compat.Slot()
        @misc.log_exception(_moduleLogger)
        def _on_stop_requested(self):
-               self._thread.quit()
+               self._pool._thread.quit()
 
 
 class AsyncPool(QtCore.QObject):
 
-       _addTask = QtCore.pyqtSignal(object)
-       _stopPool = QtCore.pyqtSignal()
+       _addTask = qt_compat.Signal(object)
+       _stopPool = qt_compat.Signal()
 
        def __init__(self):
                QtCore.QObject.__init__(self)
                self._thread = QThread44()
-               self._isRunning = True
+               self._isRunning = False
                self._parent = _ParentThread(self)
                self._worker = _WorkerThread(self)
                self._worker.moveToThread(self._thread)
@@ -96,12 +97,13 @@ class AsyncPool(QtCore.QObject):
 
        def start(self):
                self._thread.start()
+               self._isRunning = True
 
        def stop(self):
                self._isRunning = False
                self._stopPool.emit()
 
        def add_task(self, func, args, kwds, on_success, on_error):
-               assert self._isRunning
+               assert self._isRunning, "Task queue not started"
                task = func, args, kwds, on_success, on_error
                self._addTask.emit(task)