aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-06-15 11:47:56 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-27 05:08:52 +0200
commit6afc3be37712416aa56940848aebe7682ad9e88f (patch)
tree1744e0c5e6e55103921f9de44e86162b552461bd /src/qml/qml
parentfbd2995c6165c05a0c1aea3b6e23cb4d6745d561 (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/qml')
-rw-r--r--src/qml/qml/qqmldata_p.h2
-rw-r--r--src/qml/qml/qqmlengine.cpp11
-rw-r--r--src/qml/qml/qqmlglobal_p.h4
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