From cb9b7ceffb8d22f987f4cb44d027ecb046850bbf Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 20 Dec 2011 17:23:31 +1000 Subject: [PATCH] Revert "Revert "Add QObject::objectNameChanged(con... signal"" This reverts commit 9b17557f3bbd5135651bcedf9f10e61d7e078ae2. Justification: Temporary commit, see JIRA task. Task-number: QTBUG-22985 Change-Id: I3df9eb5fdbdc133349dca5e192dcfcc9e758626c Reviewed-by: Bradley T. Hughes --- src/corelib/kernel/qobject.cpp | 17 ++++++++++---- src/corelib/kernel/qobject.h | 3 ++- tests/auto/corelib/kernel/qobject/tst_qobject.cpp | 2 -- tests/auto/tools/moc/tst_moc.cpp | 28 +++++++++++------------ 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index febe909..4e8d2fc 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -949,13 +949,20 @@ QString QObject::objectName() const void QObject::setObjectName(const QString &name) { Q_D(QObject); - bool objectNameChanged = d->declarativeData && d->objectName != name; + if (d->objectName != name) { + d->objectName = name; + if (d->declarativeData) + d->declarativeData->objectNameChanged(d->declarativeData, this); + emit objectNameChanged(d->objectName); + } +} - d->objectName = name; +/*! \fn void QObject::objectNameChanged(const QString &objectName) - if (objectNameChanged) - d->declarativeData->objectNameChanged(d->declarativeData, this); -} + This signal is emitted after the object's name has been changed. The new object name is passed as \a objectName. + + \sa QObject::objectName +*/ /*! \fn bool QObject::isWidgetType() const diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 22572c0..1f7c706 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -113,7 +113,7 @@ public: class Q_CORE_EXPORT QObject { Q_OBJECT - Q_PROPERTY(QString objectName READ objectName WRITE setObjectName) + Q_PROPERTY(QString objectName READ objectName WRITE setObjectName NOTIFY objectNameChanged) Q_DECLARE_PRIVATE(QObject) public: @@ -322,6 +322,7 @@ public: Q_SIGNALS: void destroyed(QObject * = 0); + void objectNameChanged(const QString &objectName); public: inline QObject *parent() const { return d_ptr->parent; } diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp index 1e69038..cec2513 100644 --- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp +++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp @@ -3493,7 +3493,6 @@ void tst_QObject::isSignalConnected() QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig15()"))); QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig29()"))); QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig60()"))); - QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig61()"))); #endif QObject::connect(&o, SIGNAL(sig00()), &o, SIGNAL(sig69())); @@ -3548,7 +3547,6 @@ void tst_QObject::isSignalConnected() QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig21()"))); QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig25()"))); QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig55()"))); - QVERIFY(!priv->isSignalConnected(priv->signalIndex("sig61()"))); #endif emit o.sig00(); diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp index 6d3ee26..95d7d2c 100644 --- a/tests/auto/tools/moc/tst_moc.cpp +++ b/tests/auto/tools/moc/tst_moc.cpp @@ -1091,15 +1091,15 @@ void tst_Moc::invokable() { { const QMetaObject &mobj = InvokableBeforeReturnType::staticMetaObject; - QCOMPARE(mobj.methodCount(), 5); - QVERIFY(mobj.method(4).signature() == QByteArray("foo()")); + QCOMPARE(mobj.methodCount(), 6); + QVERIFY(mobj.method(5).signature() == QByteArray("foo()")); } { const QMetaObject &mobj = InvokableBeforeInline::staticMetaObject; - QCOMPARE(mobj.methodCount(), 6); - QVERIFY(mobj.method(4).signature() == QByteArray("foo()")); - QVERIFY(mobj.method(5).signature() == QByteArray("bar()")); + QCOMPARE(mobj.methodCount(), 7); + QVERIFY(mobj.method(5).signature() == QByteArray("foo()")); + QVERIFY(mobj.method(6).signature() == QByteArray("bar()")); } } @@ -1107,23 +1107,23 @@ void tst_Moc::singleFunctionKeywordSignalAndSlot() { { const QMetaObject &mobj = SingleFunctionKeywordBeforeReturnType::staticMetaObject; - QCOMPARE(mobj.methodCount(), 6); - QVERIFY(mobj.method(4).signature() == QByteArray("mySignal()")); - QVERIFY(mobj.method(5).signature() == QByteArray("mySlot()")); + QCOMPARE(mobj.methodCount(), 7); + QVERIFY(mobj.method(5).signature() == QByteArray("mySignal()")); + QVERIFY(mobj.method(6).signature() == QByteArray("mySlot()")); } { const QMetaObject &mobj = SingleFunctionKeywordBeforeInline::staticMetaObject; - QCOMPARE(mobj.methodCount(), 6); - QVERIFY(mobj.method(4).signature() == QByteArray("mySignal()")); - QVERIFY(mobj.method(5).signature() == QByteArray("mySlot()")); + QCOMPARE(mobj.methodCount(), 7); + QVERIFY(mobj.method(5).signature() == QByteArray("mySignal()")); + QVERIFY(mobj.method(6).signature() == QByteArray("mySlot()")); } { const QMetaObject &mobj = SingleFunctionKeywordAfterInline::staticMetaObject; - QCOMPARE(mobj.methodCount(), 6); - QVERIFY(mobj.method(4).signature() == QByteArray("mySignal()")); - QVERIFY(mobj.method(5).signature() == QByteArray("mySlot()")); + QCOMPARE(mobj.methodCount(), 7); + QVERIFY(mobj.method(5).signature() == QByteArray("mySignal()")); + QVERIFY(mobj.method(6).signature() == QByteArray("mySlot()")); } } -- 2.7.4