summaryrefslogtreecommitdiffstats
path: root/src/declarative/util
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2009-06-30 08:39:47 (GMT)
committerErik Verbruggen <erik.verbruggen@nokia.com>2009-06-30 08:39:47 (GMT)
commitf55c5b5552cf2ca620d02ff553116ae62061f8b5 (patch)
treeaad3a3c79db2993e5b6130ffbe4123be95676f2a /src/declarative/util
parent7cba48bea33dcb80979975b27047d81025d054a5 (diff)
parent5732bf283683f0444dbec740cc26c995d9464de6 (diff)
downloadQt-f55c5b5552cf2ca620d02ff553116ae62061f8b5.zip
Qt-f55c5b5552cf2ca620d02ff553116ae62061f8b5.tar.gz
Qt-f55c5b5552cf2ca620d02ff553116ae62061f8b5.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/declarative/util')
-rw-r--r--src/declarative/util/qfxglobal.h4
-rw-r--r--src/declarative/util/qfxperf.cpp3
-rw-r--r--src/declarative/util/qfxperf.h11
-rw-r--r--src/declarative/util/qfxview.cpp3
-rw-r--r--src/declarative/util/qmlanimation.cpp48
-rw-r--r--src/declarative/util/qmlanimation_p.h17
-rw-r--r--src/declarative/util/qmlbind.cpp1
-rw-r--r--src/declarative/util/qmlconnection.cpp2
-rw-r--r--src/declarative/util/qmlfollow.cpp2
-rw-r--r--src/declarative/util/qmlfont.cpp3
-rw-r--r--src/declarative/util/qmllistmodel.cpp1
-rw-r--r--src/declarative/util/qmllistmodel.h1
-rw-r--r--src/declarative/util/qmlnullablevalue_p.h16
-rw-r--r--src/declarative/util/qmlopenmetaobject.cpp1
-rw-r--r--src/declarative/util/qmlpackage.cpp3
-rw-r--r--src/declarative/util/qmlscript.h3
-rw-r--r--src/declarative/util/qmlsetproperties.cpp39
-rw-r--r--src/declarative/util/qmlsetproperties.h1
-rw-r--r--src/declarative/util/qmlstate.cpp4
-rw-r--r--src/declarative/util/qmlstate.h3
-rw-r--r--src/declarative/util/qmlstate_p.h15
-rw-r--r--src/declarative/util/qmlstategroup.cpp2
-rw-r--r--src/declarative/util/qperformancelog.cpp3
-rw-r--r--src/declarative/util/qperformancelog.h5
24 files changed, 129 insertions, 62 deletions
diff --git a/src/declarative/util/qfxglobal.h b/src/declarative/util/qfxglobal.h
index 6ba9409..6f2a9fb 100644
--- a/src/declarative/util/qfxglobal.h
+++ b/src/declarative/util/qfxglobal.h
@@ -45,12 +45,12 @@
#include <QtCore/qglobal.h>
#include <QtCore/QObject>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
+
#if defined(QT_OPENGL_ES_1)
#define QFX_CONFIGURATION_OPENGL1
#elif defined(QT_OPENGL_ES_2)
@@ -117,8 +117,8 @@ inline void QFx_setParent_noEvent(QObject *object, QObject *parent)
static_cast<QFx_DerivedObject *>(object)->setParent_noEvent(parent);
}
-
QT_END_NAMESPACE
QT_END_HEADER
+
#endif // QFXGLOBAL_H
diff --git a/src/declarative/util/qfxperf.cpp b/src/declarative/util/qfxperf.cpp
index e4f0c53..9ac9e8d 100644
--- a/src/declarative/util/qfxperf.cpp
+++ b/src/declarative/util/qfxperf.cpp
@@ -41,8 +41,8 @@
#include "qfxperf.h"
-
QT_BEGIN_NAMESPACE
+
Q_DEFINE_PERFORMANCE_LOG(QFxPerf, "QFx") {
Q_DEFINE_PERFORMANCE_METRIC(QmlParsing, "Compilation: QML Parsing")
Q_DEFINE_PERFORMANCE_METRIC(Compilation, " QML Compilation")
@@ -64,4 +64,5 @@ Q_DEFINE_PERFORMANCE_LOG(QFxPerf, "QFx") {
Q_DEFINE_PERFORMANCE_METRIC(QFxText_setText, " QFxText::setText")
Q_DEFINE_PERFORMANCE_METRIC(AddScript, "QmlScript::addScriptToEngine")
}
+
QT_END_NAMESPACE
diff --git a/src/declarative/util/qfxperf.h b/src/declarative/util/qfxperf.h
index 9fcf1d6..0bc0cc9 100644
--- a/src/declarative/util/qfxperf.h
+++ b/src/declarative/util/qfxperf.h
@@ -38,17 +38,17 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef _QFXPERF_H_
-#define _QFXPERF_H_
+#ifndef QFXPERF_H
+#define QFXPERF_H
#include "qperformancelog.h"
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
+
Q_DECLARE_PERFORMANCE_LOG(QFxPerf) {
Q_DECLARE_PERFORMANCE_METRIC(QmlParsing)
@@ -73,9 +73,8 @@ Q_DECLARE_PERFORMANCE_LOG(QFxPerf) {
Q_DECLARE_PERFORMANCE_METRIC(AddScript)
}
-#endif // _QFXPERF_H_
-
-
QT_END_NAMESPACE
QT_END_HEADER
+
+#endif // QFXPERF_H
diff --git a/src/declarative/util/qfxview.cpp b/src/declarative/util/qfxview.cpp
index d8d9ba1..0855224 100644
--- a/src/declarative/util/qfxview.cpp
+++ b/src/declarative/util/qfxview.cpp
@@ -62,8 +62,8 @@
#include <QtDeclarative/qmlcontext.h>
#include <QtDeclarative/qmldebugger.h>
-
QT_BEGIN_NAMESPACE
+
DEFINE_BOOL_CONFIG_OPTION(itemTreeDump, ITEMTREE_DUMP);
DEFINE_BOOL_CONFIG_OPTION(qmlDebugger, QML_DEBUGGER);
@@ -561,4 +561,5 @@ void QFxView::dumpRoot()
{
root()->dump();
}
+
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmlanimation.cpp b/src/declarative/util/qmlanimation.cpp
index 4ee5545..da26bdd 100644
--- a/src/declarative/util/qmlanimation.cpp
+++ b/src/declarative/util/qmlanimation.cpp
@@ -45,6 +45,7 @@
#include "qfile.h"
#include "qmlpropertyvaluesource.h"
#include "qml.h"
+#include "qmlinfo.h"
#include "qmlanimation_p.h"
#include "qmlbehaviour.h"
#include <QParallelAnimationGroup>
@@ -225,6 +226,21 @@ void QmlAbstractAnimationPrivate::commence()
}
}
+//### make static?
+QmlMetaProperty QmlAbstractAnimationPrivate::createProperty(QObject *obj, const QString &str)
+{
+ Q_Q(QmlAbstractAnimation);
+ QmlMetaProperty prop = QmlMetaProperty::createProperty(obj, str);
+ if (!prop.isValid()) {
+ qmlInfo(q) << "Cannot animate non-existant property" << str;
+ return QmlMetaProperty();
+ } else if (!prop.isWritable()) {
+ qmlInfo(q) << "Cannot animate read-only property" << str;
+ return QmlMetaProperty();
+ }
+ return prop;
+}
+
void QmlAbstractAnimation::setRunning(bool r)
{
Q_D(QmlAbstractAnimation);
@@ -434,7 +450,7 @@ void QmlAbstractAnimation::setTarget(QObject *o)
d->target = o;
if (d->target && !d->propertyName.isEmpty()) {
- d->userProperty = QmlMetaProperty(d->target, d->propertyName);
+ d->userProperty = d->createProperty(d->target, d->propertyName);
} else {
d->userProperty.invalidate();
}
@@ -463,7 +479,7 @@ void QmlAbstractAnimation::setProperty(const QString &n)
d->propertyName = n;
if (d->target && !d->propertyName.isEmpty()) {
- d->userProperty = QmlMetaProperty(d->target, d->propertyName);
+ d->userProperty = d->createProperty(d->target, d->propertyName);
} else {
d->userProperty.invalidate();
}
@@ -1031,10 +1047,14 @@ void QmlSetPropertyAction::transition(QmlStateActions &actions,
QObject *obj = action.property.object();
QString propertyName = action.property.name();
-
- if ((d->filter.isEmpty() || d->filter.contains(obj)) &&
- (!d->exclude.contains(obj)) && props.contains(propertyName) &&
- (!target() || target() == obj)) {
+ QObject *sObj = action.specifiedObject;
+ QString sPropertyName = action.specifiedProperty;
+ bool same = (obj == sObj);
+
+ if ((d->filter.isEmpty() || d->filter.contains(obj) || (!same && d->filter.contains(sObj))) &&
+ (!d->exclude.contains(obj)) && (same || (!d->exclude.contains(sObj))) &&
+ (props.contains(propertyName) || (!same && props.contains(sPropertyName))) &&
+ (!target() || target() == obj || (!same && target() == sObj))) {
objs.insert(obj);
Action myAction = action;
@@ -1051,7 +1071,7 @@ void QmlSetPropertyAction::transition(QmlStateActions &actions,
QObject *obj = target();
for (int jj = 0; jj < props.count(); ++jj) {
Action myAction;
- myAction.property = QmlMetaProperty(obj, props.at(jj));
+ myAction.property = d->createProperty(obj, props.at(jj));
myAction.toValue = d->value;
data->actions << myAction;
}
@@ -1841,10 +1861,14 @@ void QmlPropertyAnimation::transition(QmlStateActions &actions,
QObject *obj = action.property.object();
QString propertyName = action.property.name();
-
- if ((d->filter.isEmpty() || d->filter.contains(obj)) &&
- (!d->exclude.contains(obj)) && props.contains(propertyName) &&
- (!target() || target() == obj)) {
+ QObject *sObj = action.specifiedObject;
+ QString sPropertyName = action.specifiedProperty;
+ bool same = (obj == sObj);
+
+ if ((d->filter.isEmpty() || d->filter.contains(obj) || (!same && d->filter.contains(sObj))) &&
+ (!d->exclude.contains(obj)) && (same || (!d->exclude.contains(sObj))) &&
+ (props.contains(propertyName) || (!same && props.contains(sPropertyName))) &&
+ (!target() || target() == obj || (!same && target() == sObj))) {
objs.insert(obj);
Action myAction = action;
@@ -1870,7 +1894,7 @@ void QmlPropertyAnimation::transition(QmlStateActions &actions,
QObject *obj = target();
for (int jj = 0; jj < props.count(); ++jj) {
Action myAction;
- myAction.property = QmlMetaProperty(obj, props.at(jj));
+ myAction.property = d->createProperty(obj, props.at(jj));
if (d->fromIsDefined) {
d->convertVariant(d->from, (QVariant::Type)(d->interpolatorType ? d->interpolatorType : myAction.property.propertyType()));
diff --git a/src/declarative/util/qmlanimation_p.h b/src/declarative/util/qmlanimation_p.h
index da5ed97..051516d 100644
--- a/src/declarative/util/qmlanimation_p.h
+++ b/src/declarative/util/qmlanimation_p.h
@@ -42,6 +42,17 @@
#ifndef QMLANIMATION_P_H
#define QMLANIMATION_P_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <private/qobject_p.h>
#include <private/qmlnullablevalue_p.h>
#include <private/qvariantanimation_p.h>
@@ -193,6 +204,8 @@ public:
QmlMetaProperty property;
QmlAnimationGroup *group;
+
+ QmlMetaProperty createProperty(QObject *obj, const QString &str);
};
class QmlPauseAnimationPrivate : public QmlAbstractAnimationPrivate
@@ -334,6 +347,6 @@ public:
static void convertVariant(QVariant &variant, QVariant::Type type);
};
-#endif // QMLANIMATION_P_H
-
QT_END_NAMESPACE
+
+#endif // QMLANIMATION_P_H
diff --git a/src/declarative/util/qmlbind.cpp b/src/declarative/util/qmlbind.cpp
index b45d07d..bb342bc 100644
--- a/src/declarative/util/qmlbind.cpp
+++ b/src/declarative/util/qmlbind.cpp
@@ -52,6 +52,7 @@
#include "qmlbind.h"
QT_BEGIN_NAMESPACE
+
class QmlBindPrivate : public QObjectPrivate
{
public:
diff --git a/src/declarative/util/qmlconnection.cpp b/src/declarative/util/qmlconnection.cpp
index 6c7b158..95f4573 100644
--- a/src/declarative/util/qmlconnection.cpp
+++ b/src/declarative/util/qmlconnection.cpp
@@ -46,8 +46,8 @@
#include <QtDeclarative/qmlcontext.h>
#include <QtCore/qdebug.h>
-
QT_BEGIN_NAMESPACE
+
class QmlConnectionPrivate : public QObjectPrivate
{
public:
diff --git a/src/declarative/util/qmlfollow.cpp b/src/declarative/util/qmlfollow.cpp
index d3b3617..c6d806a 100644
--- a/src/declarative/util/qmlfollow.cpp
+++ b/src/declarative/util/qmlfollow.cpp
@@ -45,8 +45,8 @@
#include "qmlfollow.h"
#include "private/qmlanimation_p.h"
-
QT_BEGIN_NAMESPACE
+
QML_DEFINE_TYPE(QmlFollow,Follow)
class QmlFollowPrivate : public QObjectPrivate
diff --git a/src/declarative/util/qmlfont.cpp b/src/declarative/util/qmlfont.cpp
index c537a83..3075b82 100644
--- a/src/declarative/util/qmlfont.cpp
+++ b/src/declarative/util/qmlfont.cpp
@@ -43,8 +43,8 @@
#include "qfont.h"
#include "qmlfont.h"
-
QT_BEGIN_NAMESPACE
+
class QmlFontPrivate : public QObjectPrivate
{
public:
@@ -144,4 +144,5 @@ QFont QmlFont::font() const
Q_D(const QmlFont);
return d->font;
}
+
QT_END_NAMESPACE
diff --git a/src/declarative/util/qmllistmodel.cpp b/src/declarative/util/qmllistmodel.cpp
index cc85661..1884e8b 100644
--- a/src/declarative/util/qmllistmodel.cpp
+++ b/src/declarative/util/qmllistmodel.cpp
@@ -567,4 +567,5 @@ ModelNode::~ModelNode()
}
QT_END_NAMESPACE
+
#include "qmllistmodel.moc"
diff --git a/src/declarative/util/qmllistmodel.h b/src/declarative/util/qmllistmodel.h
index ddf1e13..56ed8fb 100644
--- a/src/declarative/util/qmllistmodel.h
+++ b/src/declarative/util/qmllistmodel.h
@@ -51,7 +51,6 @@
#include <QtDeclarative/qml.h>
#include <QtDeclarative/qlistmodelinterface.h>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlnullablevalue_p.h b/src/declarative/util/qmlnullablevalue_p.h
index f16ddd6..6455642 100644
--- a/src/declarative/util/qmlnullablevalue_p.h
+++ b/src/declarative/util/qmlnullablevalue_p.h
@@ -42,6 +42,19 @@
#ifndef QMLNULLABLEVALUE_P_H
#define QMLNULLABLEVALUE_P_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+QT_BEGIN_NAMESPACE
+
template<typename T>
struct QmlNullableValue
{
@@ -63,5 +76,6 @@ struct QmlNullableValue
T value;
};
-#endif // QMLNULLABLEVALUE_P_H
+QT_END_NAMESPACE
+#endif // QMLNULLABLEVALUE_P_H
diff --git a/src/declarative/util/qmlopenmetaobject.cpp b/src/declarative/util/qmlopenmetaobject.cpp
index d0dd817..7305362 100644
--- a/src/declarative/util/qmlopenmetaobject.cpp
+++ b/src/declarative/util/qmlopenmetaobject.cpp
@@ -43,7 +43,6 @@
#include "private/qmetaobjectbuilder_p.h"
#include <QDebug>
-
QT_BEGIN_NAMESPACE
class QmlOpenMetaObjectPrivate
diff --git a/src/declarative/util/qmlpackage.cpp b/src/declarative/util/qmlpackage.cpp
index e527c1f..eec769e 100644
--- a/src/declarative/util/qmlpackage.cpp
+++ b/src/declarative/util/qmlpackage.cpp
@@ -42,8 +42,8 @@
#include "private/qobject_p.h"
#include "qmlpackage.h"
-
QT_BEGIN_NAMESPACE
+
class QmlPackagePrivate : public QObjectPrivate
{
public:
@@ -150,4 +150,5 @@ QmlPackageAttached *QmlPackage::qmlAttachedProperties(QObject *o)
QML_DEFINE_TYPE(QmlPackage, Package)
QT_END_NAMESPACE
+
#include "qmlpackage.moc"
diff --git a/src/declarative/util/qmlscript.h b/src/declarative/util/qmlscript.h
index 09ebc2c..5b62da5 100644
--- a/src/declarative/util/qmlscript.h
+++ b/src/declarative/util/qmlscript.h
@@ -47,6 +47,7 @@
#include <QtDeclarative/qml.h>
QT_BEGIN_HEADER
+
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
@@ -76,5 +77,7 @@ private Q_SLOTS:
QML_DECLARE_TYPE(QmlScript)
QT_END_NAMESPACE
+
QT_END_HEADER
+
#endif
diff --git a/src/declarative/util/qmlsetproperties.cpp b/src/declarative/util/qmlsetproperties.cpp
index 240e37b..7a68ba2 100644
--- a/src/declarative/util/qmlsetproperties.cpp
+++ b/src/declarative/util/qmlsetproperties.cpp
@@ -49,8 +49,8 @@
#include <QtDeclarative/qmlexpression.h>
#include <QtDeclarative/qmlbindablevalue.h>
-
QT_BEGIN_NAMESPACE
+
/*!
\qmlclass SetProperties QmlSetProperties
\brief The SetProperties element describes new property values for a state.
@@ -282,39 +282,19 @@ void QmlSetProperties::setRestoreEntryValues(bool v)
d->restore = v;
}
-QmlMetaProperty
-QmlSetPropertiesPrivate::property(const QByteArray &property)
+QmlMetaProperty
+QmlSetPropertiesPrivate::property(const QByteArray &property)
{
Q_Q(QmlSetProperties);
- QList<QByteArray> path = property.split('.');
-
- QObject *obj = this->object;
-
- for (int jj = 0; jj < path.count() - 1; ++jj) {
- const QByteArray &pathName = path.at(jj);
- QmlMetaProperty prop(obj, QLatin1String(pathName));
- QObject *objVal = QmlMetaType::toQObject(prop.read());
- if (!objVal) {
- qmlInfo(q) << obj->metaObject()->className()
- << "has no object property named" << pathName;
- return QmlMetaProperty();
- }
- obj = objVal;
- }
-
- const QByteArray &name = path.last();
- QmlMetaProperty prop(obj, QLatin1String(name));
+ QmlMetaProperty prop = QmlMetaProperty::createProperty(object, QString::fromLatin1(property));
if (!prop.isValid()) {
- qmlInfo(q) << obj->metaObject()->className()
- << "has no property named" << name;
+ qmlInfo(q) << "Cannot assign to non-existant property" << property;
return QmlMetaProperty();
} else if (!prop.isWritable()) {
- qmlInfo(q) << obj->metaObject()->className()
- << name << "is not writable, and cannot be set.";
+ qmlInfo(q) << "Cannot assign to read-only property" << property;
return QmlMetaProperty();
- } else {
- return prop;
}
+ return prop;
}
QmlSetProperties::ActionList QmlSetProperties::actions()
@@ -336,6 +316,8 @@ QmlSetProperties::ActionList QmlSetProperties::actions()
a.property = prop;
a.fromValue = a.property.read();
a.toValue = d->properties.at(ii).second;
+ a.specifiedObject = d->object;
+ a.specifiedProperty = QString::fromLatin1(property);
list << a;
}
@@ -351,6 +333,8 @@ QmlSetProperties::ActionList QmlSetProperties::actions()
a.restore = restoreEntryValues();
a.property = prop;
a.fromValue = a.property.read();
+ a.specifiedObject = d->object;
+ a.specifiedProperty = QString::fromLatin1(property);
if (d->isExplicit) {
a.toValue = d->expressions.at(ii).second->value();
@@ -361,7 +345,6 @@ QmlSetProperties::ActionList QmlSetProperties::actions()
list << a;
}
-
}
return list;
diff --git a/src/declarative/util/qmlsetproperties.h b/src/declarative/util/qmlsetproperties.h
index fe98900..717d0ee 100644
--- a/src/declarative/util/qmlsetproperties.h
+++ b/src/declarative/util/qmlsetproperties.h
@@ -44,7 +44,6 @@
#include <QtDeclarative/qmlstateoperations.h>
-
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index fe215e7..8ac1b33 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(stateChangeDebug, STATECHANGE_DEBUG);
-Action::Action() : restore(true), actionDone(false), fromBinding(0), toBinding(0), event(0)
+Action::Action() : restore(true), actionDone(false), fromBinding(0), toBinding(0), event(0), specifiedObject(0)
{
}
@@ -403,6 +403,8 @@ void QmlState::apply(QmlStateGroup *group, QmlTransition *trans, QmlState *rever
a.fromValue = cur;
a.toValue = d->revertList.at(ii).value;
a.toBinding = d->revertList.at(ii).binding;
+ a.specifiedObject = d->revertList.at(ii).specifiedObject; //###
+ a.specifiedProperty = d->revertList.at(ii).specifiedProperty;
applyList << a;
// Store these special reverts in the reverting list
d->reverting << d->revertList.at(ii).property;
diff --git a/src/declarative/util/qmlstate.h b/src/declarative/util/qmlstate.h
index e9a173c..b219b99 100644
--- a/src/declarative/util/qmlstate.h
+++ b/src/declarative/util/qmlstate.h
@@ -71,6 +71,9 @@ public:
QmlBindableValue *toBinding;
ActionEvent *event;
+ QObject *specifiedObject;
+ QString specifiedProperty;
+
void deleteFromBinding();
};
diff --git a/src/declarative/util/qmlstate_p.h b/src/declarative/util/qmlstate_p.h
index b4ec476..1b784f3 100644
--- a/src/declarative/util/qmlstate_p.h
+++ b/src/declarative/util/qmlstate_p.h
@@ -42,6 +42,17 @@
#ifndef QMLSTATE_P_H
#define QMLSTATE_P_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <QtDeclarative/qmlstate.h>
#include <private/qobject_p.h>
#include <private/qmlanimation_p.h>
@@ -55,6 +66,8 @@ public:
SimpleAction(const Action &a, State state = StartState)
{
property = a.property;
+ specifiedObject = a.specifiedObject;
+ specifiedProperty = a.specifiedProperty;
if (state == StartState) {
value = a.fromValue;
binding = property.binding();
@@ -67,6 +80,8 @@ public:
QmlMetaProperty property;
QVariant value;
QmlBindableValue *binding;
+ QObject *specifiedObject;
+ QString specifiedProperty;
};
class QmlStatePrivate : public QObjectPrivate
diff --git a/src/declarative/util/qmlstategroup.cpp b/src/declarative/util/qmlstategroup.cpp
index 57ccd37..2b1cf7d 100644
--- a/src/declarative/util/qmlstategroup.cpp
+++ b/src/declarative/util/qmlstategroup.cpp
@@ -45,8 +45,8 @@
#include "qmltransition.h"
#include <QtCore/qdebug.h>
-
QT_BEGIN_NAMESPACE
+
DEFINE_BOOL_CONFIG_OPTION(stateChangeDebug, STATECHANGE_DEBUG);
QML_DEFINE_TYPE(QmlStateGroup,StateGroup)
diff --git a/src/declarative/util/qperformancelog.cpp b/src/declarative/util/qperformancelog.cpp
index 8065f9d..932e4b3 100644
--- a/src/declarative/util/qperformancelog.cpp
+++ b/src/declarative/util/qperformancelog.cpp
@@ -43,6 +43,7 @@
#include <QHash>
#include <QDebug>
+QT_BEGIN_NAMESPACE
#ifdef Q_ENABLE_PERFORMANCE_LOG
@@ -175,3 +176,5 @@ void QPerformanceLog::clear()
}
#endif // Q_ENABLE_PERFORMANCE_LOG
+
+QT_END_NAMESPACE
diff --git a/src/declarative/util/qperformancelog.h b/src/declarative/util/qperformancelog.h
index 3203685..6655a8d 100644
--- a/src/declarative/util/qperformancelog.h
+++ b/src/declarative/util/qperformancelog.h
@@ -43,6 +43,9 @@
#define QPERFORMANCELOG_H
#include <QtCore/qdatetime.h>
+
+QT_BEGIN_NAMESPACE
+
namespace QPerformanceLog
{
Q_DECLARATIVE_EXPORT void displayData();
@@ -133,4 +136,6 @@ namespace QPerformanceLog
#endif // Q_ENABLE_PERFORMANCE_LOG
+QT_END_NAMESPACE
+
#endif // QPERFORMANCELOG_H