Add Qt::TimerType argument to QAbstractEventDispatcher::registerTimer()
authorBradley T. Hughes <bradley.hughes@nokia.com>
Wed, 21 Dec 2011 10:33:33 +0000 (11:33 +0100)
committerQt by Nokia <qt-info@nokia.com>
Mon, 2 Jan 2012 09:44:00 +0000 (10:44 +0100)
commit2bbf9befd8879dcfca9f48ac9ac13daf40f48847
tree42457f54a2a25cf2a8de6a9292c60b7513339c4a
parentef60ed1c9dbc87d9f8401036cc254a9c45cd8ca8
Add Qt::TimerType argument to QAbstractEventDispatcher::registerTimer()

... and deprecate the old registerTimer() functions. The new pure-
virtual registerTimer() breaks source-compatibility. Subclasses cannot
be instantiated anymore, since the pure virtual function signature has
changed.

QAbstractEventDispatcher::TimerInfo is no longer a QPair. It is now a
struct with timerId, interval, and timerType members. This is a source
incompatibility that should only affect subclasses of
QAbstractEventDispatcher, which will need to pass 3 arguments to the
TimerInfo constructor instead of 2. If the subclass used QPair<int,int>
instead of the TimerInfo typedef, the QPair<int,int> declarations will
need to be replaced with TimerInfo.

Call the new registerTimer() function with the type from
QObject::startTimer(). Change all subclasses of QAbstractEventDispatcher
to reimplement the new virtual function. The type argument is unused at
the momemnt, except to ensure that registeredTimers() returns the type
each timer was registered with. Implementations for the various
dispatchers will be done in separate commits.

Author: Thiago Macieira <thiago.macieira@nokia.com>
Change-Id: Ia22697e0ab0847810c5d162ef473e0e5a17a904b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
18 files changed:
dist/changes-5.0.0
src/corelib/kernel/qabstracteventdispatcher.cpp
src/corelib/kernel/qabstracteventdispatcher.h
src/corelib/kernel/qeventdispatcher_glib.cpp
src/corelib/kernel/qeventdispatcher_glib_p.h
src/corelib/kernel/qeventdispatcher_unix.cpp
src/corelib/kernel/qeventdispatcher_unix_p.h
src/corelib/kernel/qeventdispatcher_win.cpp
src/corelib/kernel/qeventdispatcher_win_p.h
src/corelib/kernel/qobject.cpp
src/corelib/kernel/qtimerinfo_unix.cpp
src/corelib/kernel/qtimerinfo_unix_p.h
src/plugins/platforms/cocoa/qcocoaeventdispatcher.h
src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm
tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
tests/auto/corelib/thread/qthread/tst_qthread.cpp
tests/auto/testlib/selftests/benchlibeventcounter/tst_benchlibeventcounter.cpp
tests/auto/testlib/selftests/benchliboptions/tst_benchliboptions.cpp