diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-06-15 11:47:56 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-27 05:08:52 +0200 |
commit | 6afc3be37712416aa56940848aebe7682ad9e88f (patch) | |
tree | 1744e0c5e6e55103921f9de44e86162b552461bd /src/qml | |
parent | fbd2995c6165c05a0c1aea3b6e23cb4d6745d561 (diff) |
Implement QAbstractDeclarativeData::isSignalConnected hook
QQml_isSignalConnected is no longer needed, since
QObjectPrivate::isSignalConnected will now call the declarativeData
hook.
Change-Id: I0685b0fa909d6c6c2d275bfa8d41100d9926a046
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/qml/qqmldata_p.h | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmlengine.cpp | 11 | ||||
-rw-r--r-- | src/qml/qml/qqmlglobal_p.h | 4 |
3 files changed, 8 insertions, 9 deletions
diff --git a/src/qml/qml/qqmldata_p.h b/src/qml/qml/qqmldata_p.h index 879d59722b..225d6d854d 100644 --- a/src/qml/qml/qqmldata_p.h +++ b/src/qml/qml/qqmldata_p.h @@ -95,6 +95,7 @@ public: QAbstractDeclarativeData::parentChanged = parentChanged; QAbstractDeclarativeData::signalEmitted = signalEmitted; QAbstractDeclarativeData::receivers = receivers; + QAbstractDeclarativeData::isSignalConnected = isSignalConnected; } } @@ -102,6 +103,7 @@ public: static void parentChanged(QAbstractDeclarativeData *, QObject *, QObject *); static void signalEmitted(QAbstractDeclarativeData *, QObject *, int, void **); static int receivers(QAbstractDeclarativeData *, const QObject *, int); + static bool isSignalConnected(QAbstractDeclarativeData *, const QObject *, int); void destroyed(QObject *); void parentChanged(QObject *, QObject *); diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp index 6133568426..391b8e89b3 100644 --- a/src/qml/qml/qqmlengine.cpp +++ b/src/qml/qml/qqmlengine.cpp @@ -570,6 +570,11 @@ int QQmlData::receivers(QAbstractDeclarativeData *d, const QObject *, int index) return static_cast<QQmlData *>(d)->endpointCount(index); } +bool QQmlData::isSignalConnected(QAbstractDeclarativeData *d, const QObject *, int index) +{ + return static_cast<QQmlData *>(d)->signalHasEndpoint(index); +} + int QQmlData::endpointCount(int index) { int count = 0; @@ -1304,12 +1309,6 @@ void QQmlData::addNotify(int index, QQmlNotifierEndpoint *endpoint) } } -bool QQml_isSignalConnected(QObject *obj, int signal_index) -{ - QQmlData *data = QQmlData::get(obj); - return QObjectPrivate::get(obj)->isSignalConnected(signal_index) || (data && data->signalHasEndpoint(signal_index)); -} - /* index MUST in the range returned by QObjectPrivate::signalIndex() This is different than the index returned by QMetaMethod::methodIndex() diff --git a/src/qml/qml/qqmlglobal_p.h b/src/qml/qml/qqmlglobal_p.h index c237af6a7c..b3e8eb6421 100644 --- a/src/qml/qml/qqmlglobal_p.h +++ b/src/qml/qml/qqmlglobal_p.h @@ -164,15 +164,13 @@ T qmlobject_cast(QObject *object) return 0; } -bool Q_QML_PRIVATE_EXPORT QQml_isSignalConnected(QObject*, int); - #define IS_SIGNAL_CONNECTED(Sender, SenderType, Name, Arguments) \ do { \ QObject *sender = (Sender); \ void (SenderType::*signal)Arguments = &SenderType::Name; \ static QMetaMethod method = QMetaMethod::fromSignal(signal); \ static int signalIdx = QMetaObjectPrivate::signalIndex(method); \ - return QQml_isSignalConnected(sender, signalIdx); \ + return QObjectPrivate::get(sender)->isSignalConnected(signalIdx); \ } while (0) struct QQmlGraphics_DerivedObject : public QObject |