diff options
author | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-03-05 12:19:19 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@digia.com> | 2013-03-05 12:34:39 +0100 |
commit | ee4bf638cad9bcf303c8c6ad1f922c33dc021964 (patch) | |
tree | abd2c363cc13cc6d805cf68e82cdf3c34836c87b | |
parent | e74d4c4870fe48a2989d1b49404b9f00da3902a4 (diff) |
QmlDesigner: Type of the propertyname is now PropertyName
And PropertyName is a typedef for QByteArray. Because we don't use the
features of QString and the source would be cluttered with QLatin1Strings
we changed the property name to QByteArray.
Change-Id: Ib70ef136bbc411504b450456bd9bb705ae93dd25
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
177 files changed, 1504 insertions, 1536 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/container/instancecontainer.cpp b/share/qtcreator/qml/qmlpuppet/container/instancecontainer.cpp index b885c7d993..efb173e817 100644 --- a/share/qtcreator/qml/qmlpuppet/container/instancecontainer.cpp +++ b/share/qtcreator/qml/qmlpuppet/container/instancecontainer.cpp @@ -38,11 +38,11 @@ InstanceContainer::InstanceContainer() { } -InstanceContainer::InstanceContainer(qint32 instanceId, const QString &type, int majorNumber, int minorNumber, const QString &componentPath, const QString &nodeSource, NodeSourceType nodeSourceType,NodeMetaType metaType) +InstanceContainer::InstanceContainer(qint32 instanceId, const TypeName &type, int majorNumber, int minorNumber, const QString &componentPath, const QString &nodeSource, NodeSourceType nodeSourceType, NodeMetaType metaType) : m_instanceId(instanceId), m_type(type), m_majorNumber(majorNumber), m_minorNumber(minorNumber), m_componentPath(componentPath), m_nodeSource(nodeSource), m_nodeSourceType(nodeSourceType), m_metaType(metaType) { - m_type.replace(QLatin1Char('.'), QLatin1Char('/')); + m_type.replace('.', '/'); } qint32 InstanceContainer::instanceId() const @@ -50,7 +50,7 @@ qint32 InstanceContainer::instanceId() const return m_instanceId; } -QString InstanceContainer::type() const +TypeName InstanceContainer::type() const { return m_type; } diff --git a/share/qtcreator/qml/qmlpuppet/container/instancecontainer.h b/share/qtcreator/qml/qmlpuppet/container/instancecontainer.h index 6c32cb243e..7be7d0983e 100644 --- a/share/qtcreator/qml/qmlpuppet/container/instancecontainer.h +++ b/share/qtcreator/qml/qmlpuppet/container/instancecontainer.h @@ -34,6 +34,8 @@ #include <QString> #include <QDataStream> +#include "nodeinstanceglobal.h" + namespace QmlDesigner { class InstanceContainer; @@ -58,10 +60,10 @@ public: }; InstanceContainer(); - InstanceContainer(qint32 instanceId, const QString &type, int majorNumber, int minorNumber, const QString &componentPath, const QString &nodeSource, NodeSourceType nodeSourceType, NodeMetaType metaType); + InstanceContainer(qint32 instanceId, const TypeName &type, int majorNumber, int minorNumber, const QString &componentPath, const QString &nodeSource, NodeSourceType nodeSourceType, NodeMetaType metaType); qint32 instanceId() const; - QString type() const; + TypeName type() const; int majorNumber() const; int minorNumber() const; QString componentPath() const; @@ -71,7 +73,7 @@ public: private: qint32 m_instanceId; - QString m_type; + TypeName m_type; qint32 m_majorNumber; qint32 m_minorNumber; QString m_componentPath; diff --git a/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.cpp b/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.cpp index 28066ade09..2ba89213eb 100644 --- a/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.cpp +++ b/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.cpp @@ -36,7 +36,7 @@ PropertyAbstractContainer::PropertyAbstractContainer() { } -PropertyAbstractContainer::PropertyAbstractContainer(qint32 instanceId, const QString &name, const QString &dynamicTypeName) +PropertyAbstractContainer::PropertyAbstractContainer(qint32 instanceId, const PropertyName &name, const QString &dynamicTypeName) : m_instanceId(instanceId), m_name(name), m_dynamicTypeName(dynamicTypeName) @@ -48,7 +48,7 @@ qint32 PropertyAbstractContainer::instanceId() const return m_instanceId; } -QString PropertyAbstractContainer::name() const +PropertyName PropertyAbstractContainer::name() const { return m_name; } diff --git a/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.h b/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.h index 242ef66e6d..ba468b4b53 100644 --- a/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.h +++ b/share/qtcreator/qml/qmlpuppet/container/propertyabstractcontainer.h @@ -34,6 +34,7 @@ #include <qmetatype.h> #include <QString> +#include "nodeinstanceglobal.h" namespace QmlDesigner { @@ -49,16 +50,16 @@ class PropertyAbstractContainer friend QDataStream &operator>>(QDataStream &in, PropertyAbstractContainer &container); public: PropertyAbstractContainer(); - PropertyAbstractContainer(qint32 instanceId, const QString &name, const QString &dynamicTypeName); + PropertyAbstractContainer(qint32 instanceId, const PropertyName &name, const QString &dynamicTypeName); qint32 instanceId() const; - QString name() const; + PropertyName name() const; bool isDynamic() const; QString dynamicTypeName() const; private: qint32 m_instanceId; - QString m_name; + PropertyName m_name; QString m_dynamicTypeName; }; diff --git a/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.cpp b/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.cpp index b0f5dd1aa9..f9602a7eb4 100644 --- a/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.cpp +++ b/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.cpp @@ -37,7 +37,7 @@ PropertyBindingContainer::PropertyBindingContainer() { } -PropertyBindingContainer::PropertyBindingContainer(qint32 instanceId, const QString &name, const QString &expression, const QString &dynamicTypeName) +PropertyBindingContainer::PropertyBindingContainer(qint32 instanceId, const PropertyName &name, const QString &expression, const TypeName &dynamicTypeName) : m_instanceId(instanceId), m_name(name), m_expression(expression), @@ -50,7 +50,7 @@ qint32 PropertyBindingContainer::instanceId() const return m_instanceId; } -QString PropertyBindingContainer::name() const +PropertyName PropertyBindingContainer::name() const { return m_name; } @@ -65,7 +65,7 @@ bool PropertyBindingContainer::isDynamic() const return !m_dynamicTypeName.isEmpty(); } -QString PropertyBindingContainer::dynamicTypeName() const +TypeName PropertyBindingContainer::dynamicTypeName() const { return m_dynamicTypeName; } diff --git a/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.h b/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.h index 439f16b2c9..f285320cab 100644 --- a/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.h +++ b/share/qtcreator/qml/qmlpuppet/container/propertybindingcontainer.h @@ -34,6 +34,7 @@ #include <qmetatype.h> #include <QString> +#include "nodeinstanceglobal.h" namespace QmlDesigner { @@ -43,19 +44,19 @@ class PropertyBindingContainer public: PropertyBindingContainer(); - PropertyBindingContainer(qint32 instanceId, const QString &name, const QString &expression, const QString &dynamicTypeName); + PropertyBindingContainer(qint32 instanceId, const PropertyName &name, const QString &expression, const TypeName &dynamicTypeName); qint32 instanceId() const; - QString name() const; + PropertyName name() const; QString expression() const; bool isDynamic() const; - QString dynamicTypeName() const; + TypeName dynamicTypeName() const; private: qint32 m_instanceId; - QString m_name; + PropertyName m_name; QString m_expression; - QString m_dynamicTypeName; + TypeName m_dynamicTypeName; }; QDataStream &operator<<(QDataStream &out, const PropertyBindingContainer &container); diff --git a/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.cpp b/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.cpp index 66974c8888..894b90e47d 100644 --- a/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.cpp +++ b/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.cpp @@ -36,7 +36,7 @@ PropertyValueContainer::PropertyValueContainer() { } -PropertyValueContainer::PropertyValueContainer(qint32 instanceId, const QString &name, const QVariant &value, const QString &dynamicTypeName) +PropertyValueContainer::PropertyValueContainer(qint32 instanceId, const PropertyName &name, const QVariant &value, const TypeName &dynamicTypeName) : m_instanceId(instanceId), m_name(name), m_value(value), @@ -49,7 +49,7 @@ qint32 PropertyValueContainer::instanceId() const return m_instanceId; } -QString PropertyValueContainer::name() const +PropertyName PropertyValueContainer::name() const { return m_name; } @@ -64,7 +64,7 @@ bool PropertyValueContainer::isDynamic() const return !m_dynamicTypeName.isEmpty(); } -QString PropertyValueContainer::dynamicTypeName() const +TypeName PropertyValueContainer::dynamicTypeName() const { return m_dynamicTypeName; } diff --git a/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.h b/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.h index c967a69834..a13e7cb9ea 100644 --- a/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.h +++ b/share/qtcreator/qml/qmlpuppet/container/propertyvaluecontainer.h @@ -35,8 +35,9 @@ #include <QVariant> #include <QString> -namespace QmlDesigner { +#include "nodeinstanceglobal.h" +namespace QmlDesigner { class PropertyValueContainer { @@ -44,19 +45,19 @@ class PropertyValueContainer public: PropertyValueContainer(); - PropertyValueContainer(qint32 instanceId, const QString &name, const QVariant &value, const QString &dynamicTypeName); + PropertyValueContainer(qint32 instanceId, const PropertyName &name, const QVariant &value, const TypeName &dynamicTypeName); qint32 instanceId() const; - QString name() const; + PropertyName name() const; QVariant value() const; bool isDynamic() const; - QString dynamicTypeName() const; + TypeName dynamicTypeName() const; private: qint32 m_instanceId; - QString m_name; + PropertyName m_name; QVariant m_value; - QString m_dynamicTypeName; + TypeName m_dynamicTypeName; }; QDataStream &operator<<(QDataStream &out, const PropertyValueContainer &container); diff --git a/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.cpp b/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.cpp index 711b0dc793..a313a411b8 100644 --- a/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.cpp +++ b/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.cpp @@ -42,9 +42,9 @@ ReparentContainer::ReparentContainer() ReparentContainer::ReparentContainer(qint32 instanceId, qint32 oldParentInstanceId, - const QString &oldParentProperty, + const PropertyName &oldParentProperty, qint32 newParentInstanceId, - const QString &newParentProperty) + const PropertyName &newParentProperty) : m_instanceId(instanceId), m_oldParentInstanceId(oldParentInstanceId), m_oldParentProperty(oldParentProperty), @@ -63,7 +63,7 @@ qint32 ReparentContainer::oldParentInstanceId() const return m_oldParentInstanceId; } -QString ReparentContainer::oldParentProperty() const +PropertyName ReparentContainer::oldParentProperty() const { return m_oldParentProperty; } @@ -73,7 +73,7 @@ qint32 ReparentContainer::newParentInstanceId() const return m_newParentInstanceId; } -QString ReparentContainer::newParentProperty() const +PropertyName ReparentContainer::newParentProperty() const { return m_newParentProperty; } diff --git a/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.h b/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.h index db2e1872cd..94c3b56a22 100644 --- a/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.h +++ b/share/qtcreator/qml/qmlpuppet/container/reparentcontainer.h @@ -34,6 +34,8 @@ #include <QString> #include <QDataStream> +#include "nodeinstanceglobal.h" + namespace QmlDesigner { class ReparentContainer @@ -43,22 +45,22 @@ public: ReparentContainer(); ReparentContainer(qint32 instanceId, qint32 oldParentInstanceId, - const QString &oldParentProperty, + const PropertyName &oldParentProperty, qint32 newParentInstanceId, - const QString &newParentProperty); + const PropertyName &newParentProperty); qint32 instanceId() const; qint32 oldParentInstanceId() const; - QString oldParentProperty() const; + PropertyName oldParentProperty() const; qint32 newParentInstanceId() const; - QString newParentProperty() const; + PropertyName newParentProperty() const; private: qint32 m_instanceId; qint32 m_oldParentInstanceId; - QString m_oldParentProperty; + PropertyName m_oldParentProperty; qint32 m_newParentInstanceId; - QString m_newParentProperty; + PropertyName m_newParentProperty; }; QDataStream &operator<<(QDataStream &out, const ReparentContainer &container); diff --git a/share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri b/share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri index 4e64200029..76a778cc51 100644 --- a/share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri +++ b/share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri @@ -1,6 +1,7 @@ INCLUDEPATH += $$PWD/ HEADERS += $$PWD/nodeinstanceclientinterface.h +HEADERS += $$PWD/interfaces/nodeinstanceglobal.h HEADERS += $$PWD/nodeinstanceserverinterface.h HEADERS += $$PWD/commondefines.h diff --git a/share/qtcreator/qml/qmlpuppet/interfaces/nodeinstanceglobal.h b/share/qtcreator/qml/qmlpuppet/interfaces/nodeinstanceglobal.h new file mode 100644 index 0000000000..02c45362ba --- /dev/null +++ b/share/qtcreator/qml/qmlpuppet/interfaces/nodeinstanceglobal.h @@ -0,0 +1,11 @@ +#ifndef NODEINSTANCEGLOBAL_H +#define NODEINSTANCEGLOBAL_H + +namespace QmlDesigner { + +typedef QByteArray PropertyName; +typedef QList<PropertyName> PropertyNameList; +typedef QByteArray TypeName; +} + +#endif // NODEINSTANCEGLOBAL_H diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.cpp index 63b148cff4..e973fa9513 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.cpp @@ -55,7 +55,7 @@ BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(QObject *object) return instance; } -void BehaviorNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void BehaviorNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "enabled") return; @@ -63,7 +63,7 @@ void BehaviorNodeInstance::setPropertyVariant(const QString &name, const QVarian ObjectNodeInstance::setPropertyVariant(name, value); } -void BehaviorNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void BehaviorNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { if (name == "enabled") return; @@ -71,7 +71,7 @@ void BehaviorNodeInstance::setPropertyBinding(const QString &name, const QString ObjectNodeInstance::setPropertyBinding(name, expression); } -QVariant BehaviorNodeInstance::property(const QString &name) const +QVariant BehaviorNodeInstance::property(const PropertyName &name) const { if (name == "enabled") return QVariant::fromValue(m_isEnabled); @@ -79,7 +79,7 @@ QVariant BehaviorNodeInstance::property(const QString &name) const return ObjectNodeInstance::property(name); } -void BehaviorNodeInstance::resetProperty(const QString &name) +void BehaviorNodeInstance::resetProperty(const PropertyName &name) { if (name == "enabled") m_isEnabled = true; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h index 91dc0cef70..0cc6d68891 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/behaviornodeinstance.h @@ -45,12 +45,12 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); - QVariant property(const QString &name) const; - void resetProperty(const QString &name); + QVariant property(const PropertyName &name) const; + void resetProperty(const PropertyName &name); private: bool m_isEnabled; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp index 4c6fd52588..f4697830e1 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.cpp @@ -120,7 +120,7 @@ NodeInstanceMetaObject *NodeInstanceMetaObject::createNodeInstanceMetaObject(con return new NodeInstanceMetaObject(nodeInstance, engine); } -NodeInstanceMetaObject *NodeInstanceMetaObject::createNodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QQmlEngine *engine) +NodeInstanceMetaObject *NodeInstanceMetaObject::createNodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const PropertyName &prefix, QQmlEngine *engine) { //Avoid setting up multiple NodeInstanceMetaObjects on the same QObject QObjectPrivate *op = QObjectPrivate::get(nodeInstance->object()); @@ -175,7 +175,7 @@ NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer } -NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QQmlEngine *engine) +NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const PropertyName &prefix, QQmlEngine *engine) : QQmlVMEMetaObject(object, cacheForObject(object, engine), vMEMetaDataForObject(object)), m_nodeInstance(nodeInstance), m_prefix(prefix), @@ -199,7 +199,7 @@ NodeInstanceMetaObject::~NodeInstanceMetaObject() void NodeInstanceMetaObject::createNewProperty(const QString &name) { - int id = createProperty(name.toLatin1(), 0); + int id = createProperty(name.toUtf8(), 0); setValue(id, QVariant()); Q_ASSERT(id >= 0); Q_UNUSED(id); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.h index 4c55688365..7be3f6b39d 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancemetaobject.h @@ -35,7 +35,10 @@ #include <private/qqmlopenmetaobject_p.h> #include <private/qqmlvmemetaobject_p.h> +#include "nodeinstanceglobal.h" + namespace QmlDesigner { + namespace Internal { class ObjectNodeInstance; @@ -48,13 +51,13 @@ class NodeInstanceMetaObject : public QQmlVMEMetaObject { public: static NodeInstanceMetaObject *createNodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QQmlEngine *engine); - static NodeInstanceMetaObject *createNodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QQmlEngine *engine); + static NodeInstanceMetaObject *createNodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const PropertyName &prefix, QQmlEngine *engine); ~NodeInstanceMetaObject(); void createNewProperty(const QString &name); protected: NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QQmlEngine *engine); - NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QQmlEngine *engine); + NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const PropertyName &prefix, QQmlEngine *engine); int openMetaCall(QMetaObject::Call _c, int _id, void **_a); int metaCall(QMetaObject::Call _c, int _id, void **_a); @@ -93,7 +96,7 @@ private: void init(QObject *, QQmlEngine *engine); ObjectNodeInstanceWeakPointer m_nodeInstance; - QString m_prefix; + PropertyName m_prefix; QPointer<QQmlContext> m_context; QQmlOpenMetaObjectType *m_type; QScopedPointer<MetaPropertyData> m_data; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp index 794f46a495..fe4ba68487 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp @@ -661,7 +661,7 @@ Internal::ChildrenChangeEventFilter *NodeInstanceServer::childrenChangeEventFilt return m_childrenChangeEventFilter.data(); } -void NodeInstanceServer::addFilePropertyToFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path) +void NodeInstanceServer::addFilePropertyToFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path) { if (!m_fileSystemWatcherHash.contains(path)) { m_fileSystemWatcherHash.insert(path, ObjectPropertyPair(object, propertyName)); @@ -669,7 +669,7 @@ void NodeInstanceServer::addFilePropertyToFileSystemWatcher(QObject *object, con } } -void NodeInstanceServer::removeFilePropertyFromFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path) +void NodeInstanceServer::removeFilePropertyFromFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path) { if (m_fileSystemWatcherHash.contains(path)) { fileSystemWatcher()->removePath(path); @@ -682,7 +682,7 @@ void NodeInstanceServer::refreshLocalFileProperty(const QString &path) if (m_fileSystemWatcherHash.contains(path)) { foreach (const ObjectPropertyPair &objectPropertyPair, m_fileSystemWatcherHash) { QObject *object = objectPropertyPair.first.data(); - QString propertyName = objectPropertyPair.second; + PropertyName propertyName = objectPropertyPair.second; if (hasInstanceForObject(object)) { instanceForObject(object).refreshProperty(propertyName); @@ -734,7 +734,7 @@ void NodeInstanceServer::resetInstanceProperty(const PropertyAbstractContainer & ServerNodeInstance instance = instanceForId(propertyContainer.instanceId()); Q_ASSERT(instance.isValid()); - const QString name = propertyContainer.name(); + const PropertyName name = propertyContainer.name(); if (activeStateInstance().isValid() && !instance.isSubclassOf("QtQuick/PropertyChanges")) { bool statePropertyWasReseted = activeStateInstance().resetStateProperty(instance, name, instance.resetVariant(name)); @@ -755,7 +755,7 @@ void NodeInstanceServer::setInstancePropertyBinding(const PropertyBindingContain if (hasInstanceForId(bindingContainer.instanceId())) { ServerNodeInstance instance = instanceForId(bindingContainer.instanceId()); - const QString name = bindingContainer.name(); + const PropertyName name = bindingContainer.name(); const QString expression = bindingContainer.expression(); @@ -789,7 +789,7 @@ void NodeInstanceServer::setInstancePropertyVariant(const PropertyValueContainer ServerNodeInstance instance = instanceForId(valueContainer.instanceId()); - const QString name = valueContainer.name(); + const PropertyName name = valueContainer.name(); const QVariant value = valueContainer.value(); @@ -816,8 +816,8 @@ void NodeInstanceServer::setInstancePropertyVariant(const PropertyValueContainer void NodeInstanceServer::setInstanceAuxiliaryData(const PropertyValueContainer &auxiliaryContainer) { //instanceId() == 0: the item is root - if (auxiliaryContainer.instanceId() == 0 && (auxiliaryContainer.name() == QLatin1String("width") || - auxiliaryContainer.name() == QLatin1String("height"))) { + if (auxiliaryContainer.instanceId() == 0 && (auxiliaryContainer.name() == "width" || + auxiliaryContainer.name() == "height")) { if (!auxiliaryContainer.value().isNull()) { setInstancePropertyVariant(auxiliaryContainer); @@ -825,8 +825,8 @@ void NodeInstanceServer::setInstanceAuxiliaryData(const PropertyValueContainer & rootNodeInstance().resetProperty(auxiliaryContainer.name()); } } - if (auxiliaryContainer.name().endsWith(QLatin1String("@NodeInstance"))) { - QString propertyName = auxiliaryContainer.name().leftRef(auxiliaryContainer.name().count() - 12).toString(); + if (auxiliaryContainer.name().endsWith("@NodeInstance")) { + PropertyName propertyName = auxiliaryContainer.name().left(auxiliaryContainer.name().count() - 12); if (!auxiliaryContainer.value().isNull()) { setInstancePropertyVariant(PropertyValueContainer(auxiliaryContainer.instanceId(), propertyName, @@ -897,51 +897,51 @@ static QVector<InformationContainer> createInformationVector(const QList<ServerN informationVector.append(InformationContainer(instance.instanceId(), IsAnchoredByChildren, instance.isAnchoredByChildren())); informationVector.append(InformationContainer(instance.instanceId(), IsAnchoredBySibling, instance.isAnchoredBySibling())); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.fill"), instance.hasAnchor("anchors.fill"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.centerIn"), instance.hasAnchor("anchors.centerIn"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.right"), instance.hasAnchor("anchors.right"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.top"), instance.hasAnchor("anchors.top"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.left"), instance.hasAnchor("anchors.left"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.bottom"), instance.hasAnchor("anchors.bottom"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.horizontalCenter"), instance.hasAnchor("anchors.horizontalCenter"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.verticalCenter"), instance.hasAnchor("anchors.verticalCenter"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.baseline"), instance.hasAnchor("anchors.baseline"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.fill"), instance.hasAnchor("anchors.fill"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.centerIn"), instance.hasAnchor("anchors.centerIn"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.right"), instance.hasAnchor("anchors.right"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.top"), instance.hasAnchor("anchors.top"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.left"), instance.hasAnchor("anchors.left"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.bottom"), instance.hasAnchor("anchors.bottom"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.horizontalCenter"), instance.hasAnchor("anchors.horizontalCenter"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.verticalCenter"), instance.hasAnchor("anchors.verticalCenter"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.baseline"), instance.hasAnchor("anchors.baseline"))); - QPair<QString, ServerNodeInstance> anchorPair = instance.anchor("anchors.fill"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.fill"), anchorPair.first, anchorPair.second.instanceId())); + QPair<PropertyName, ServerNodeInstance> anchorPair = instance.anchor("anchors.fill"); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.fill"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.centerIn"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.centerIn"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.centerIn"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.right"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.right"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.right"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.top"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.top"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.top"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.left"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.left"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.left"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.bottom"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.bottom"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.bottom"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.horizontalCenter"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.horizontalCenter"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.horizontalCenter"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.verticalCenter"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.verticalCenter"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.verticalCenter"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.baseline"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.baseline"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.baseline"), anchorPair.first, anchorPair.second.instanceId())); - QStringList propertyNames = instance.propertyNames(); + PropertyNameList propertyNames = instance.propertyNames(); if (initial) { - foreach (const QString &propertyName,propertyNames) + foreach (const PropertyName &propertyName,propertyNames) informationVector.append(InformationContainer(instance.instanceId(), InstanceTypeForProperty, propertyName, instance.instanceType(propertyName))); } - foreach (const QString &propertyName,instance.propertyNames()) { + foreach (const PropertyName &propertyName,instance.propertyNames()) { bool hasChanged = false; bool hasBinding = instance.hasBindingForProperty(propertyName, &hasChanged); if (hasChanged) @@ -979,10 +979,10 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList< QVector<PropertyValueContainer> valueVector; foreach (const ServerNodeInstance &instance, instanceList) { - foreach (const QString &propertyName, instance.propertyNames()) { + foreach (const PropertyName &propertyName, instance.propertyNames()) { QVariant propertyValue = instance.property(propertyName); if (supportedVariantType(propertyValue.userType())) - valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString())); + valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, PropertyName())); } } @@ -1005,13 +1005,13 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QVecto QVector<PropertyValueContainer> valueVector; foreach (const InstancePropertyPair &property, propertyList) { - const QString propertyName = property.second; + const PropertyName propertyName = property.second; const ServerNodeInstance instance = property.first; if (instance.isValid()) { QVariant propertyValue = instance.property(propertyName); if (QMetaType::isRegistered(propertyValue.userType()) && supportedVariantType(propertyValue.type())) { - valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString())); + valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, PropertyName())); } } } @@ -1034,7 +1034,7 @@ QObject *NodeInstanceServer::dummyContextObject() const return m_dummyContextObject.data(); } -void NodeInstanceServer::notifyPropertyChange(qint32 instanceid, const QString &propertyName) +void NodeInstanceServer::notifyPropertyChange(qint32 instanceid, const PropertyName &propertyName) { if (hasInstanceForId(instanceid)) addChangedProperty(InstancePropertyPair(instanceForId(instanceid), propertyName)); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h index b56da8dfa5..82b1670e50 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.h @@ -68,9 +68,9 @@ class NodeInstanceServer : public NodeInstanceServerInterface { Q_OBJECT public: - typedef QPair<QPointer<QObject>, QString> ObjectPropertyPair; + typedef QPair<QPointer<QObject>, PropertyName> ObjectPropertyPair; typedef QPair<qint32, QString> IdPropertyPair; - typedef QPair<ServerNodeInstance, QString> InstancePropertyPair; + typedef QPair<ServerNodeInstance, PropertyName> InstancePropertyPair; typedef QPair<QString, QPointer<QObject> > DummyPair; explicit NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient); @@ -107,8 +107,8 @@ public: QFileSystemWatcher *fileSystemWatcher(); QFileSystemWatcher *dummydataFileSystemWatcher(); Internal::ChildrenChangeEventFilter *childrenChangeEventFilter() const; - void addFilePropertyToFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path); - void removeFilePropertyFromFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path); + void addFilePropertyToFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path); + void removeFilePropertyFromFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path); QUrl fileUrl() const; @@ -118,7 +118,7 @@ public: ServerNodeInstance rootNodeInstance() const; - void notifyPropertyChange(qint32 instanceid, const QString &propertyName); + void notifyPropertyChange(qint32 instanceid, const PropertyName &propertyName); QStringList imports() const; QObject *dummyContextObject() const; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp index 35c5c044d7..2dc2367cf0 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp @@ -53,7 +53,7 @@ void NodeInstanceSignalSpy::setObjectNodeInstance(const ObjectNodeInstance::Poin } -void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString &prefix) +void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const PropertyName &prefix) { if (m_registeredObjectList.contains(spiedObject)) // prevent cycles return; @@ -70,7 +70,7 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & && QQmlMetaType::isQObject(metaProperty.userType())) { QObject *propertyObject = QQmlMetaType::toQObject(metaProperty.read(spiedObject)); if (propertyObject) - registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('.')); + registerObject(propertyObject, prefix + metaProperty.name() + '.'); } else if (metaProperty.hasNotifySignal()) { QMetaMethod metaMethod = metaProperty.notifySignal(); bool isConnecting = QMetaObject::connect(spiedObject, metaMethod.methodIndex(), this, methodeOffset, Qt::DirectConnection); @@ -86,7 +86,7 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & && QQmlMetaType::isQObject(metaProperty.userType())) { QObject *propertyObject = QQmlMetaType::toQObject(metaProperty.read(spiedObject)); if (propertyObject) - registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('/')); + registerObject(propertyObject, prefix + metaProperty.name() + '/'); } // search recursive in objects list @@ -99,7 +99,7 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & for (int i = 0; i < list.count(); i++) { QObject *propertyObject = list.at(i); if (propertyObject) - registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('/')); + registerObject(propertyObject, prefix + metaProperty.name() + '/'); } } } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.h index 6f8bdacdf8..8c1bb7c059 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.h @@ -34,7 +34,10 @@ #include <QHash> #include <QSharedPointer> +#include "nodeinstanceglobal.h" + namespace QmlDesigner { + namespace Internal { class ObjectNodeInstance; @@ -51,11 +54,11 @@ public: virtual int qt_metacall(QMetaObject::Call, int, void **); protected: - void registerObject(QObject *spiedObject, const QString &prefix = QString()); + void registerObject(QObject *spiedObject, const PropertyName &prefix = PropertyName()); private: int methodeOffset; - QHash<int, QString> m_indexPropertyHash; + QHash<int, PropertyName> m_indexPropertyHash; QObjectList m_registeredObjectList; ObjectNodeInstanceWeakPointer m_objectNodeInstance; }; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index fea1a5199c..b4c54a7e79 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -79,7 +79,7 @@ void ObjectNodeInstance::destroy() if (object()) { setId(QString()); if (m_instanceId >= 0) { - reparent(parentInstance(), m_parentProperty, ObjectNodeInstance::Pointer(), QString()); + reparent(parentInstance(), m_parentProperty, ObjectNodeInstance::Pointer(), PropertyName()); } } @@ -235,7 +235,7 @@ double ObjectNodeInstance::opacity() const return 1.0; } -bool ObjectNodeInstance::hasAnchor(const QString &/*name*/) const +bool ObjectNodeInstance::hasAnchor(const PropertyName &/*name*/) const { return false; } @@ -250,9 +250,9 @@ bool ObjectNodeInstance::isAnchoredByChildren() const return false; } -QPair<QString, ServerNodeInstance> ObjectNodeInstance::anchor(const QString &/*name*/) const +QPair<PropertyName, ServerNodeInstance> ObjectNodeInstance::anchor(const PropertyName &/*name*/) const { - return qMakePair(QString(), ServerNodeInstance()); + return qMakePair(PropertyName(), ServerNodeInstance()); } @@ -280,7 +280,7 @@ static bool hasFullImplementedListInterface(const QQmlListReference &list) static void removeObjectFromList(const QQmlProperty &property, QObject *objectToBeRemoved, QQmlEngine * engine) { - QQmlListReference listReference(property.object(), property.name().toLatin1(), engine); + QQmlListReference listReference(property.object(), property.name().toUtf8(), engine); if (!hasFullImplementedListInterface(listReference)) { qWarning() << "Property list interface not fully implemented for Class " << property.property().typeName() << " in property " << property.name() << "!"; @@ -303,7 +303,7 @@ static void removeObjectFromList(const QQmlProperty &property, QObject *objectTo listReference.append(object); } -void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty) +void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldParent, const PropertyName &oldParentProperty) { QQmlProperty property(oldParent, oldParentProperty, context()); @@ -322,7 +322,7 @@ void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldPare object->setParent(0); } -void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty) +void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, const PropertyName &newParentProperty) { QQmlProperty property(newParent, newParentProperty, context()); @@ -347,7 +347,7 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c Q_ASSERT(objectToVariant(object).isValid()); } -void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty) +void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { if (oldParentInstance) { removeFromOldProperty(object(), oldParentInstance->object(), oldParentProperty); @@ -422,7 +422,7 @@ QVariant ObjectNodeInstance::fixResourcePaths(const QVariant &value) return value; } -void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void ObjectNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { QQmlProperty property(object(), name, context()); @@ -457,7 +457,7 @@ void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant } } -void ObjectNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void ObjectNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { QQmlProperty property(object(), name, context()); @@ -500,7 +500,7 @@ void ObjectNodeInstance::deleteObjectsInList(const QQmlProperty &property) list.clear(); } -void ObjectNodeInstance::resetProperty(const QString &name) +void ObjectNodeInstance::resetProperty(const PropertyName &name) { doResetProperty(name); @@ -511,7 +511,7 @@ void ObjectNodeInstance::resetProperty(const QString &name) doResetProperty("font.pixelSize"); } -void ObjectNodeInstance::refreshProperty(const QString &name) +void ObjectNodeInstance::refreshProperty(const PropertyName &name) { QQmlProperty property(object(), name, context()); @@ -527,14 +527,14 @@ void ObjectNodeInstance::refreshProperty(const QString &name) if (oldValue.type() == QVariant::Url) { QByteArray key = oldValue.toUrl().toEncoded(QUrl::UrlFormattingOption(0x100)); - QString pixmapKey = QString::fromLatin1(key.constData(), key.count()); + QString pixmapKey = QString::fromUtf8(key.constData(), key.count()); QPixmapCache::remove(pixmapKey); } property.write(oldValue); } -bool ObjectNodeInstance::hasBindingForProperty(const QString &name, bool *hasChanged) const +bool ObjectNodeInstance::hasBindingForProperty(const PropertyName &name, bool *hasChanged) const { QQmlProperty property(object(), name, context()); @@ -549,7 +549,7 @@ bool ObjectNodeInstance::hasBindingForProperty(const QString &name, bool *hasCha return QQmlPropertyPrivate::binding(property); } -void ObjectNodeInstance::doResetProperty(const QString &propertyName) +void ObjectNodeInstance::doResetProperty(const PropertyName &propertyName) { m_modelAbstractPropertyHash.remove(propertyName); @@ -597,7 +597,7 @@ void ObjectNodeInstance::doResetProperty(const QString &propertyName) } } -QVariant ObjectNodeInstance::property(const QString &name) const +QVariant ObjectNodeInstance::property(const PropertyName &name) const { if (m_modelAbstractPropertyHash.contains(name)) return QVariant::fromValue(m_modelAbstractPropertyHash.value(name)); @@ -624,9 +624,9 @@ QVariant ObjectNodeInstance::property(const QString &name) const return property.read(); } -QStringList allPropertyNames(QObject *object, const QString &baseName = QString(), QObjectList *inspectedObjects = new QObjectList) +PropertyNameList allPropertyNames(QObject *object, const PropertyName &baseName = PropertyName(), QObjectList *inspectedObjects = new QObjectList) { - QStringList propertyNameList; + PropertyNameList propertyNameList; if (inspectedObjects== 0 || inspectedObjects->contains(object)) @@ -643,28 +643,28 @@ QStringList allPropertyNames(QObject *object, const QString &baseName = QString( if (declarativeProperty.name() != "parent") { QObject *childObject = QQmlMetaType::toQObject(declarativeProperty.read()); if (childObject) - propertyNameList.append(allPropertyNames(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(allPropertyNames(childObject, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } } else if (QQmlValueTypeFactory::valueType(metaProperty.userType())) { QQmlValueType *valueType = QQmlValueTypeFactory::valueType(metaProperty.userType()); valueType->setValue(metaProperty.read(object)); - propertyNameList.append(allPropertyNames(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(allPropertyNames(valueType, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } else { - propertyNameList.append(baseName + QString::fromUtf8(metaProperty.name())); + propertyNameList.append(baseName + PropertyName(metaProperty.name())); } } return propertyNameList; } -QStringList ObjectNodeInstance::propertyNames() const +PropertyNameList ObjectNodeInstance::propertyNames() const { if (isValid()) return allPropertyNames(object()); - return QStringList(); + return PropertyNameList(); } -QString ObjectNodeInstance::instanceType(const QString &name) const +QString ObjectNodeInstance::instanceType(const PropertyName &name) const { QQmlProperty property(object(), name, context()); if (!property.isValid()) @@ -785,9 +785,9 @@ static void disableTiledBackingStore(QObject *object) Q_UNUSED(object); } -QStringList propertyNameForWritableProperties(QObject *object, const QString &baseName = QString(), QObjectList *inspectedObjects = new QObjectList()) +PropertyNameList propertyNameForWritableProperties(QObject *object, const PropertyName &baseName = PropertyName(), QObjectList *inspectedObjects = new QObjectList()) { - QStringList propertyNameList; + PropertyNameList propertyNameList; if (inspectedObjects == 0 || inspectedObjects->contains(object)) return propertyNameList; @@ -802,16 +802,16 @@ QStringList propertyNameForWritableProperties(QObject *object, const QString &ba if (declarativeProperty.name() != "parent") { QObject *childObject = QQmlMetaType::toQObject(declarativeProperty.read()); if (childObject) - propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } } else if (QQmlValueTypeFactory::valueType(metaProperty.userType())) { QQmlValueType *valueType = QQmlValueTypeFactory::valueType(metaProperty.userType()); valueType->setValue(metaProperty.read(object)); - propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } if (metaProperty.isReadable() && metaProperty.isWritable()) { - propertyNameList.append(baseName + QString::fromUtf8(metaProperty.name())); + propertyNameList.append(baseName + PropertyName(metaProperty.name())); } } @@ -823,9 +823,9 @@ static void fixResourcePathsForObject(QObject *object) if (qgetenv("QMLDESIGNER_RC_PATHS").isEmpty()) return; - QStringList propertyNameList = propertyNameForWritableProperties(object); + PropertyNameList propertyNameList = propertyNameForWritableProperties(object); - foreach (const QString &propertyName, propertyNameList) { + foreach (const PropertyName &propertyName, propertyNameList) { QQmlProperty property(object, propertyName, QQmlEngine::contextForObject(object)); const QVariant value = property.read(); @@ -1039,9 +1039,9 @@ void ObjectNodeInstance::deactivateState() void ObjectNodeInstance::populateResetHashes() { - QStringList propertyNameList = propertyNameForWritableProperties(object()); + PropertyNameList propertyNameList = propertyNameForWritableProperties(object()); - foreach (const QString &propertyName, propertyNameList) { + foreach (const PropertyName &propertyName, propertyNameList) { QQmlProperty property(object(), propertyName, QQmlEngine::contextForObject(object())); QQmlAbstractBinding::Pointer binding = QQmlAbstractBinding::getPointer(QQmlPropertyPrivate::binding(property)); @@ -1053,22 +1053,22 @@ void ObjectNodeInstance::populateResetHashes() } } -QQmlAbstractBinding *ObjectNodeInstance::resetBinding(const QString &propertyName) const +QQmlAbstractBinding *ObjectNodeInstance::resetBinding(const PropertyName &propertyName) const { return m_resetBindingHash.value(propertyName).data(); } -bool ObjectNodeInstance::hasValidResetBinding(const QString &propertyName) const +bool ObjectNodeInstance::hasValidResetBinding(const PropertyName &propertyName) const { return m_resetBindingHash.contains(propertyName) && m_resetBindingHash.value(propertyName).data(); } -QVariant ObjectNodeInstance::resetValue(const QString &propertyName) const +QVariant ObjectNodeInstance::resetValue(const PropertyName &propertyName) const { return m_resetValueHash.value(propertyName); } -void ObjectNodeInstance::setResetValue(const QString &propertyName, const QVariant &value) +void ObjectNodeInstance::setResetValue(const PropertyName &propertyName, const QVariant &value) { m_resetValueHash.insert(propertyName, value); } @@ -1145,17 +1145,17 @@ void ObjectNodeInstance::createDynamicProperty(const QString &name, const QStrin m_metaObject->createNewProperty(name); } -bool ObjectNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &/*target*/, const QString &/*propertyName*/, const QVariant &/*value*/) +bool ObjectNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &/*target*/, const PropertyName &/*propertyName*/, const QVariant &/*value*/) { return false; } -bool ObjectNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &/*target*/, const QString &/*propertyName*/, const QString &/*expression*/) +bool ObjectNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &/*target*/, const PropertyName &/*propertyName*/, const QString &/*expression*/) { return false; } -bool ObjectNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &/*target*/, const QString &/*propertyName*/, const QVariant &/*resetValue*/) +bool ObjectNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &/*target*/, const PropertyName &/*propertyName*/, const QVariant &/*resetValue*/) { return false; } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h index 08a4b1ca22..4feb35aacc 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h @@ -90,7 +90,7 @@ public: Pointer parentInstance() const; - virtual void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty); + virtual void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty); virtual void setId(const QString &id); virtual QString id() const; @@ -112,8 +112,8 @@ public: virtual int penWidth() const; - virtual bool hasAnchor(const QString &name) const; - virtual QPair<QString, ServerNodeInstance> anchor(const QString &name) const; + virtual bool hasAnchor(const PropertyName &name) const; + virtual QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; virtual bool isAnchoredBySibling() const; virtual bool isAnchoredByChildren() const; @@ -123,17 +123,17 @@ public: virtual QPointF transformOriginPoint() const; virtual double zValue() const; - virtual void setPropertyVariant(const QString &name, const QVariant &value); - virtual void setPropertyBinding(const QString &name, const QString &expression); - virtual QVariant property(const QString &name) const; - virtual void resetProperty(const QString &name); - virtual void refreshProperty(const QString &name); - virtual QString instanceType(const QString &name) const; - QStringList propertyNames() const; + virtual void setPropertyVariant(const PropertyName &name, const QVariant &value); + virtual void setPropertyBinding(const PropertyName &name, const QString &expression); + virtual QVariant property(const PropertyName &name) const; + virtual void resetProperty(const PropertyName &name); + virtual void refreshProperty(const PropertyName &name); + virtual QString instanceType(const PropertyName &name) const; + PropertyNameList propertyNames() const; virtual QList<ServerNodeInstance> childItems() const; - void createDynamicProperty(const QString &name, const QString &typeName); + void createDynamicProperty(const QString &PropertyName, const QString &typeName); void setDeleteHeldInstance(bool deleteInstance); bool deleteHeldInstance() const; @@ -144,10 +144,10 @@ public: virtual void deactivateState(); void populateResetHashes(); - bool hasValidResetBinding(const QString &propertyName) const; - QQmlAbstractBinding *resetBinding(const QString &propertyName) const; - QVariant resetValue(const QString &propertyName) const; - void setResetValue(const QString &propertyName, const QVariant &value); + bool hasValidResetBinding(const PropertyName &propertyName) const; + QQmlAbstractBinding *resetBinding(const PropertyName &propertyName) const; + QVariant resetValue(const PropertyName &propertyName) const; + void setResetValue(const PropertyName &propertyName, const QVariant &value); QObject *object() const; @@ -158,14 +158,14 @@ public: void setInPositioner(bool isInPositioner); virtual void refreshPositioner(); - bool hasBindingForProperty(const QString &name, bool *hasChanged = 0) const; + bool hasBindingForProperty(const PropertyName &name, bool *hasChanged = 0) const; QQmlContext *context() const; QQmlEngine *engine() const; - virtual bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value); - virtual bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QString &expression); - virtual bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &resetValue); + virtual bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value); + virtual bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression); + virtual bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &resetValue); bool isValid() const; @@ -180,22 +180,22 @@ public: static QVariant fixResourcePaths(const QVariant &value); protected: - void doResetProperty(const QString &propertyName); - void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty); - void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty); + void doResetProperty(const PropertyName &propertyName); + void removeFromOldProperty(QObject *object, QObject *oldParent, const PropertyName &oldParentProperty); + void addToNewProperty(QObject *object, QObject *newParent, const PropertyName &newParentProperty); void deleteObjectsInList(const QQmlProperty &metaProperty); QVariant convertSpecialCharacter(const QVariant& value) const; private: - QHash<QString, QVariant> m_resetValueHash; - QHash<QString, QWeakPointer<QQmlAbstractBinding> > m_resetBindingHash; - QHash<QString, ServerNodeInstance> m_modelAbstractPropertyHash; - mutable QHash<QString, bool> m_hasBindingHash; + QHash<PropertyName, QVariant> m_resetValueHash; + QHash<PropertyName, QWeakPointer<QQmlAbstractBinding> > m_resetBindingHash; + QHash<PropertyName, ServerNodeInstance> m_modelAbstractPropertyHash; + mutable QHash<PropertyName, bool> m_hasBindingHash; qint32 m_instanceId; QString m_id; QPointer<NodeInstanceServer> m_nodeInstanceServer; - QString m_parentProperty; + PropertyName m_parentProperty; bool m_deleteHeldInstance; QPointer<QObject> m_object; NodeInstanceMetaObject *m_metaObject; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.cpp index 2a615f01bd..83f20fb7e4 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.cpp @@ -47,7 +47,7 @@ bool PositionerNodeInstance::isResizable() const return true; } -void PositionerNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void PositionerNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "move" || name == "add" || name == "populate") return; @@ -55,7 +55,7 @@ void PositionerNodeInstance::setPropertyVariant(const QString &name, const QVari QuickItemNodeInstance::setPropertyVariant(name, value); } -void PositionerNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void PositionerNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { if (name == "move" || name == "add" || name == "populate") return; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h index f2d1474d36..1028af42d4 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/positionernodeinstance.h @@ -47,8 +47,8 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); bool isPositioner() const; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp index a22d3d5b44..e9a3557848 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.cpp @@ -61,14 +61,14 @@ QmlPropertyChangesNodeInstance::Pointer QmlPropertyChangesNodeInstance::create(Q return instance; } -void QmlPropertyChangesNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlPropertyChangesNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { QMetaObject metaObject = QQuickPropertyChanges::staticMetaObject; - if (metaObject.indexOfProperty(name.toLatin1()) > 0) { // 'restoreEntryValues', 'explicit' + if (metaObject.indexOfProperty(name) > 0) { // 'restoreEntryValues', 'explicit' ObjectNodeInstance::setPropertyVariant(name, value); } else { - changesObject()->changeValue(name.toLatin1(), value); + changesObject()->changeValue(name, value); QObject *targetObject = changesObject()->object(); if (targetObject && nodeInstanceServer()->activeStateInstance().isWrappingThisObject(changesObject()->state())) { ServerNodeInstance targetInstance = nodeInstanceServer()->instanceForObject(targetObject); @@ -77,29 +77,29 @@ void QmlPropertyChangesNodeInstance::setPropertyVariant(const QString &name, con } } -void QmlPropertyChangesNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void QmlPropertyChangesNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { QMetaObject metaObject = QQuickPropertyChanges::staticMetaObject; - if (metaObject.indexOfProperty(name.toLatin1()) > 0) { // 'restoreEntryValues', 'explicit' + if (metaObject.indexOfProperty(name) > 0) { // 'restoreEntryValues', 'explicit' ObjectNodeInstance::setPropertyBinding(name, expression); } else { - changesObject()->changeExpression(name.toLatin1(), expression); + changesObject()->changeExpression(name, expression); } } -QVariant QmlPropertyChangesNodeInstance::property(const QString &name) const +QVariant QmlPropertyChangesNodeInstance::property(const PropertyName &name) const { - return changesObject()->property(name.toLatin1()); + return changesObject()->property(name); } -void QmlPropertyChangesNodeInstance::resetProperty(const QString &name) +void QmlPropertyChangesNodeInstance::resetProperty(const PropertyName &name) { - changesObject()->removeProperty(name.toLatin1()); + changesObject()->removeProperty(name); } -void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty) +void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty) { changesObject()->detachFromState(); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h index 7e38d12071..30e2986827 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlpropertychangesnodeinstance.h @@ -54,13 +54,13 @@ public: static Pointer create(QObject *objectToBeWrapped); - virtual void setPropertyVariant(const QString &name, const QVariant &value); - virtual void setPropertyBinding(const QString &name, const QString &expression); - virtual QVariant property(const QString &name) const; - virtual void resetProperty(const QString &name); + virtual void setPropertyVariant(const PropertyName &name, const QVariant &value); + virtual void setPropertyBinding(const PropertyName &name, const QString &expression); + virtual QVariant property(const PropertyName &name) const; + virtual void resetProperty(const PropertyName &name); using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around - void reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty); + void reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty); protected: QmlPropertyChangesNodeInstance(QQuickPropertyChanges *object); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.cpp index 54b55d8e71..22b26ee172 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.cpp @@ -99,7 +99,7 @@ bool QmlStateNodeInstance::isStateActive() const return stateObject() && stateGroup() && stateGroup()->state() == property("name"); } -void QmlStateNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlStateNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { bool hasParent = parent(); bool isStateOfTheRootModelNode = parentInstance() && parentInstance()->isRootNodeInstance(); @@ -109,7 +109,7 @@ void QmlStateNodeInstance::setPropertyVariant(const QString &name, const QVarian ObjectNodeInstance::setPropertyVariant(name, value); } -void QmlStateNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void QmlStateNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { bool hasParent = parent(); bool isStateOfTheRootModelNode = parentInstance() && parentInstance()->isRootNodeInstance(); @@ -119,19 +119,19 @@ void QmlStateNodeInstance::setPropertyBinding(const QString &name, const QString ObjectNodeInstance::setPropertyBinding(name, expression); } -bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value) +bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value) { - return stateObject()->changeValueInRevertList(target->object(), propertyName.toLatin1(), value); + return stateObject()->changeValueInRevertList(target->object(), QString::fromUtf8(propertyName), value); } -bool QmlStateNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QString &expression) +bool QmlStateNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression) { - return stateObject()->changeValueInRevertList(target->object(), propertyName.toLatin1(), expression); + return stateObject()->changeValueInRevertList(target->object(), QString::fromUtf8(propertyName), expression); } -bool QmlStateNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant & /* resetValue */) +bool QmlStateNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant & /* resetValue */) { - return stateObject()->removeEntryFromRevertList(target->object(), propertyName.toLatin1()); + return stateObject()->removeEntryFromRevertList(target->object(), QString::fromUtf8(propertyName)); } } // namespace Internal diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h index fe319431a9..78a759f1df 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmlstatenodeinstance.h @@ -48,15 +48,15 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); void activateState(); void deactivateState(); - bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value); - bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QString &expression); - bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &resetValue); + bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value); + bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression); + bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &resetValue); protected: diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.cpp index c945fcab7c..3243450e0e 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.cpp @@ -59,7 +59,7 @@ bool QmlTransitionNodeInstance::isTransition() const return true; } -void QmlTransitionNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlTransitionNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "from" || name == "to") return; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h index cbfc595642..d12e367abd 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qmltransitionnodeinstance.h @@ -47,7 +47,7 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); + void setPropertyVariant(const PropertyName &name, const QVariant &value); bool isTransition() const; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp index 2a3bbb540a..f4db8ed8fc 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp @@ -353,7 +353,7 @@ QRectF QuickItemNodeInstance::boundingRect() const return QRectF(); } -void QuickItemNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QuickItemNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "state") return; // states are only set by us @@ -390,7 +390,7 @@ void QuickItemNodeInstance::setPropertyVariant(const QString &name, const QVaria parentInstance()->refreshPositioner(); } -void QuickItemNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void QuickItemNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { if (name == "state") return; // states are only set by us @@ -405,7 +405,7 @@ void QuickItemNodeInstance::setPropertyBinding(const QString &name, const QStrin parentInstance()->refreshPositioner(); } -QVariant QuickItemNodeInstance::property(const QString &name) const +QVariant QuickItemNodeInstance::property(const PropertyName &name) const { return ObjectNodeInstance::property(name); } @@ -486,7 +486,7 @@ int QuickItemNodeInstance::penWidth() const return DesignerSupport::borderWidth(quickItem()); } -void QuickItemNodeInstance::resetProperty(const QString &name) +void QuickItemNodeInstance::resetProperty(const PropertyName &name) { if (name == "height") { m_hasHeight = false; @@ -536,7 +536,7 @@ void QuickItemNodeInstance::resetProperty(const QString &name) parentInstance()->refreshPositioner(); } -void QuickItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty) +void QuickItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { if (oldParentInstance && oldParentInstance->isPositioner()) { setInPositioner(false); @@ -565,9 +565,9 @@ void QuickItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParen parentInstance()->refreshPositioner(); } -static bool isValidAnchorName(const QString &name) +static bool isValidAnchorName(const PropertyName &name) { - static QStringList anchorNameList(QStringList() << "anchors.top" + static PropertyNameList anchorNameList(PropertyNameList() << "anchors.top" << "anchors.left" << "anchors.right" << "anchors.bottom" @@ -580,12 +580,12 @@ static bool isValidAnchorName(const QString &name) return anchorNameList.contains(name); } -bool QuickItemNodeInstance::hasAnchor(const QString &name) const +bool QuickItemNodeInstance::hasAnchor(const PropertyName &name) const { return DesignerSupport::hasAnchor(quickItem(), name); } -QPair<QString, ServerNodeInstance> QuickItemNodeInstance::anchor(const QString &name) const +QPair<PropertyName, ServerNodeInstance> QuickItemNodeInstance::anchor(const PropertyName &name) const { if (!isValidAnchorName(name) || !DesignerSupport::hasAnchor(quickItem(), name)) return ObjectNodeInstance::anchor(name); @@ -593,7 +593,7 @@ QPair<QString, ServerNodeInstance> QuickItemNodeInstance::anchor(const QString & QPair<QString, QObject*> nameObjectPair = DesignerSupport::anchorLineTarget(quickItem(), name, context()); QObject *targetObject = nameObjectPair.second; - QString targetName = nameObjectPair.first; + PropertyName targetName = nameObjectPair.first.toUtf8(); if (targetObject && nodeInstanceServer()->hasInstanceForObject(targetObject)) { return qMakePair(targetName, nodeInstanceServer()->instanceForObject(targetObject)); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h index ad2f4822e2..7ac8a9f4ae 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.h @@ -78,18 +78,18 @@ public: bool isMovable() const; void setMovable(bool movable); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); - QVariant property(const QString &name) const; - void resetProperty(const QString &name); + QVariant property(const PropertyName &name) const; + void resetProperty(const PropertyName &name); - void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty); int penWidth() const; - bool hasAnchor(const QString &name) const; - QPair<QString, ServerNodeInstance> anchor(const QString &name) const; + bool hasAnchor(const PropertyName &name) const; + QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; bool isAnchoredBySibling() const; bool isAnchoredByChildren() const; void doComponentComplete(); diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp index daf76c3117..0250e77b14 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp @@ -246,7 +246,7 @@ ServerNodeInstance ServerNodeInstance::create(NodeInstanceServer *nodeInstanceSe return instance; } -void ServerNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty) +void ServerNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty) { m_nodeInstance->reparent(oldParentInstance.m_nodeInstance, oldParentProperty, newParentInstance.m_nodeInstance, newParentProperty); } @@ -303,35 +303,35 @@ QRectF ServerNodeInstance::boundingRect() const return boundingRect; } -void ServerNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void ServerNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { m_nodeInstance->setPropertyVariant(name, value); } -void ServerNodeInstance::setPropertyDynamicVariant(const QString &name, const QString &typeName, const QVariant &value) +void ServerNodeInstance::setPropertyDynamicVariant(const PropertyName &name, const TypeName &typeName, const QVariant &value) { m_nodeInstance->createDynamicProperty(name, typeName); m_nodeInstance->setPropertyVariant(name, value); } -void ServerNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void ServerNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { m_nodeInstance->setPropertyBinding(name, expression); } -void ServerNodeInstance::setPropertyDynamicBinding(const QString &name, const QString &typeName, const QString &expression) +void ServerNodeInstance::setPropertyDynamicBinding(const PropertyName &name, const TypeName &typeName, const QString &expression) { m_nodeInstance->createDynamicProperty(name, typeName); m_nodeInstance->setPropertyBinding(name, expression); } -void ServerNodeInstance::resetProperty(const QString &name) +void ServerNodeInstance::resetProperty(const PropertyName &name) { m_nodeInstance->resetProperty(name); } -void ServerNodeInstance::refreshProperty(const QString &name) +void ServerNodeInstance::refreshProperty(const PropertyName &name) { m_nodeInstance->refreshProperty(name); } @@ -345,17 +345,17 @@ void ServerNodeInstance::setId(const QString &id) \brief Returns the property value of the property of this NodeInstance. \returns QVariant value */ -QVariant ServerNodeInstance::property(const QString &name) const +QVariant ServerNodeInstance::property(const PropertyName &name) const { return m_nodeInstance->property(name); } -QStringList ServerNodeInstance::propertyNames() const +PropertyNameList ServerNodeInstance::propertyNames() const { return m_nodeInstance->propertyNames(); } -bool ServerNodeInstance::hasBindingForProperty(const QString &name, bool *hasChanged) const +bool ServerNodeInstance::hasBindingForProperty(const PropertyName &name, bool *hasChanged) const { return m_nodeInstance->hasBindingForProperty(name, hasChanged); } @@ -364,7 +364,7 @@ bool ServerNodeInstance::hasBindingForProperty(const QString &name, bool *hasCha \brief Returns the property default value of the property of this NodeInstance. \returns QVariant default value which is the reset value to */ -QVariant ServerNodeInstance::defaultValue(const QString &name) const +QVariant ServerNodeInstance::defaultValue(const PropertyName &name) const { return m_nodeInstance->resetValue(name); } @@ -372,7 +372,7 @@ QVariant ServerNodeInstance::defaultValue(const QString &name) const /*! \brief Returns the type of the property of this NodeInstance. */ -QString ServerNodeInstance::instanceType(const QString &name) const +QString ServerNodeInstance::instanceType(const PropertyName &name) const { return m_nodeInstance->instanceType(name); } @@ -404,7 +404,7 @@ bool ServerNodeInstance::isInPositioner() const return m_nodeInstance->isInPositioner(); } -bool ServerNodeInstance::hasAnchor(const QString &name) const +bool ServerNodeInstance::hasAnchor(const PropertyName &name) const { return m_nodeInstance->hasAnchor(name); } @@ -424,7 +424,7 @@ bool ServerNodeInstance::isAnchoredByChildren() const return m_nodeInstance->isAnchoredByChildren(); } -QPair<QString, ServerNodeInstance> ServerNodeInstance::anchor(const QString &name) const +QPair<PropertyName, ServerNodeInstance> ServerNodeInstance::anchor(const PropertyName &name) const { return m_nodeInstance->anchor(name); } @@ -569,22 +569,22 @@ void ServerNodeInstance::deactivateState() m_nodeInstance->deactivateState(); } -bool ServerNodeInstance::updateStateVariant(const ServerNodeInstance &target, const QString &propertyName, const QVariant &value) +bool ServerNodeInstance::updateStateVariant(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &value) { return m_nodeInstance->updateStateVariant(target.internalInstance(), propertyName, value); } -bool ServerNodeInstance::updateStateBinding(const ServerNodeInstance &target, const QString &propertyName, const QString &expression) +bool ServerNodeInstance::updateStateBinding(const ServerNodeInstance &target, const PropertyName &propertyName, const QString &expression) { return m_nodeInstance->updateStateBinding(target.internalInstance(), propertyName, expression); } -QVariant ServerNodeInstance::resetVariant(const QString &propertyName) const +QVariant ServerNodeInstance::resetVariant(const PropertyName &propertyName) const { return m_nodeInstance->resetValue(propertyName); } -bool ServerNodeInstance::resetStateProperty(const ServerNodeInstance &target, const QString &propertyName, const QVariant &resetValue) +bool ServerNodeInstance::resetStateProperty(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &resetValue) { return m_nodeInstance->resetStateProperty(target.internalInstance(), propertyName, resetValue); } diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h index 85307a94a7..a230e6f1d9 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.h @@ -117,13 +117,13 @@ public: double zValue() const; double opacity() const; - QVariant property(const QString &name) const; - QVariant defaultValue(const QString &name) const; - QString instanceType(const QString &name) const; - QStringList propertyNames() const; + QVariant property(const PropertyName &name) const; + QVariant defaultValue(const PropertyName &name) const; + QString instanceType(const PropertyName &name) const; + PropertyNameList propertyNames() const; - bool hasBindingForProperty(const QString &name, bool *hasChanged = 0) const; + bool hasBindingForProperty(const PropertyName &name, bool *hasChanged = 0) const; bool isValid() const; void makeInvalid(); @@ -137,12 +137,12 @@ public: bool isWrappingThisObject(QObject *object) const; - QVariant resetVariant(const QString &name) const; + QVariant resetVariant(const PropertyName &name) const; - bool hasAnchor(const QString &name) const; + bool hasAnchor(const PropertyName &name) const; bool isAnchoredBySibling() const; bool isAnchoredByChildren() const; - QPair<QString, ServerNodeInstance> anchor(const QString &name) const; + QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; int penWidth() const; @@ -163,27 +163,27 @@ public: private: // functions ServerNodeInstance(const QSharedPointer<Internal::ObjectNodeInstance> &abstractInstance); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyDynamicVariant(const QString &name, const QString &typeName, const QVariant &value); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyDynamicVariant(const PropertyName &name, const TypeName &typeName, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); - void setPropertyDynamicBinding(const QString &name, const QString &typeName, const QString &expression); + void setPropertyBinding(const PropertyName &name, const QString &expression); + void setPropertyDynamicBinding(const PropertyName &name, const TypeName &typeName, const QString &expression); - void resetProperty(const QString &name); - void refreshProperty(const QString &name); + void resetProperty(const PropertyName &name); + void refreshProperty(const PropertyName &name); void activateState(); void deactivateState(); void refreshState(); - bool updateStateVariant(const ServerNodeInstance &target, const QString &propertyName, const QVariant &value); - bool updateStateBinding(const ServerNodeInstance &target, const QString &propertyName, const QString &expression); - bool resetStateProperty(const ServerNodeInstance &target, const QString &propertyName, const QVariant &resetValue); + bool updateStateVariant(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &value); + bool updateStateBinding(const ServerNodeInstance &target, const PropertyName &propertyName, const QString &expression); + bool resetStateProperty(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &resetValue); static ServerNodeInstance create(NodeInstanceServer *nodeInstanceServer, const InstanceContainer &instanceContainer, ComponentWrap componentWrap); void setDeleteHeldInstance(bool deleteInstance); - void reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty); + void reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty); void setId(const QString &id); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.cpp index f8274db062..3e4927ffd4 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.cpp @@ -55,7 +55,7 @@ BehaviorNodeInstance::Pointer BehaviorNodeInstance::create(QObject *object) return instance; } -void BehaviorNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void BehaviorNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "enabled") return; @@ -63,7 +63,7 @@ void BehaviorNodeInstance::setPropertyVariant(const QString &name, const QVarian ObjectNodeInstance::setPropertyVariant(name, value); } -void BehaviorNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void BehaviorNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { if (name == "enabled") return; @@ -71,7 +71,7 @@ void BehaviorNodeInstance::setPropertyBinding(const QString &name, const QString ObjectNodeInstance::setPropertyBinding(name, expression); } -QVariant BehaviorNodeInstance::property(const QString &name) const +QVariant BehaviorNodeInstance::property(const PropertyName &name) const { if (name == "enabled") return QVariant::fromValue(m_isEnabled); @@ -79,7 +79,7 @@ QVariant BehaviorNodeInstance::property(const QString &name) const return ObjectNodeInstance::property(name); } -void BehaviorNodeInstance::resetProperty(const QString &name) +void BehaviorNodeInstance::resetProperty(const PropertyName &name) { if (name == "enabled") m_isEnabled = true; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.h index 91dc0cef70..0cc6d68891 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/behaviornodeinstance.h @@ -45,12 +45,12 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); - QVariant property(const QString &name) const; - void resetProperty(const QString &name); + QVariant property(const PropertyName &name) const; + void resetProperty(const PropertyName &name); private: bool m_isEnabled; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp index 062187e196..ba61b13bb9 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.cpp @@ -237,17 +237,17 @@ bool GraphicsObjectNodeInstance::isGraphicsObject() const return true; } -void GraphicsObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void GraphicsObjectNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { ObjectNodeInstance::setPropertyVariant(name, value); } -void GraphicsObjectNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void GraphicsObjectNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { ObjectNodeInstance::setPropertyBinding(name, expression); } -QVariant GraphicsObjectNodeInstance::property(const QString &name) const +QVariant GraphicsObjectNodeInstance::property(const PropertyName &name) const { return ObjectNodeInstance::property(name); } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h index 4edf2baafd..8350bc9612 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/graphicsobjectnodeinstance.h @@ -65,9 +65,9 @@ public: bool equalGraphicsItem(QGraphicsItem *item) const; - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); - QVariant property(const QString &name) const; + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); + QVariant property(const PropertyName &name) const; bool hasContent() const; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.cpp index 2c7f1dd6f6..101281d7de 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.cpp @@ -46,7 +46,7 @@ NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer setCached(true); } -NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QDeclarativeEngine *engine) +NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const PropertyName &prefix, QDeclarativeEngine *engine) : QDeclarativeOpenMetaObject(object, new QDeclarativeOpenMetaObjectType(object->metaObject(), engine), true), m_nodeInstance(nodeInstance), m_prefix(prefix) @@ -56,7 +56,7 @@ NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer & void NodeInstanceMetaObject::createNewProperty(const QString &name) { - int id = createProperty(name.toLatin1(), 0); + int id = createProperty(name.toUtf8(), 0); setValue(id, QVariant()); Q_ASSERT(id >= 0); Q_UNUSED(id) diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.h index 502117f0a0..1dbec0bd0e 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancemetaobject.h @@ -33,7 +33,10 @@ #include <QDeclarativeContext> #include <private/qdeclarativeopenmetaobject_p.h> +#include "nodeinstanceglobal.h" + namespace QmlDesigner { + namespace Internal { class ObjectNodeInstance; @@ -44,7 +47,7 @@ class NodeInstanceMetaObject : public QDeclarativeOpenMetaObject { public: NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QDeclarativeEngine *engine); - NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QDeclarativeEngine *engine); + NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const PropertyName &prefix, QDeclarativeEngine *engine); void createNewProperty(const QString &name); protected: @@ -53,7 +56,7 @@ protected: private: ObjectNodeInstanceWeakPointer m_nodeInstance; - QString m_prefix; + PropertyName m_prefix; QWeakPointer<QDeclarativeContext> m_context; }; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.cpp index fa7167b037..2f74cef389 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.cpp @@ -655,7 +655,7 @@ Internal::ChildrenChangeEventFilter *NodeInstanceServer::childrenChangeEventFilt return m_childrenChangeEventFilter.data(); } -void NodeInstanceServer::addFilePropertyToFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path) +void NodeInstanceServer::addFilePropertyToFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path) { if (!m_fileSystemWatcherHash.contains(path)) { m_fileSystemWatcherHash.insert(path, ObjectPropertyPair(object, propertyName)); @@ -663,7 +663,7 @@ void NodeInstanceServer::addFilePropertyToFileSystemWatcher(QObject *object, con } } -void NodeInstanceServer::removeFilePropertyFromFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path) +void NodeInstanceServer::removeFilePropertyFromFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path) { if (m_fileSystemWatcherHash.contains(path)) { fileSystemWatcher()->removePath(path); @@ -676,7 +676,7 @@ void NodeInstanceServer::refreshLocalFileProperty(const QString &path) if (m_fileSystemWatcherHash.contains(path)) { foreach (const ObjectPropertyPair &objectPropertyPair, m_fileSystemWatcherHash) { QObject *object = objectPropertyPair.first.data(); - QString propertyName = objectPropertyPair.second; + PropertyName propertyName = objectPropertyPair.second; if (hasInstanceForObject(object)) { instanceForObject(object).refreshProperty(propertyName); @@ -728,7 +728,7 @@ void NodeInstanceServer::resetInstanceProperty(const PropertyAbstractContainer & ServerNodeInstance instance = instanceForId(propertyContainer.instanceId()); Q_ASSERT(instance.isValid()); - const QString name = propertyContainer.name(); + const PropertyName name = propertyContainer.name(); if (activeStateInstance().isValid() && !instance.isSubclassOf("QtQuick/PropertyChanges")) { bool statePropertyWasReseted = activeStateInstance().resetStateProperty(instance, name, instance.resetVariant(name)); @@ -749,7 +749,7 @@ void NodeInstanceServer::setInstancePropertyBinding(const PropertyBindingContain if (hasInstanceForId(bindingContainer.instanceId())) { ServerNodeInstance instance = instanceForId(bindingContainer.instanceId()); - const QString name = bindingContainer.name(); + const PropertyName name = bindingContainer.name(); const QString expression = bindingContainer.expression(); @@ -783,7 +783,7 @@ void NodeInstanceServer::setInstancePropertyVariant(const PropertyValueContainer ServerNodeInstance instance = instanceForId(valueContainer.instanceId()); - const QString name = valueContainer.name(); + const PropertyName name = valueContainer.name(); const QVariant value = valueContainer.value(); @@ -810,8 +810,8 @@ void NodeInstanceServer::setInstancePropertyVariant(const PropertyValueContainer void NodeInstanceServer::setInstanceAuxiliaryData(const PropertyValueContainer &auxiliaryContainer) { //instanceId() == 0: the item is root - if (auxiliaryContainer.instanceId() == 0 && (auxiliaryContainer.name() == QLatin1String("width") || - auxiliaryContainer.name() == QLatin1String("height"))) { + if (auxiliaryContainer.instanceId() == 0 && (auxiliaryContainer.name() == "width" || + auxiliaryContainer.name() == "height")) { if (!auxiliaryContainer.value().isNull()) { setInstancePropertyVariant(auxiliaryContainer); @@ -819,8 +819,8 @@ void NodeInstanceServer::setInstanceAuxiliaryData(const PropertyValueContainer & rootNodeInstance().resetProperty(auxiliaryContainer.name()); } } - if (auxiliaryContainer.name().endsWith(QLatin1String("@NodeInstance"))) { - QString propertyName = auxiliaryContainer.name().leftRef(auxiliaryContainer.name().count() - 12).toString(); + if (auxiliaryContainer.name().endsWith("@NodeInstance")) { + PropertyName propertyName = auxiliaryContainer.name().left(auxiliaryContainer.name().count() - 12); if (!auxiliaryContainer.value().isNull()) { setInstancePropertyVariant(PropertyValueContainer(auxiliaryContainer.instanceId(), propertyName, @@ -891,51 +891,51 @@ static QVector<InformationContainer> createInformationVector(const QList<ServerN informationVector.append(InformationContainer(instance.instanceId(), IsAnchoredByChildren, instance.isAnchoredByChildren())); informationVector.append(InformationContainer(instance.instanceId(), IsAnchoredBySibling, instance.isAnchoredBySibling())); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.fill"), instance.hasAnchor("anchors.fill"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.centerIn"), instance.hasAnchor("anchors.centerIn"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.right"), instance.hasAnchor("anchors.right"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.top"), instance.hasAnchor("anchors.top"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.left"), instance.hasAnchor("anchors.left"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.bottom"), instance.hasAnchor("anchors.bottom"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.horizontalCenter"), instance.hasAnchor("anchors.horizontalCenter"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.verticalCenter"), instance.hasAnchor("anchors.verticalCenter"))); - informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, QString("anchors.baseline"), instance.hasAnchor("anchors.baseline"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.fill"), instance.hasAnchor("anchors.fill"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.centerIn"), instance.hasAnchor("anchors.centerIn"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.right"), instance.hasAnchor("anchors.right"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.top"), instance.hasAnchor("anchors.top"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.left"), instance.hasAnchor("anchors.left"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.bottom"), instance.hasAnchor("anchors.bottom"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.horizontalCenter"), instance.hasAnchor("anchors.horizontalCenter"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.verticalCenter"), instance.hasAnchor("anchors.verticalCenter"))); + informationVector.append(InformationContainer(instance.instanceId(), HasAnchor, PropertyName("anchors.baseline"), instance.hasAnchor("anchors.baseline"))); - QPair<QString, ServerNodeInstance> anchorPair = instance.anchor("anchors.fill"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.fill"), anchorPair.first, anchorPair.second.instanceId())); + QPair<PropertyName, ServerNodeInstance> anchorPair = instance.anchor("anchors.fill"); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.fill"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.centerIn"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.centerIn"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.centerIn"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.right"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.right"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.right"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.top"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.top"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.top"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.left"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.left"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.left"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.bottom"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.bottom"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.bottom"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.horizontalCenter"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.horizontalCenter"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.horizontalCenter"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.verticalCenter"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.verticalCenter"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.verticalCenter"), anchorPair.first, anchorPair.second.instanceId())); anchorPair = instance.anchor("anchors.baseline"); - informationVector.append(InformationContainer(instance.instanceId(), Anchor, QString("anchors.baseline"), anchorPair.first, anchorPair.second.instanceId())); + informationVector.append(InformationContainer(instance.instanceId(), Anchor, PropertyName("anchors.baseline"), anchorPair.first, anchorPair.second.instanceId())); - QStringList propertyNames = instance.propertyNames(); + PropertyNameList propertyNames = instance.propertyNames(); if (initial) { - foreach (const QString &propertyName,propertyNames) + foreach (const PropertyName &propertyName, propertyNames) informationVector.append(InformationContainer(instance.instanceId(), InstanceTypeForProperty, propertyName, instance.instanceType(propertyName))); } - foreach (const QString &propertyName,instance.propertyNames()) { + foreach (const PropertyName &propertyName, instance.propertyNames()) { bool hasChanged = false; bool hasBinding = instance.hasBindingForProperty(propertyName, &hasChanged); if (hasChanged) @@ -973,10 +973,10 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList< QVector<PropertyValueContainer> valueVector; foreach (const ServerNodeInstance &instance, instanceList) { - foreach (const QString &propertyName, instance.propertyNames()) { + foreach (const PropertyName &propertyName, instance.propertyNames()) { QVariant propertyValue = instance.property(propertyName); if (supportedVariantType(propertyValue.type())) - valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString())); + valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, TypeName())); } } @@ -999,13 +999,13 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QVecto QVector<PropertyValueContainer> valueVector; foreach (const InstancePropertyPair &property, propertyList) { - const QString propertyName = property.second; + const PropertyName propertyName = property.second; const ServerNodeInstance instance = property.first; if ( instance.isValid()) { QVariant propertyValue = instance.property(propertyName); if (supportedVariantType(propertyValue.type())) - valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, QString())); + valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, TypeName())); } } @@ -1033,7 +1033,7 @@ void NodeInstanceServer::sendDebugOutput(DebugOutputCommand::Type type, const QS nodeInstanceClient()->debugOutput(command); } -void NodeInstanceServer::notifyPropertyChange(qint32 instanceid, const QString &propertyName) +void NodeInstanceServer::notifyPropertyChange(qint32 instanceid, const PropertyName &propertyName) { if (hasInstanceForId(instanceid)) addChangedProperty(InstancePropertyPair(instanceForId(instanceid), propertyName)); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.h index 8701c3eb18..67da5a69f1 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstanceserver.h @@ -69,9 +69,9 @@ class NodeInstanceServer : public NodeInstanceServerInterface { Q_OBJECT public: - typedef QPair<QWeakPointer<QObject>, QString> ObjectPropertyPair; + typedef QPair<QWeakPointer<QObject>, PropertyName> ObjectPropertyPair; typedef QPair<qint32, QString> IdPropertyPair; - typedef QPair<ServerNodeInstance, QString> InstancePropertyPair; + typedef QPair<ServerNodeInstance, PropertyName> InstancePropertyPair; typedef QPair<QString, QWeakPointer<QObject> > DummyPair; explicit NodeInstanceServer(NodeInstanceClientInterface *nodeInstanceClient); @@ -108,8 +108,8 @@ public: QFileSystemWatcher *fileSystemWatcher(); QFileSystemWatcher *dummydataFileSystemWatcher(); Internal::ChildrenChangeEventFilter *childrenChangeEventFilter() const; - void addFilePropertyToFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path); - void removeFilePropertyFromFileSystemWatcher(QObject *object, const QString &propertyName, const QString &path); + void addFilePropertyToFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path); + void removeFilePropertyFromFileSystemWatcher(QObject *object, const PropertyName &propertyName, const QString &path); QUrl fileUrl() const; @@ -119,7 +119,7 @@ public: ServerNodeInstance rootNodeInstance() const; - void notifyPropertyChange(qint32 instanceid, const QString &propertyName); + void notifyPropertyChange(qint32 instanceid, const PropertyName &propertyName); QStringList imports() const; QObject *dummyContextObject() const; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.cpp index d9382c7850..28b1d37b4c 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.cpp @@ -53,7 +53,7 @@ void NodeInstanceSignalSpy::setObjectNodeInstance(const ObjectNodeInstance::Poin } -void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString &prefix) +void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const PropertyName &prefix) { if (m_registeredObjectList.contains(spiedObject)) // prevent cycles return; @@ -70,7 +70,7 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & && QDeclarativeMetaType::isQObject(metaProperty.userType())) { QObject *propertyObject = QDeclarativeMetaType::toQObject(metaProperty.read(spiedObject)); if (propertyObject) - registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('.')); + registerObject(propertyObject, prefix + metaProperty.name() + '.'); } else if (metaProperty.hasNotifySignal()) { QMetaMethod metaMethod = metaProperty.notifySignal(); bool isConnecting = QMetaObject::connect(spiedObject, metaMethod.methodIndex(), this, methodeOffset, Qt::DirectConnection); @@ -86,7 +86,7 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & && QDeclarativeMetaType::isQObject(metaProperty.userType())) { QObject *propertyObject = QDeclarativeMetaType::toQObject(metaProperty.read(spiedObject)); if (propertyObject) - registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('/')); + registerObject(propertyObject, prefix + metaProperty.name() + '/'); } // search recursive in objects list @@ -97,7 +97,7 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & for (int i = 0; i < list.count(); i++) { QObject *propertyObject = list.at(i); if (propertyObject) - registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('/')); + registerObject(propertyObject, prefix + metaProperty.name() + '/'); } } } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.h index 6f8bdacdf8..8c1bb7c059 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/nodeinstancesignalspy.h @@ -34,7 +34,10 @@ #include <QHash> #include <QSharedPointer> +#include "nodeinstanceglobal.h" + namespace QmlDesigner { + namespace Internal { class ObjectNodeInstance; @@ -51,11 +54,11 @@ public: virtual int qt_metacall(QMetaObject::Call, int, void **); protected: - void registerObject(QObject *spiedObject, const QString &prefix = QString()); + void registerObject(QObject *spiedObject, const PropertyName &prefix = PropertyName()); private: int methodeOffset; - QHash<int, QString> m_indexPropertyHash; + QHash<int, PropertyName> m_indexPropertyHash; QObjectList m_registeredObjectList; ObjectNodeInstanceWeakPointer m_objectNodeInstance; }; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.cpp index 47eab50199..c32bdda19c 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.cpp @@ -82,7 +82,7 @@ void ObjectNodeInstance::destroy() if (object()) { setId(QString()); if (m_instanceId >= 0) { - reparent(parentInstance(), m_parentProperty, ObjectNodeInstance::Pointer(), QString()); + reparent(parentInstance(), m_parentProperty, ObjectNodeInstance::Pointer(), PropertyName()); } } @@ -246,7 +246,7 @@ double ObjectNodeInstance::opacity() const return 1.0; } -bool ObjectNodeInstance::hasAnchor(const QString &/*name*/) const +bool ObjectNodeInstance::hasAnchor(const PropertyName &/*name*/) const { return false; } @@ -261,9 +261,9 @@ bool ObjectNodeInstance::isAnchoredByChildren() const return false; } -QPair<QString, ServerNodeInstance> ObjectNodeInstance::anchor(const QString &/*name*/) const +QPair<PropertyName, ServerNodeInstance> ObjectNodeInstance::anchor(const PropertyName &/*name*/) const { - return qMakePair(QString(), ServerNodeInstance()); + return qMakePair(PropertyName(), ServerNodeInstance()); } @@ -292,7 +292,7 @@ static bool hasFullImplementedListInterface(const QDeclarativeListReference &lis static void removeObjectFromList(const QDeclarativeProperty &property, QObject *objectToBeRemoved, QDeclarativeEngine * engine) { - QDeclarativeListReference listReference(property.object(), property.name().toLatin1(), engine); + QDeclarativeListReference listReference(property.object(), property.name().toUtf8(), engine); if (!hasFullImplementedListInterface(listReference)) { qWarning() << "Property list interface not fully implemented for Class " << property.property().typeName() << " in property " << property.name() << "!"; @@ -315,7 +315,7 @@ static void removeObjectFromList(const QDeclarativeProperty &property, QObject * listReference.append(object); } -void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty) +void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldParent, const PropertyName &oldParentProperty) { QDeclarativeProperty property(oldParent, oldParentProperty, context()); @@ -334,7 +334,7 @@ void ObjectNodeInstance::removeFromOldProperty(QObject *object, QObject *oldPare object->setParent(0); } -void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty) +void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, const PropertyName &newParentProperty) { QDeclarativeProperty property(newParent, newParentProperty, context()); @@ -359,7 +359,7 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c Q_ASSERT(objectToVariant(object).isValid()); } -void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty) +void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { if (oldParentInstance) { removeFromOldProperty(object(), oldParentInstance->object(), oldParentProperty); @@ -434,7 +434,7 @@ QVariant ObjectNodeInstance::fixResourcePaths(const QVariant &value) return value; } -void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void ObjectNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { QDeclarativeProperty property(object(), name, context()); @@ -469,7 +469,7 @@ void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant } } -void ObjectNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void ObjectNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { QDeclarativeProperty property(object(), name, context()); @@ -512,7 +512,7 @@ void ObjectNodeInstance::deleteObjectsInList(const QDeclarativeProperty &propert list.clear(); } -void ObjectNodeInstance::resetProperty(const QString &name) +void ObjectNodeInstance::resetProperty(const PropertyName &name) { doResetProperty(name); @@ -523,7 +523,7 @@ void ObjectNodeInstance::resetProperty(const QString &name) doResetProperty("font.pixelSize"); } -void ObjectNodeInstance::refreshProperty(const QString &name) +void ObjectNodeInstance::refreshProperty(const PropertyName &name) { QDeclarativeProperty property(object(), name, context()); @@ -543,14 +543,14 @@ void ObjectNodeInstance::refreshProperty(const QString &name) #else QByteArray key = oldValue.toUrl().toEncoded(QUrl::FormattingOption(0x100)); #endif - QString pixmapKey = QString::fromLatin1(key.constData(), key.count()); + QString pixmapKey = QString::fromUtf8(key.constData(), key.count()); QPixmapCache::remove(pixmapKey); } property.write(oldValue); } -bool ObjectNodeInstance::hasBindingForProperty(const QString &name, bool *hasChanged) const +bool ObjectNodeInstance::hasBindingForProperty(const PropertyName &name, bool *hasChanged) const { QDeclarativeProperty property(object(), name, context()); @@ -565,7 +565,7 @@ bool ObjectNodeInstance::hasBindingForProperty(const QString &name, bool *hasCha return QDeclarativePropertyPrivate::binding(property); } -void ObjectNodeInstance::doResetProperty(const QString &propertyName) +void ObjectNodeInstance::doResetProperty(const PropertyName &propertyName) { m_modelAbstractPropertyHash.remove(propertyName); @@ -613,7 +613,7 @@ void ObjectNodeInstance::doResetProperty(const QString &propertyName) } } -QVariant ObjectNodeInstance::property(const QString &name) const +QVariant ObjectNodeInstance::property(const PropertyName &name) const { if (m_modelAbstractPropertyHash.contains(name)) return QVariant::fromValue(m_modelAbstractPropertyHash.value(name)); @@ -640,9 +640,9 @@ QVariant ObjectNodeInstance::property(const QString &name) const return property.read(); } -QStringList allPropertyNames(QObject *object, const QString &baseName = QString(), QObjectList *inspectedObjects = new QObjectList) +PropertyNameList allPropertyNames(QObject *object, const PropertyName &baseName = PropertyName(), QObjectList *inspectedObjects = new QObjectList) { - QStringList propertyNameList; + PropertyNameList propertyNameList; if (inspectedObjects== 0 || inspectedObjects->contains(object)) @@ -659,28 +659,28 @@ QStringList allPropertyNames(QObject *object, const QString &baseName = QString( if (declarativeProperty.name() != "parent") { QObject *childObject = QDeclarativeMetaType::toQObject(declarativeProperty.read()); if (childObject) - propertyNameList.append(allPropertyNames(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(allPropertyNames(childObject, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } } else if (QDeclarativeValueTypeFactory::valueType(metaProperty.userType())) { QDeclarativeValueType *valueType = QDeclarativeValueTypeFactory::valueType(metaProperty.userType()); valueType->setValue(metaProperty.read(object)); - propertyNameList.append(allPropertyNames(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(allPropertyNames(valueType, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } else { - propertyNameList.append(baseName + QString::fromUtf8(metaProperty.name())); + propertyNameList.append(baseName + metaProperty.name()); } } return propertyNameList; } -QStringList ObjectNodeInstance::propertyNames() const +PropertyNameList ObjectNodeInstance::propertyNames() const { if (isValid()) return allPropertyNames(object()); - return QStringList(); + return PropertyNameList(); } -QString ObjectNodeInstance::instanceType(const QString &name) const +QString ObjectNodeInstance::instanceType(const PropertyName &name) const { QDeclarativeProperty property(object(), name, context()); if (!property.isValid()) @@ -809,9 +809,9 @@ static void disableTiledBackingStore(QObject *object) #endif } -QStringList propertyNameForWritableProperties(QObject *object, const QString &baseName = QString(), QObjectList *inspectedObjects = new QObjectList()) +PropertyNameList propertyNameForWritableProperties(QObject *object, const PropertyName &baseName = PropertyName(), QObjectList *inspectedObjects = new QObjectList()) { - QStringList propertyNameList; + PropertyNameList propertyNameList; if (inspectedObjects == 0 || inspectedObjects->contains(object)) return propertyNameList; @@ -826,14 +826,14 @@ QStringList propertyNameForWritableProperties(QObject *object, const QString &ba if (declarativeProperty.name() != "parent") { QObject *childObject = QDeclarativeMetaType::toQObject(declarativeProperty.read()); if (childObject) - propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(propertyNameForWritableProperties(childObject, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } } else if (QDeclarativeValueTypeFactory::valueType(metaProperty.userType())) { QDeclarativeValueType *valueType = QDeclarativeValueTypeFactory::valueType(metaProperty.userType()); valueType->setValue(metaProperty.read(object)); - propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + QString::fromUtf8(metaProperty.name()) + '.', inspectedObjects)); + propertyNameList.append(propertyNameForWritableProperties(valueType, baseName + PropertyName(metaProperty.name()) + '.', inspectedObjects)); } else if (metaProperty.isReadable() && metaProperty.isWritable()) { - propertyNameList.append(baseName + QString::fromUtf8(metaProperty.name())); + propertyNameList.append(baseName + PropertyName(metaProperty.name())); } } @@ -845,9 +845,9 @@ static void fixResourcePathsForObject(QObject *object) if (qgetenv("QMLDESIGNER_RC_PATHS").isEmpty()) return; - QStringList propertyNameList = propertyNameForWritableProperties(object); + PropertyNameList propertyNameList = propertyNameForWritableProperties(object); - foreach (const QString &propertyName, propertyNameList) { + foreach (const PropertyName &propertyName, propertyNameList) { QDeclarativeProperty property(object, propertyName, QDeclarativeEngine::contextForObject(object)); const QVariant value = property.read(); @@ -1061,9 +1061,9 @@ void ObjectNodeInstance::deactivateState() void ObjectNodeInstance::populateResetHashes() { - QStringList propertyNameList = propertyNameForWritableProperties(object()); + PropertyNameList propertyNameList = propertyNameForWritableProperties(object()); - foreach(const QString &propertyName, propertyNameList) { + foreach (const PropertyName &propertyName, propertyNameList) { QDeclarativeProperty property(object(), propertyName, QDeclarativeEngine::contextForObject(object())); QDeclarativeAbstractBinding::Pointer binding = QDeclarativeAbstractBinding::getPointer(QDeclarativePropertyPrivate::binding(property)); @@ -1075,22 +1075,22 @@ void ObjectNodeInstance::populateResetHashes() } } -QDeclarativeAbstractBinding *ObjectNodeInstance::resetBinding(const QString &propertyName) const +QDeclarativeAbstractBinding *ObjectNodeInstance::resetBinding(const PropertyName &propertyName) const { return m_resetBindingHash.value(propertyName).data(); } -bool ObjectNodeInstance::hasValidResetBinding(const QString &propertyName) const +bool ObjectNodeInstance::hasValidResetBinding(const PropertyName &propertyName) const { return m_resetBindingHash.contains(propertyName) && m_resetBindingHash.value(propertyName).data(); } -QVariant ObjectNodeInstance::resetValue(const QString &propertyName) const +QVariant ObjectNodeInstance::resetValue(const PropertyName &propertyName) const { return m_resetValueHash.value(propertyName); } -void ObjectNodeInstance::setResetValue(const QString &propertyName, const QVariant &value) +void ObjectNodeInstance::setResetValue(const PropertyName &propertyName, const QVariant &value) { m_resetValueHash.insert(propertyName, value); } @@ -1157,7 +1157,7 @@ int ObjectNodeInstance::penWidth() const return 0; } -void ObjectNodeInstance::createDynamicProperty(const QString &name, const QString &/*typeName*/) +void ObjectNodeInstance::createDynamicProperty(const PropertyName &name, const QString &/*typeName*/) { if (m_metaObject == 0) { qWarning() << "ObjectNodeInstance.createDynamicProperty: No Metaobject."; @@ -1167,17 +1167,17 @@ void ObjectNodeInstance::createDynamicProperty(const QString &name, const QStrin m_metaObject->createNewProperty(name); } -bool ObjectNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &/*target*/, const QString &/*propertyName*/, const QVariant &/*value*/) +bool ObjectNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &/*target*/, const PropertyName &/*propertyName*/, const QVariant &/*value*/) { return false; } -bool ObjectNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &/*target*/, const QString &/*propertyName*/, const QString &/*expression*/) +bool ObjectNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &/*target*/, const PropertyName &/*propertyName*/, const QString &/*expression*/) { return false; } -bool ObjectNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &/*target*/, const QString &/*propertyName*/, const QVariant &/*resetValue*/) +bool ObjectNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &/*target*/, const PropertyName &/*propertyName*/, const QVariant &/*resetValue*/) { return false; } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h index 3e022089fa..64ff48f0e3 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h @@ -90,7 +90,7 @@ public: Pointer parentInstance() const; - virtual void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty); + virtual void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty); virtual void setId(const QString &id); virtual QString id() const; @@ -114,8 +114,8 @@ public: virtual int penWidth() const; - virtual bool hasAnchor(const QString &name) const; - virtual QPair<QString, ServerNodeInstance> anchor(const QString &name) const; + virtual bool hasAnchor(const PropertyName &name) const; + virtual QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; virtual bool isAnchoredBySibling() const; virtual bool isAnchoredByChildren() const; @@ -125,17 +125,17 @@ public: virtual QPointF transformOriginPoint() const; virtual double zValue() const; - virtual void setPropertyVariant(const QString &name, const QVariant &value); - virtual void setPropertyBinding(const QString &name, const QString &expression); - virtual QVariant property(const QString &name) const; - virtual void resetProperty(const QString &name); - virtual void refreshProperty(const QString &name); - virtual QString instanceType(const QString &name) const; - QStringList propertyNames() const; + virtual void setPropertyVariant(const PropertyName &name, const QVariant &value); + virtual void setPropertyBinding(const PropertyName &name, const QString &expression); + virtual QVariant property(const PropertyName &name) const; + virtual void resetProperty(const PropertyName &name); + virtual void refreshProperty(const PropertyName &name); + virtual QString instanceType(const PropertyName &name) const; + PropertyNameList propertyNames() const; virtual QList<ServerNodeInstance> childItems() const; - void createDynamicProperty(const QString &name, const QString &typeName); + void createDynamicProperty(const PropertyName &name, const QString &typeName); void setDeleteHeldInstance(bool deleteInstance); bool deleteHeldInstance() const; @@ -146,10 +146,10 @@ public: virtual void deactivateState(); void populateResetHashes(); - bool hasValidResetBinding(const QString &propertyName) const; - QDeclarativeAbstractBinding *resetBinding(const QString &propertyName) const; - QVariant resetValue(const QString &propertyName) const; - void setResetValue(const QString &propertyName, const QVariant &value); + bool hasValidResetBinding(const PropertyName &propertyName) const; + QDeclarativeAbstractBinding *resetBinding(const PropertyName &propertyName) const; + QVariant resetValue(const PropertyName &propertyName) const; + void setResetValue(const PropertyName &propertyName, const QVariant &value); QObject *object() const; @@ -160,14 +160,14 @@ public: void setInPositioner(bool isInPositioner); virtual void refreshPositioner(); - bool hasBindingForProperty(const QString &name, bool *hasChanged = 0) const; + bool hasBindingForProperty(const PropertyName &name, bool *hasChanged = 0) const; QDeclarativeContext *context() const; QDeclarativeEngine *engine() const; - virtual bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value); - virtual bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QString &expression); - virtual bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &resetValue); + virtual bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value); + virtual bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression); + virtual bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &resetValue); bool isValid() const; @@ -182,22 +182,22 @@ public: static QVariant fixResourcePaths(const QVariant &value); protected: - void doResetProperty(const QString &propertyName); - void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty); - void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty); + void doResetProperty(const PropertyName &propertyName); + void removeFromOldProperty(QObject *object, QObject *oldParent, const PropertyName &oldParentProperty); + void addToNewProperty(QObject *object, QObject *newParent, const PropertyName &newParentProperty); void deleteObjectsInList(const QDeclarativeProperty &metaProperty); QVariant convertSpecialCharacter(const QVariant& value) const; private: - QHash<QString, QVariant> m_resetValueHash; - QHash<QString, QWeakPointer<QDeclarativeAbstractBinding> > m_resetBindingHash; - QHash<QString, ServerNodeInstance> m_modelAbstractPropertyHash; - mutable QHash<QString, bool> m_hasBindingHash; + QHash<PropertyName, QVariant> m_resetValueHash; + QHash<PropertyName, QWeakPointer<QDeclarativeAbstractBinding> > m_resetBindingHash; + QHash<PropertyName, ServerNodeInstance> m_modelAbstractPropertyHash; + mutable QHash<PropertyName, bool> m_hasBindingHash; qint32 m_instanceId; QString m_id; QWeakPointer<NodeInstanceServer> m_nodeInstanceServer; - QString m_parentProperty; + PropertyName m_parentProperty; bool m_deleteHeldInstance; QWeakPointer<QObject> m_object; NodeInstanceMetaObject *m_metaObject; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp index daf675b193..4246429155 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.cpp @@ -48,7 +48,7 @@ bool PositionerNodeInstance::isResizable() const return true; } -void PositionerNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void PositionerNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "move" || name == "add") return; @@ -56,7 +56,7 @@ void PositionerNodeInstance::setPropertyVariant(const QString &name, const QVari QmlGraphicsItemNodeInstance::setPropertyVariant(name, value); } -void PositionerNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void PositionerNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { if (name == "move" || name == "add") return; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h index 60060008b1..a789375d24 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/positionernodeinstance.h @@ -47,8 +47,8 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); bool isPositioner() const; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp index 185ad48445..b0647a72b4 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.cpp @@ -121,7 +121,7 @@ QSizeF QmlGraphicsItemNodeInstance::size() const return QSizeF(width, height); } -void QmlGraphicsItemNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlGraphicsItemNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "state") return; // states are only set by us @@ -155,7 +155,7 @@ void QmlGraphicsItemNodeInstance::setPropertyVariant(const QString &name, const parentInstance()->refreshPositioner(); } -void QmlGraphicsItemNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void QmlGraphicsItemNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { if (name == "state") return; // states are only set by us @@ -163,7 +163,7 @@ void QmlGraphicsItemNodeInstance::setPropertyBinding(const QString &name, const GraphicsObjectNodeInstance::setPropertyBinding(name, expression); } -QVariant QmlGraphicsItemNodeInstance::property(const QString &name) const +QVariant QmlGraphicsItemNodeInstance::property(const PropertyName &name) const { return GraphicsObjectNodeInstance::property(name); } @@ -273,7 +273,7 @@ bool QmlGraphicsItemNodeInstance::isVisible() const return qmlGraphicsItem()->isVisible(); } -void QmlGraphicsItemNodeInstance::resetProperty(const QString &name) +void QmlGraphicsItemNodeInstance::resetProperty(const PropertyName &name) { if (name == "height") { m_hasHeight = false; @@ -329,7 +329,7 @@ void QmlGraphicsItemNodeInstance::resetProperty(const QString &name) parentInstance()->refreshPositioner(); } -void QmlGraphicsItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty) +void QmlGraphicsItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty) { if (oldParentInstance && oldParentInstance->isPositioner()) { setInPositioner(false); @@ -359,7 +359,7 @@ void QmlGraphicsItemNodeInstance::reparent(const ObjectNodeInstance::Pointer &ol parentInstance()->refreshPositioner(); } -QDeclarativeAnchors::Anchor anchorLineFlagForName(const QString &name) +QDeclarativeAnchors::Anchor anchorLineFlagForName(const PropertyName &name) { if (name == "anchors.top") return QDeclarativeAnchors::TopAnchor; @@ -387,7 +387,7 @@ QDeclarativeAnchors::Anchor anchorLineFlagForName(const QString &name) return QDeclarativeAnchors::LeftAnchor; } -QString propertyNameForAnchorLine(const QDeclarativeAnchorLine::AnchorLine &anchorLine) +PropertyName propertyNameForAnchorLine(const QDeclarativeAnchorLine::AnchorLine &anchorLine) { switch(anchorLine) { case QDeclarativeAnchorLine::Left: return "left"; @@ -398,13 +398,13 @@ QString propertyNameForAnchorLine(const QDeclarativeAnchorLine::AnchorLine &anch case QDeclarativeAnchorLine::VCenter: return "verticalCenter"; case QDeclarativeAnchorLine::Baseline: return "baseline"; case QDeclarativeAnchorLine::Invalid: - default: return QString(); + default: return PropertyName(); } } -static bool isValidAnchorName(const QString &name) +static bool isValidAnchorName(const PropertyName &name) { - static QStringList anchorNameList(QStringList() << "anchors.top" + static PropertyNameList anchorNameList(PropertyNameList() << "anchors.top" << "anchors.left" << "anchors.right" << "anchors.bottom" @@ -417,13 +417,13 @@ static bool isValidAnchorName(const QString &name) return anchorNameList.contains(name); } -QPair<QString, ServerNodeInstance> QmlGraphicsItemNodeInstance::anchor(const QString &name) const +QPair<PropertyName, ServerNodeInstance> QmlGraphicsItemNodeInstance::anchor(const PropertyName &name) const { if (!isValidAnchorName(name) || !hasAnchor(name)) return GraphicsObjectNodeInstance::anchor(name); QObject *targetObject = 0; - QString targetName; + PropertyName targetName; if (name == "anchors.fill") { targetObject = anchors()->fill(); @@ -462,7 +462,7 @@ QList<ServerNodeInstance> QmlGraphicsItemNodeInstance::stateInstances() const return instanceList; } -bool QmlGraphicsItemNodeInstance::hasAnchor(const QString &name) const +bool QmlGraphicsItemNodeInstance::hasAnchor(const PropertyName &name) const { if (!isValidAnchorName(name)) return false; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h index ffa08a75a6..89be53582d 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlgraphicsitemnodeinstance.h @@ -53,18 +53,18 @@ public: QSizeF size() const; // void updateAnchors(); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); - QVariant property(const QString &name) const; - void resetProperty(const QString &name); + QVariant property(const PropertyName &name) const; + void resetProperty(const PropertyName &name); - void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const QString &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const QString &newParentProperty); + void reparent(const ObjectNodeInstance::Pointer &oldParentInstance, const PropertyName &oldParentProperty, const ObjectNodeInstance::Pointer &newParentInstance, const PropertyName &newParentProperty); int penWidth() const; - bool hasAnchor(const QString &name) const; - QPair<QString, ServerNodeInstance> anchor(const QString &name) const; + bool hasAnchor(const PropertyName &name) const; + QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; bool isAnchoredBySibling() const; bool isAnchoredByChildren() const; void doComponentComplete(); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp index 28227b8e8e..41c11b92c1 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.cpp @@ -61,14 +61,14 @@ QmlPropertyChangesNodeInstance::Pointer QmlPropertyChangesNodeInstance::create(Q return instance; } -void QmlPropertyChangesNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlPropertyChangesNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { QMetaObject metaObject = QDeclarativePropertyChanges::staticMetaObject; - if (metaObject.indexOfProperty(name.toLatin1()) > 0) { // 'restoreEntryValues', 'explicit' + if (metaObject.indexOfProperty(name) > 0) { // 'restoreEntryValues', 'explicit' ObjectNodeInstance::setPropertyVariant(name, value); } else { - changesObject()->changeValue(name.toLatin1(), value); + changesObject()->changeValue(name, value); QObject *targetObject = changesObject()->object(); if (targetObject && nodeInstanceServer()->activeStateInstance().isWrappingThisObject(changesObject()->state())) { ServerNodeInstance targetInstance = nodeInstanceServer()->instanceForObject(targetObject); @@ -77,29 +77,29 @@ void QmlPropertyChangesNodeInstance::setPropertyVariant(const QString &name, con } } -void QmlPropertyChangesNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void QmlPropertyChangesNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { QMetaObject metaObject = QDeclarativePropertyChanges::staticMetaObject; - if (metaObject.indexOfProperty(name.toLatin1()) > 0) { // 'restoreEntryValues', 'explicit' + if (metaObject.indexOfProperty(name) > 0) { // 'restoreEntryValues', 'explicit' ObjectNodeInstance::setPropertyBinding(name, expression); } else { - changesObject()->changeExpression(name.toLatin1(), expression); + changesObject()->changeExpression(name, expression); } } -QVariant QmlPropertyChangesNodeInstance::property(const QString &name) const +QVariant QmlPropertyChangesNodeInstance::property(const PropertyName &name) const { - return changesObject()->property(name.toLatin1()); + return changesObject()->property(name); } -void QmlPropertyChangesNodeInstance::resetProperty(const QString &name) +void QmlPropertyChangesNodeInstance::resetProperty(const PropertyName &name) { - changesObject()->removeProperty(name.toLatin1()); + changesObject()->removeProperty(name); } -void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty) +void QmlPropertyChangesNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty) { changesObject()->detachFromState(); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h index 6f1b1c417e..f0229f008f 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlpropertychangesnodeinstance.h @@ -55,13 +55,13 @@ public: static Pointer create(QObject *objectToBeWrapped); - virtual void setPropertyVariant(const QString &name, const QVariant &value); - virtual void setPropertyBinding(const QString &name, const QString &expression); - virtual QVariant property(const QString &name) const; - virtual void resetProperty(const QString &name); + virtual void setPropertyVariant(const PropertyName &name, const QVariant &value); + virtual void setPropertyBinding(const PropertyName &name, const QString &expression); + virtual QVariant property(const PropertyName &name) const; + virtual void resetProperty(const PropertyName &name); using ObjectNodeInstance::reparent; // keep the virtual reparent(...) method around - void reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty); + void reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty); protected: QmlPropertyChangesNodeInstance(QDeclarativePropertyChanges *object); diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.cpp index d9ffb55590..0848e58232 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.cpp @@ -99,7 +99,7 @@ bool QmlStateNodeInstance::isStateActive() const return stateObject() && stateGroup() && stateGroup()->state() == property("name"); } -void QmlStateNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlStateNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { bool hasParent = parent(); bool isStateOfTheRootModelNode = parentInstance() && parentInstance()->isRootNodeInstance(); @@ -109,7 +109,7 @@ void QmlStateNodeInstance::setPropertyVariant(const QString &name, const QVarian ObjectNodeInstance::setPropertyVariant(name, value); } -void QmlStateNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void QmlStateNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { bool hasParent = parent(); bool isStateOfTheRootModelNode = parentInstance() && parentInstance()->isRootNodeInstance(); @@ -119,19 +119,19 @@ void QmlStateNodeInstance::setPropertyBinding(const QString &name, const QString ObjectNodeInstance::setPropertyBinding(name, expression); } -bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value) +bool QmlStateNodeInstance::updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value) { - return stateObject()->changeValueInRevertList(target->object(), propertyName.toLatin1(), value); + return stateObject()->changeValueInRevertList(target->object(), propertyName, value); } -bool QmlStateNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QString &expression) +bool QmlStateNodeInstance::updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression) { - return stateObject()->changeValueInRevertList(target->object(), propertyName.toLatin1(), expression); + return stateObject()->changeValueInRevertList(target->object(), propertyName, expression); } -bool QmlStateNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant & /* resetValue */) +bool QmlStateNodeInstance::resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant & /* resetValue */) { - return stateObject()->removeEntryFromRevertList(target->object(), propertyName.toLatin1()); + return stateObject()->removeEntryFromRevertList(target->object(), propertyName); } } // namespace Internal diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.h index d37d5b993c..990f245eef 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmlstatenodeinstance.h @@ -49,15 +49,15 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyBinding(const PropertyName &name, const QString &expression); void activateState(); void deactivateState(); - bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &value); - bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QString &expression); - bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const QString &propertyName, const QVariant &resetValue); + bool updateStateVariant(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &value); + bool updateStateBinding(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QString &expression); + bool resetStateProperty(const ObjectNodeInstance::Pointer &target, const PropertyName &propertyName, const QVariant &resetValue); protected: diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.cpp index 79e2aa6b9b..26cf4f42d7 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.cpp @@ -59,7 +59,7 @@ bool QmlTransitionNodeInstance::isTransition() const return true; } -void QmlTransitionNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void QmlTransitionNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { if (name == "from" || name == "to") return; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.h index fc14f14321..b7a7e6e27c 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/qmltransitionnodeinstance.h @@ -47,7 +47,7 @@ public: static Pointer create(QObject *objectToBeWrapped); - void setPropertyVariant(const QString &name, const QVariant &value); + void setPropertyVariant(const PropertyName &name, const QVariant &value); bool isTransition() const; diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.cpp index 3120179c0d..33abe33064 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.cpp @@ -226,7 +226,7 @@ ServerNodeInstance ServerNodeInstance::create(NodeInstanceServer *nodeInstanceSe return instance; } -void ServerNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty) +void ServerNodeInstance::reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty) { m_nodeInstance->reparent(oldParentInstance.m_nodeInstance, oldParentProperty, newParentInstance.m_nodeInstance, newParentProperty); } @@ -283,35 +283,35 @@ QRectF ServerNodeInstance::boundingRect() const return boundingRect; } -void ServerNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) +void ServerNodeInstance::setPropertyVariant(const PropertyName &name, const QVariant &value) { m_nodeInstance->setPropertyVariant(name, value); } -void ServerNodeInstance::setPropertyDynamicVariant(const QString &name, const QString &typeName, const QVariant &value) +void ServerNodeInstance::setPropertyDynamicVariant(const PropertyName &name, const TypeName &typeName, const QVariant &value) { m_nodeInstance->createDynamicProperty(name, typeName); m_nodeInstance->setPropertyVariant(name, value); } -void ServerNodeInstance::setPropertyBinding(const QString &name, const QString &expression) +void ServerNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { m_nodeInstance->setPropertyBinding(name, expression); } -void ServerNodeInstance::setPropertyDynamicBinding(const QString &name, const QString &typeName, const QString &expression) +void ServerNodeInstance::setPropertyDynamicBinding(const PropertyName &name, const TypeName &typeName, const QString &expression) { m_nodeInstance->createDynamicProperty(name, typeName); m_nodeInstance->setPropertyBinding(name, expression); } -void ServerNodeInstance::resetProperty(const QString &name) +void ServerNodeInstance::resetProperty(const PropertyName &name) { m_nodeInstance->resetProperty(name); } -void ServerNodeInstance::refreshProperty(const QString &name) +void ServerNodeInstance::refreshProperty(const PropertyName &name) { m_nodeInstance->refreshProperty(name); } @@ -325,17 +325,17 @@ void ServerNodeInstance::setId(const QString &id) \brief Returns the property value of the property of this NodeInstance. \returns QVariant value */ -QVariant ServerNodeInstance::property(const QString &name) const +QVariant ServerNodeInstance::property(const PropertyName &name) const { return m_nodeInstance->property(name); } -QStringList ServerNodeInstance::propertyNames() const +PropertyNameList ServerNodeInstance::propertyNames() const { return m_nodeInstance->propertyNames(); } -bool ServerNodeInstance::hasBindingForProperty(const QString &name, bool *hasChanged) const +bool ServerNodeInstance::hasBindingForProperty(const PropertyName &name, bool *hasChanged) const { return m_nodeInstance->hasBindingForProperty(name, hasChanged); } @@ -344,7 +344,7 @@ bool ServerNodeInstance::hasBindingForProperty(const QString &name, bool *hasCha \brief Returns the property default value of the property of this NodeInstance. \returns QVariant default value which is the reset value to */ -QVariant ServerNodeInstance::defaultValue(const QString &name) const +QVariant ServerNodeInstance::defaultValue(const PropertyName &name) const { return m_nodeInstance->resetValue(name); } @@ -352,7 +352,7 @@ QVariant ServerNodeInstance::defaultValue(const QString &name) const /*! \brief Returns the type of the property of this NodeInstance. */ -QString ServerNodeInstance::instanceType(const QString &name) const +QString ServerNodeInstance::instanceType(const PropertyName &name) const { return m_nodeInstance->instanceType(name); } @@ -384,7 +384,7 @@ bool ServerNodeInstance::isInPositioner() const return m_nodeInstance->isInPositioner(); } -bool ServerNodeInstance::hasAnchor(const QString &name) const +bool ServerNodeInstance::hasAnchor(const PropertyName &name) const { return m_nodeInstance->hasAnchor(name); } @@ -404,7 +404,7 @@ bool ServerNodeInstance::isAnchoredByChildren() const return m_nodeInstance->isAnchoredByChildren(); } -QPair<QString, ServerNodeInstance> ServerNodeInstance::anchor(const QString &name) const +QPair<PropertyName, ServerNodeInstance> ServerNodeInstance::anchor(const PropertyName &name) const { return m_nodeInstance->anchor(name); } @@ -542,22 +542,22 @@ void ServerNodeInstance::deactivateState() m_nodeInstance->deactivateState(); } -bool ServerNodeInstance::updateStateVariant(const ServerNodeInstance &target, const QString &propertyName, const QVariant &value) +bool ServerNodeInstance::updateStateVariant(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &value) { return m_nodeInstance->updateStateVariant(target.internalInstance(), propertyName, value); } -bool ServerNodeInstance::updateStateBinding(const ServerNodeInstance &target, const QString &propertyName, const QString &expression) +bool ServerNodeInstance::updateStateBinding(const ServerNodeInstance &target, const PropertyName &propertyName, const QString &expression) { return m_nodeInstance->updateStateBinding(target.internalInstance(), propertyName, expression); } -QVariant ServerNodeInstance::resetVariant(const QString &propertyName) const +QVariant ServerNodeInstance::resetVariant(const PropertyName &propertyName) const { return m_nodeInstance->resetValue(propertyName); } -bool ServerNodeInstance::resetStateProperty(const ServerNodeInstance &target, const QString &propertyName, const QVariant &resetValue) +bool ServerNodeInstance::resetStateProperty(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &resetValue) { return m_nodeInstance->resetStateProperty(target.internalInstance(), propertyName, resetValue); } diff --git a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.h b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.h index 20a1880554..9f49fd76ac 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/servernodeinstance.h @@ -114,13 +114,13 @@ public: double zValue() const; double opacity() const; - QVariant property(const QString &name) const; - QVariant defaultValue(const QString &name) const; - QString instanceType(const QString &name) const; - QStringList propertyNames() const; + QVariant property(const PropertyName &name) const; + QVariant defaultValue(const PropertyName &name) const; + QString instanceType(const PropertyName &name) const; + PropertyNameList propertyNames() const; - bool hasBindingForProperty(const QString &name, bool *hasChanged = 0) const; + bool hasBindingForProperty(const PropertyName &name, bool *hasChanged = 0) const; bool isValid() const; void makeInvalid(); @@ -134,12 +134,12 @@ public: bool isWrappingThisObject(QObject *object) const; - QVariant resetVariant(const QString &name) const; + QVariant resetVariant(const PropertyName &name) const; - bool hasAnchor(const QString &name) const; + bool hasAnchor(const PropertyName &name) const; bool isAnchoredBySibling() const; bool isAnchoredByChildren() const; - QPair<QString, ServerNodeInstance> anchor(const QString &name) const; + QPair<PropertyName, ServerNodeInstance> anchor(const PropertyName &name) const; int penWidth() const; @@ -160,27 +160,27 @@ public: private: // functions ServerNodeInstance(const QSharedPointer<Internal::ObjectNodeInstance> &abstractInstance); - void setPropertyVariant(const QString &name, const QVariant &value); - void setPropertyDynamicVariant(const QString &name, const QString &typeName, const QVariant &value); + void setPropertyVariant(const PropertyName &name, const QVariant &value); + void setPropertyDynamicVariant(const PropertyName &name, const TypeName &typeName, const QVariant &value); - void setPropertyBinding(const QString &name, const QString &expression); - void setPropertyDynamicBinding(const QString &name, const QString &typeName, const QString &expression); + void setPropertyBinding(const PropertyName &name, const QString &expression); + void setPropertyDynamicBinding(const PropertyName &name, const TypeName &typeName, const QString &expression); - void resetProperty(const QString &name); - void refreshProperty(const QString &name); + void resetProperty(const PropertyName &name); + void refreshProperty(const PropertyName &name); void activateState(); void deactivateState(); void refreshState(); - bool updateStateVariant(const ServerNodeInstance &target, const QString &propertyName, const QVariant &value); - bool updateStateBinding(const ServerNodeInstance &target, const QString &propertyName, const QString &expression); - bool resetStateProperty(const ServerNodeInstance &target, const QString &propertyName, const QVariant &resetValue); + bool updateStateVariant(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &value); + bool updateStateBinding(const ServerNodeInstance &target, const PropertyName &propertyName, const QString &expression); + bool resetStateProperty(const ServerNodeInstance &target, const PropertyName &propertyName, const QVariant &resetValue); static ServerNodeInstance create(NodeInstanceServer *nodeInstanceServer, const InstanceContainer &instanceContainer, ComponentWrap componentWrap); void setDeleteHeldInstance(bool deleteInstance); - void reparent(const ServerNodeInstance &oldParentInstance, const QString &oldParentProperty, const ServerNodeInstance &newParentInstance, const QString &newParentProperty); + void reparent(const ServerNodeInstance &oldParentInstance, const PropertyName &oldParentProperty, const ServerNodeInstance &newParentInstance, const PropertyName &newParentProperty); void setId(const QString &id); diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp index b171840736..a199c22c20 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp @@ -120,7 +120,7 @@ public: setupContext(); } - virtual void instancePropertyChange(const QList<QPair<ModelNode, QString> > &) + virtual void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &) {} virtual void instancesCompleted(const QVector<ModelNode> &) diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp index f2a94ea5e7..675f8b8b13 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp @@ -52,49 +52,49 @@ static inline bool checkIfNodeIsAView(const ModelNode &node) node.metaInfo().isSubclassOf("QtQuick.PathView", -1, -1)); } -static inline void getProperties(const ModelNode node, QHash<QString, QVariant> &propertyHash) +static inline void getProperties(const ModelNode node, QHash<PropertyName, QVariant> &propertyHash) { if (QmlObjectNode(node).isValid()) { - foreach (const QString &propertyName, node.propertyNames()) { + foreach (const PropertyName &propertyName, node.propertyNames()) { if (node.property(propertyName).isVariantProperty() || (node.property(propertyName).isBindingProperty() && - !propertyName.contains(QLatin1String("anchors.")))) { + !propertyName.contains("anchors."))) { propertyHash.insert(propertyName, QmlObjectNode(node).instanceValue(propertyName)); } } } QmlItemNode itemNode(node); if (itemNode.isValid()) { - propertyHash.insert(QLatin1String("width"), itemNode.instanceValue(QLatin1String("width"))); - propertyHash.insert(QLatin1String("height"), itemNode.instanceValue(QLatin1String("height"))); - propertyHash.remove(QLatin1String("x")); - propertyHash.remove(QLatin1String("y")); - propertyHash.remove(QLatin1String("rotation")); - propertyHash.remove(QLatin1String("opacity")); + propertyHash.insert("width", itemNode.instanceValue("width")); + propertyHash.insert("height", itemNode.instanceValue("height")); + propertyHash.remove("x"); + propertyHash.remove("y"); + propertyHash.remove("rotation"); + propertyHash.remove("opacity"); } } -static inline void applyProperties(ModelNode &node, const QHash<QString, QVariant> &propertyHash) +static inline void applyProperties(ModelNode &node, const QHash<PropertyName, QVariant> &propertyHash) { - QHash<QString, QVariant> auxiliaryData = node.auxiliaryData(); - foreach (const QString propertyName, auxiliaryData.keys()) { + QHash<PropertyName, QVariant> auxiliaryData = node.auxiliaryData(); + foreach (const PropertyName propertyName, auxiliaryData.keys()) { node.setAuxiliaryData(propertyName, QVariant()); } - QHashIterator<QString, QVariant> propertyIterator(propertyHash); + QHashIterator<PropertyName, QVariant> propertyIterator(propertyHash); while (propertyIterator.hasNext()) { propertyIterator.next(); - const QString propertyName = propertyIterator.key(); - if (propertyName == QLatin1String("width") || propertyName == QLatin1String("height")) { + const PropertyName propertyName = propertyIterator.key(); + if (propertyName == "width" || propertyName == "height") { node.setAuxiliaryData(propertyIterator.key(), propertyIterator.value()); } else if (node.property(propertyIterator.key()).isDynamic() && - node.property(propertyIterator.key()).dynamicTypeName() == QLatin1String("alias") && + node.property(propertyIterator.key()).dynamicTypeName() == "alias" && node.property(propertyIterator.key()).isBindingProperty()) { AbstractProperty targetProperty = node.bindingProperty(propertyIterator.key()).resolveToProperty(); if (targetProperty.isValid()) - targetProperty.parentModelNode().setAuxiliaryData(targetProperty.name() + QLatin1String("@NodeInstance"), propertyIterator.value()); + targetProperty.parentModelNode().setAuxiliaryData(targetProperty.name() + "@NodeInstance", propertyIterator.value()); } else { - node.setAuxiliaryData(propertyIterator.key() + QLatin1String("@NodeInstance"), propertyIterator.value()); + node.setAuxiliaryData(propertyIterator.key() + "@NodeInstance", propertyIterator.value()); } } } @@ -175,7 +175,7 @@ static inline void openFileForComponent(const ModelNode &node) //int width = 0; //int height = 0; - QHash<QString, QVariant> propertyHash; + QHash<PropertyName, QVariant> propertyHash; if (node.metaInfo().isFileComponent()) { //getWidthHeight(node, width, height); getProperties(node, propertyHash); @@ -202,7 +202,7 @@ static inline void openInlineComponent(const ModelNode &node) if (!currentDesignDocument()) return; - QHash<QString, QVariant> propertyHash; + QHash<PropertyName, QVariant> propertyHash; if (node.nodeSourceType() == ModelNode::NodeWithComponentSource) { //getWidthHeight(node, width, height); diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.h b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.h index 6a115ee966..3589943ba4 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.h +++ b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.h @@ -77,7 +77,7 @@ inline bool singleSelectionNotRoot(const SelectionContext &selectionState) inline bool selectionHasProperty(const SelectionContext &selectionState, const char *property) { foreach (const ModelNode &modelNode, selectionState.selectedModelNodes()) - if (modelNode.hasProperty(QLatin1String(property))) + if (modelNode.hasProperty(PropertyName(property))) return true; return false; } diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index 82982b6676..1ca3d33264 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -49,7 +49,7 @@ namespace QmlDesigner { -const QString auxDataString = QLatin1String("anchors_"); +const PropertyName auxDataString("anchors_"); static inline bool isItem(const ModelNode &node) { @@ -103,7 +103,7 @@ static inline void getWidthHeight(const ModelNode &node, int &width, int &height } } -static inline bool modelNodesHaveProperty(const QList<ModelNode> &modelNodeList, const QString &propertyName) +static inline bool modelNodesHaveProperty(const QList<ModelNode> &modelNodeList, const PropertyName &propertyName) { foreach (const ModelNode &modelNode, modelNodeList) if (modelNode.hasProperty(propertyName)) @@ -304,7 +304,7 @@ void resetZ(const SelectionContext &selectionState) } } -static inline void backupPropertyAndRemove(ModelNode node, const QString &propertyName) +static inline void backupPropertyAndRemove(ModelNode node, const PropertyName &propertyName) { if (node.hasVariantProperty(propertyName)) { node.setAuxiliaryData(auxDataString + propertyName, node.variantProperty(propertyName).value()); @@ -318,7 +318,7 @@ static inline void backupPropertyAndRemove(ModelNode node, const QString &proper } -static inline void restoreProperty(ModelNode node, const QString &propertyName) +static inline void restoreProperty(ModelNode node, const PropertyName &propertyName) { if (node.hasAuxiliaryData(auxDataString + propertyName)) node.variantProperty(propertyName) = node.auxiliaryData(auxDataString + propertyName); @@ -336,10 +336,10 @@ void anchorsFill(const SelectionContext &selectionState) QmlItemNode node = modelNode; if (node.isValid()) { node.anchors().fill(); - backupPropertyAndRemove(modelNode, QLatin1String("x")); - backupPropertyAndRemove(modelNode, QLatin1String("y")); - backupPropertyAndRemove(modelNode, QLatin1String("width")); - backupPropertyAndRemove(modelNode, QLatin1String("height")); + backupPropertyAndRemove(modelNode, "x"); + backupPropertyAndRemove(modelNode, "y"); + backupPropertyAndRemove(modelNode, "width"); + backupPropertyAndRemove(modelNode, "height"); } } @@ -372,7 +372,7 @@ static inline void reparentTo(const ModelNode &node, const QmlItemNode &parent) if (parent.hasDefaultProperty()) parentProperty = parent.nodeAbstractProperty(parent.defaultProperty()); else - parentProperty = parent.nodeAbstractProperty(QLatin1String("data")); + parentProperty = parent.nodeAbstractProperty("data"); parentProperty.reparentHere(node); } @@ -431,7 +431,7 @@ void layoutRow(const SelectionContext &selectionState) if (!selectionState.view()) return; - NodeMetaInfo rowMetaInfo = selectionState.view()->model()->metaInfo(QLatin1String("QtQuick.Row")); + NodeMetaInfo rowMetaInfo = selectionState.view()->model()->metaInfo("QtQuick.Row"); if (!rowMetaInfo.isValid()) return; @@ -448,7 +448,7 @@ void layoutRow(const SelectionContext &selectionState) qDebug() << parent.modelNode().majorQtQuickVersion(); - row = selectionState.view()->createModelNode(QLatin1String("QtQuick.Row"), rowMetaInfo.majorVersion(), rowMetaInfo.minorVersion()); + row = selectionState.view()->createModelNode("QtQuick.Row", rowMetaInfo.majorVersion(), rowMetaInfo.minorVersion()); reparentTo(row, parent); } @@ -457,16 +457,16 @@ void layoutRow(const SelectionContext &selectionState) RewriterTransaction transaction(selectionState.view()); QPoint pos = getUpperLeftPosition(modelNodeList); - row.variantProperty(QLatin1String("x")) = pos.x(); - row.variantProperty(QLatin1String("y")) = pos.y(); + row.variantProperty("x") = pos.x(); + row.variantProperty("y") = pos.y(); QList<ModelNode> sortedList = modelNodeList; qSort(sortedList.begin(), sortedList.end(), compareByX); foreach (ModelNode modelNode, sortedList) { reparentTo(modelNode, row); - modelNode.removeProperty(QLatin1String("x")); - modelNode.removeProperty(QLatin1String("y")); + modelNode.removeProperty("x"); + modelNode.removeProperty("y"); } } } @@ -476,7 +476,7 @@ void layoutColumn(const SelectionContext &selectionState) if (!selectionState.view()) return; - NodeMetaInfo columnMetaInfo = selectionState.view()->model()->metaInfo(QLatin1String("QtQuick.Column")); + NodeMetaInfo columnMetaInfo = selectionState.view()->model()->metaInfo("QtQuick.Column"); if (!columnMetaInfo.isValid()) return; @@ -491,7 +491,7 @@ void layoutColumn(const SelectionContext &selectionState) if (!parent.isValid()) return; - column = selectionState.view()->createModelNode(QLatin1String("QtQuick.Column"), columnMetaInfo.majorVersion(), columnMetaInfo.minorVersion()); + column = selectionState.view()->createModelNode("QtQuick.Column", columnMetaInfo.majorVersion(), columnMetaInfo.minorVersion()); reparentTo(column, parent); } @@ -500,16 +500,16 @@ void layoutColumn(const SelectionContext &selectionState) RewriterTransaction transaction(selectionState.view()); QPoint pos = getUpperLeftPosition(modelNodeList); - column.variantProperty(QLatin1String("x")) = pos.x(); - column.variantProperty(QLatin1String("y")) = pos.y(); + column.variantProperty("x") = pos.x(); + column.variantProperty("y") = pos.y(); QList<ModelNode> sortedList = modelNodeList; qSort(sortedList.begin(), sortedList.end(), compareByY); foreach (ModelNode modelNode, sortedList) { reparentTo(modelNode, column); - modelNode.removeProperty(QLatin1String("x")); - modelNode.removeProperty(QLatin1String("y")); + modelNode.removeProperty("x"); + modelNode.removeProperty("y"); } } } @@ -519,7 +519,7 @@ void layoutGrid(const SelectionContext &selectionState) if (!selectionState.view()) return; - NodeMetaInfo gridMetaInfo = selectionState.view()->model()->metaInfo(QLatin1String("QtQuick.Grid")); + NodeMetaInfo gridMetaInfo = selectionState.view()->model()->metaInfo("QtQuick.Grid"); if (!gridMetaInfo.isValid()) return; @@ -534,8 +534,8 @@ void layoutGrid(const SelectionContext &selectionState) if (!parent.isValid()) return; - grid = selectionState.view()->createModelNode(QLatin1String("QtQuick.Grid"), gridMetaInfo.majorVersion(), gridMetaInfo.minorVersion()); - grid.variantProperty(QLatin1String("columns")) = int(sqrt(double(modelNodeList.count()))); + grid = selectionState.view()->createModelNode("QtQuick.Grid", gridMetaInfo.majorVersion(), gridMetaInfo.minorVersion()); + grid.variantProperty("columns") = int(sqrt(double(modelNodeList.count()))); reparentTo(grid, parent); } @@ -544,16 +544,16 @@ void layoutGrid(const SelectionContext &selectionState) RewriterTransaction transaction(selectionState.view()); QPoint pos = getUpperLeftPosition(modelNodeList); - grid.variantProperty(QLatin1String("x")) = pos.x(); - grid.variantProperty(QLatin1String("y")) = pos.y(); + grid.variantProperty("x") = pos.x(); + grid.variantProperty("y") = pos.y(); QList<ModelNode> sortedList = modelNodeList; qSort(sortedList.begin(), sortedList.end(), compareByGrid); foreach (ModelNode modelNode, sortedList) { reparentTo(modelNode, grid); - modelNode.removeProperty(QLatin1String("x")); - modelNode.removeProperty(QLatin1String("y")); + modelNode.removeProperty("x"); + modelNode.removeProperty("y"); } } } @@ -563,7 +563,7 @@ void layoutFlow(const SelectionContext &selectionState) if (!selectionState.view()) return; - NodeMetaInfo flowMetaInfo = selectionState.view()->model()->metaInfo(QLatin1String("QtQuick.Flow")); + NodeMetaInfo flowMetaInfo = selectionState.view()->model()->metaInfo("QtQuick.Flow"); if (!flowMetaInfo.isValid()) return; @@ -578,7 +578,7 @@ void layoutFlow(const SelectionContext &selectionState) if (!parent.isValid()) return; - flow = selectionState.view()->createModelNode(QLatin1String("QtQuick.Flow"), flowMetaInfo.majorVersion(), flowMetaInfo.minorVersion()); + flow = selectionState.view()->createModelNode("QtQuick.Flow", flowMetaInfo.majorVersion(), flowMetaInfo.minorVersion()); reparentTo(flow, parent); } @@ -587,16 +587,16 @@ void layoutFlow(const SelectionContext &selectionState) RewriterTransaction transaction(selectionState.view()); QPoint pos = getUpperLeftPosition(modelNodeList); - flow.variantProperty(QLatin1String("x")) = pos.x(); - flow.variantProperty(QLatin1String("y")) = pos.y(); + flow.variantProperty("x") = pos.x(); + flow.variantProperty("y") = pos.y(); QList<ModelNode> sortedList = modelNodeList; qSort(sortedList.begin(), sortedList.end(), compareByGrid); foreach (ModelNode modelNode, sortedList) { reparentTo(modelNode, flow); - modelNode.removeProperty(QLatin1String("x")); - modelNode.removeProperty(QLatin1String("y")); + modelNode.removeProperty("x"); + modelNode.removeProperty("y"); } } } diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index 23c6db6965..467340315c 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -548,14 +548,14 @@ QmlItemNode findRecursiveQmlItemNode(const QmlObjectNode &firstQmlObjectNode) return QmlItemNode(); } -void FormEditorView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList) +void FormEditorView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList) { - typedef QPair<ModelNode, QString> NodePropertyPair; + typedef QPair<ModelNode, PropertyName> NodePropertyPair; foreach (const NodePropertyPair &nodePropertyPair, propertyList) { const QmlItemNode itemNode(nodePropertyPair.first); - const QString propertyName = nodePropertyPair.second; + const PropertyName propertyName = nodePropertyPair.second; if (itemNode.isValid() && scene()->hasItemForQmlItemNode(itemNode)) { - static QStringList skipList = QStringList() << "x" << "y" << "width" << "height"; + static PropertyNameList skipList = PropertyNameList() << "x" << "y" << "width" << "height"; if (!skipList.contains(propertyName)) { m_scene->synchronizeOtherProperty(itemNode, propertyName); m_currentTool->formEditorItemsChanged(QList<FormEditorItem*>() << m_scene->itemForQmlItemNode(itemNode)); diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.h b/src/plugins/qmldesigner/components/formeditor/formeditorview.h index b40040efdc..c4e2f97d67 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.h +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.h @@ -106,7 +106,7 @@ public: void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList); void instancesChildrenChanged(const QVector<ModelNode> &nodeList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesToken(const QString &tokenName, int tokenNumber, const QVector<ModelNode> &nodeVector); void rewriterBeginTransaction(); diff --git a/src/plugins/qmldesigner/components/integration/componentview.cpp b/src/plugins/qmldesigner/components/integration/componentview.cpp index 583c191025..b0bd1f81f4 100644 --- a/src/plugins/qmldesigner/components/integration/componentview.cpp +++ b/src/plugins/qmldesigner/components/integration/componentview.cpp @@ -195,7 +195,7 @@ void ComponentView::variantPropertiesChanged(const QList<VariantProperty>& /*pro void ComponentView::bindingPropertiesChanged(const QList<BindingProperty>& /*propertyList*/, PropertyChangeFlags /*propertyChange*/) {} void ComponentView::rootNodeTypeChanged(const QString &/*type*/, int /*majorVersion*/, int /*minorVersion*/) {} void ComponentView::scriptFunctionsChanged(const ModelNode &/*node*/, const QStringList &/*scriptFunctionList*/) {} -void ComponentView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &/*propertyList*/) {} +void ComponentView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &/*propertyList*/) {} void ComponentView::instancesCompleted(const QVector<ModelNode> &/*completedNodeList*/) {} void ComponentView::instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &/*informationChangeHash*/) {} void ComponentView::instancesRenderImageChanged(const QVector<ModelNode> &/*nodeList*/) {} diff --git a/src/plugins/qmldesigner/components/integration/componentview.h b/src/plugins/qmldesigner/components/integration/componentview.h index a3e7777453..09edd7a07d 100644 --- a/src/plugins/qmldesigner/components/integration/componentview.h +++ b/src/plugins/qmldesigner/components/integration/componentview.h @@ -73,7 +73,7 @@ public: void bindingPropertiesChanged(const QList<BindingProperty>& propertyList, PropertyChangeFlags propertyChange); void rootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion); void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &/*informationChangeHash*/); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index a9aac86594..a1c7db0972 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -567,7 +567,7 @@ void DesignDocument::paste() int offset = double(qrand()) / RAND_MAX * 20 - 10; foreach (const ModelNode &node, selectedNodes) { - QString defaultProperty(targetNode.metaInfo().defaultPropertyName()); + PropertyName defaultProperty(targetNode.metaInfo().defaultPropertyName()); ModelNode pastedNode(view.insertModel(node)); pastedNodeList.append(pastedNode); scatterItem(pastedNode, targetNode, offset); @@ -600,7 +600,7 @@ void DesignDocument::paste() targetNode = targetNode.parentProperty().parentModelNode(); - QString defaultProperty(targetNode.metaInfo().defaultPropertyName()); + PropertyName defaultProperty(targetNode.metaInfo().defaultPropertyName()); scatterItem(pastedNode, targetNode); if (targetNode.nodeListProperty(defaultProperty).isValid()) diff --git a/src/plugins/qmldesigner/components/integration/designdocumentview.cpp b/src/plugins/qmldesigner/components/integration/designdocumentview.cpp index f82e7f5c8a..ccebc4239a 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentview.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentview.cpp @@ -70,7 +70,7 @@ void DesignDocumentView::scriptFunctionsChanged(const ModelNode &/*node*/, const { } -void DesignDocumentView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &/*propertyList*/) +void DesignDocumentView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &/*propertyList*/) { } @@ -128,7 +128,7 @@ void DesignDocumentView::importsChanged(const QList<Import> &/*addedImports*/, c static QStringList arrayToStringList(const QByteArray &byteArray) { - QString str(QString::fromLatin1(byteArray)); + QString str(QString::fromUtf8(byteArray)); return str.split('\n'); } @@ -137,7 +137,7 @@ static QByteArray stringListToArray(const QStringList &stringList) QString str; foreach (const QString &subString, stringList) str += subString + '\n'; - return str.toLatin1(); + return str.toUtf8(); } void DesignDocumentView::toClipboard() const diff --git a/src/plugins/qmldesigner/components/integration/designdocumentview.h b/src/plugins/qmldesigner/components/integration/designdocumentview.h index 1739907b9e..1555543e7a 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentview.h +++ b/src/plugins/qmldesigner/components/integration/designdocumentview.h @@ -59,7 +59,7 @@ public: virtual void nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &movedNode, int oldIndex); virtual void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index 5ab95e98a1..e3182b613d 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -519,7 +519,7 @@ int ItemLibraryModel::getWidth(const ItemLibraryEntry &itemLibraryEntry) { foreach (const ItemLibraryEntry::Property &property, itemLibraryEntry.properties()) { - if (property.name() == QLatin1String("width")) + if (property.name() == "width") return property.value().toInt(); } return 64; @@ -529,7 +529,7 @@ int ItemLibraryModel::getHeight(const ItemLibraryEntry &itemLibraryEntry) { foreach (const ItemLibraryEntry::Property &property, itemLibraryEntry.properties()) { - if (property.name() == QLatin1String("height")) + if (property.name() == "height") return property.value().toInt(); } return 64; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp index a2098102f8..f12dc79348 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp @@ -145,7 +145,7 @@ void ItemLibraryView::scriptFunctionsChanged(const ModelNode &, const QStringLis } -void ItemLibraryView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &) +void ItemLibraryView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &) { } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h index 2b1245693d..a432c129fc 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h @@ -75,7 +75,7 @@ public: const QList<ModelNode> &lastSelectedNodeList); void auxiliaryDataChanged(const ModelNode &node, const QString &name, const QVariant &data); void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 5d7d801f29..15fdadeb52 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -236,7 +236,7 @@ void ItemLibraryWidget::setSearchFilter(const QString &searchFilter) nameFilterList.append(QString("*%1*").arg(searchFilter)); } else { foreach (const QByteArray &extension, QImageReader::supportedImageFormats()) { - nameFilterList.append(QString("*%1*.%2").arg(searchFilter, QString::fromLatin1(extension))); + nameFilterList.append(QString("*%1*.%2").arg(searchFilter, QString::fromUtf8(extension))); } } diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp index a4576b12c1..957b02a9e6 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp @@ -52,8 +52,8 @@ static inline void setScenePos(const QmlDesigner::ModelNode &modelNode,const QPo QmlDesigner::QmlItemNode parentNode = modelNode.parentProperty().parentQmlObjectNode().toQmlItemNode(); if (parentNode.isValid()) { QPointF localPos = parentNode.instanceSceneTransform().inverted().map(pos); - modelNode.variantProperty(QLatin1String("x")) = localPos.toPoint().x(); - modelNode.variantProperty(QLatin1String("y")) = localPos.toPoint().y(); + modelNode.variantProperty("x") = localPos.toPoint().x(); + modelNode.variantProperty("y") = localPos.toPoint().y(); } } @@ -138,7 +138,7 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *data, return false; QModelIndex parentIndex, parentItemIndex; - QString parentPropertyName; + PropertyName parentPropertyName; int targetIndex; parentIndex = dropIndex.sibling(dropIndex.row(), 0); @@ -154,7 +154,7 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *data, } else { parentItemIndex = parentIndex.parent(); - parentPropertyName = parentIndex.data(Qt::DisplayRole).toString(); + parentPropertyName = parentIndex.data(Qt::DisplayRole).toByteArray(); } // Disallow dropping items between properties, which are listed first. @@ -509,7 +509,7 @@ void NavigatorTreeModel::removeSubTree(const ModelNode &node) void NavigatorTreeModel::moveNodesInteractive(NodeAbstractProperty parentProperty, const QList<ModelNode> &modelNodes, int targetIndex) { try { - QString propertyQmlType = qmlTypeInQtContainer(parentProperty.parentModelNode().metaInfo().propertyTypeName(parentProperty.name())); + TypeName propertyQmlType = qmlTypeInQtContainer(parentProperty.parentModelNode().metaInfo().propertyTypeName(parentProperty.name())); RewriterTransaction transaction = m_view->beginRewriterTransaction(); foreach (const ModelNode &node, modelNodes) { @@ -577,14 +577,14 @@ void NavigatorTreeModel::moveNodesInteractive(NodeAbstractProperty parentPropert QList<ModelNode> NavigatorTreeModel::modelNodeChildren(const ModelNode &parentNode) { QList<ModelNode> children; - QStringList properties; + PropertyNameList properties; if (parentNode.metaInfo().hasDefaultProperty()) properties << parentNode.metaInfo().defaultPropertyName(); properties << visibleProperties(parentNode); - foreach (const QString &propertyName, properties) { + foreach (const PropertyName &propertyName, properties) { AbstractProperty property(parentNode.property(propertyName)); if (property.isNodeProperty()) children << property.toNodeProperty().modelNode(); @@ -595,9 +595,9 @@ QList<ModelNode> NavigatorTreeModel::modelNodeChildren(const ModelNode &parentNo return children; } -QString NavigatorTreeModel::qmlTypeInQtContainer(const QString &qtContainerType) const +TypeName NavigatorTreeModel::qmlTypeInQtContainer(const TypeName &qtContainerType) const { - QString typeName(qtContainerType); + TypeName typeName(qtContainerType); if (typeName.startsWith("QDeclarativeListProperty<") && typeName.endsWith('>')) { typeName.remove(0, 25); @@ -610,17 +610,17 @@ QString NavigatorTreeModel::qmlTypeInQtContainer(const QString &qtContainerType) } -QStringList NavigatorTreeModel::visibleProperties(const ModelNode &node) const +PropertyNameList NavigatorTreeModel::visibleProperties(const ModelNode &node) const { - QStringList propertyList; + PropertyNameList propertyList; - foreach (const QString &propertyName, node.metaInfo().propertyNames()) { + foreach (const PropertyName &propertyName, node.metaInfo().propertyNames()) { if (!propertyName.contains('.') && //do not show any dot properties, since they are tricky and unlikely to make sense node.metaInfo().propertyIsWritable(propertyName) && !m_hiddenProperties.contains(propertyName) && !node.metaInfo().propertyIsEnumType(propertyName) && //Some enums have the same name as Qml types (e. g. Flow) propertyName != node.metaInfo().defaultPropertyName()) { // TODO: ask the node instances - QString qmlType = qmlTypeInQtContainer(node.metaInfo().propertyTypeName(propertyName)); + TypeName qmlType = qmlTypeInQtContainer(node.metaInfo().propertyTypeName(propertyName)); if (node.model()->metaInfo(qmlType).isValid() && node.model()->metaInfo(qmlType).isSubclassOf("QtQuick.Item", -1, -1)) { propertyList.append(propertyName); diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h index 417188089d..3d833f0084 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h +++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.h @@ -132,8 +132,8 @@ private: QList<ModelNode> modelNodeChildren(const ModelNode &parentNode); - QString qmlTypeInQtContainer(const QString &qtContainerType) const; - QStringList visibleProperties(const ModelNode &node) const; + TypeName qmlTypeInQtContainer(const TypeName &qtContainerType) const; + PropertyNameList visibleProperties(const ModelNode &node) const; bool blockItemChangedSignal(bool block); diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index 1f7daf805e..c91b154e3e 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -44,8 +44,8 @@ static inline void setScenePos(const QmlDesigner::ModelNode &modelNode,const QPo QmlDesigner::QmlItemNode parentNode = modelNode.parentProperty().parentQmlObjectNode().toQmlItemNode(); if (parentNode.isValid()) { QPointF localPos = parentNode.instanceSceneTransform().inverted().map(pos); - modelNode.variantProperty(QLatin1String("x")) = localPos.toPoint().x(); - modelNode.variantProperty(QLatin1String("y")) = localPos.toPoint().y(); + modelNode.variantProperty("x") = localPos.toPoint().x(); + modelNode.variantProperty("y") = localPos.toPoint().y(); } } @@ -218,7 +218,7 @@ void NavigatorView::scriptFunctionsChanged(const ModelNode &/*node*/, const QStr { } -void NavigatorView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &/*propertyList*/) +void NavigatorView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &/*propertyList*/) { } diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.h b/src/plugins/qmldesigner/components/navigator/navigatorview.h index 316eeff348..c0184a40cd 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.h +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.h @@ -83,7 +83,7 @@ public: const QList<ModelNode> &lastSelectedNodeList); void auxiliaryDataChanged(const ModelNode &node, const QString &name, const QVariant &data); void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); diff --git a/src/plugins/qmldesigner/components/pluginmanager/pluginpath.cpp b/src/plugins/qmldesigner/components/pluginmanager/pluginpath.cpp index b3ead86bc6..2d73983367 100644 --- a/src/plugins/qmldesigner/components/pluginmanager/pluginpath.cpp +++ b/src/plugins/qmldesigner/components/pluginmanager/pluginpath.cpp @@ -175,7 +175,7 @@ QStandardItem *PluginPath::createModelItem() for (PluginDataList::iterator it = m_plugins.begin(); it != end; ++it) { QStandardItem *pluginItem = new QStandardItem(QFileInfo(it->path).fileName()); if (instance(*it)) { - pluginItem->appendRow(new QStandardItem(QString::fromLatin1(it->instanceGuard->metaObject()->className()))); + pluginItem->appendRow(new QStandardItem(QString::fromUtf8(it->instanceGuard->metaObject()->className()))); pathItem->appendRow(pluginItem); } else { pluginItem->setToolTip(it->errorMessage); diff --git a/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp b/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp index b5a3376e93..0b4e1ad60c 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/basicwidgets.cpp @@ -438,9 +438,9 @@ public: fileName = (_styleSheetFile.toLocalFile()); Utils::FileReader reader; if (reader.fetch(fileName)) - q->setStyleSheet(QString::fromLatin1(reader.data())); + q->setStyleSheet(QString::fromUtf8(reader.data())); else - qWarning() << QString::fromLatin1("setStyleSheetFile: %1").arg(reader.errorString()); + qWarning() << QString::fromUtf8("setStyleSheetFile: %1").arg(reader.errorString()); } @@ -630,7 +630,7 @@ private: qWarning() << "setIconFromFile: failed to load" << path; pb->setIcon(pixmap); } else { - qWarning() << QString::fromLatin1("setIconFromFile: %1: %2").arg(path, file.errorString()); + qWarning() << QString::fromUtf8("setIconFromFile: %1: %2").arg(path, file.errorString()); } } @@ -694,7 +694,7 @@ private: qWarning() << "setIconFromFile: failed to load" << path; lb->setPixmap(pixmap); } else { - qWarning() << QString::fromLatin1("setIconFromFile: %1: %2").arg(path, file.errorString()); + qWarning() << QString::fromUtf8("setIconFromFile: %1: %2").arg(path, file.errorString()); } } @@ -765,7 +765,7 @@ private: qWarning() << "setIconFromFile: failed to load" << path; pb->setIcon(pixmap); } else { - qWarning() << QString::fromLatin1("setIconFromFile: %1: %2").arg(path, file.errorString()); + qWarning() << QString::fromUtf8("setIconFromFile: %1: %2").arg(path, file.errorString()); } } @@ -1008,7 +1008,7 @@ void WidgetLoader::setQmlData(const QString &data) m_widget->show(); } else { m_component = new QDeclarativeComponent(qmlEngine(this), this); - m_component->setData (m_qmlData.toLatin1(), m_baseUrl); + m_component->setData (m_qmlData.toUtf8(), m_baseUrl); if (m_component) { emit sourceChanged(); emit widgetChanged(); diff --git a/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.cpp b/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.cpp index 864d86fe52..b85e7958c2 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.cpp @@ -88,7 +88,7 @@ BehaviorDialog::BehaviorDialog(QWidget *parent) : QDialog(parent), m_ui(new Inte setModal(true); } - void BehaviorDialog::setup(const ModelNode &node, const QString propertyName) + void BehaviorDialog::setup(const ModelNode &node, const PropertyName propertyName) { m_modelNode = node; m_ui->duration->setValue(100); diff --git a/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.h b/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.h index 655d9ae768..35b9f8eeac 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.h +++ b/src/plugins/qmldesigner/components/propertyeditor/behaviordialog.h @@ -55,7 +55,7 @@ public: explicit BehaviorWidget(QWidget *parent = 0); ModelNode modelNode() const {return m_modelNode; } - QString propertyName() const {return m_propertyName; } + PropertyName propertyName() const {return m_propertyName; } PropertyEditorNodeWrapper* complexNode() const; void setComplexNode(PropertyEditorNodeWrapper* complexNode); @@ -65,7 +65,7 @@ public slots: private: ModelNode m_modelNode; - QString m_propertyName; + PropertyName m_propertyName; PropertyEditorNodeWrapper* m_complexNode; QScopedPointer<BehaviorDialog> m_BehaviorDialog; }; @@ -75,7 +75,7 @@ class BehaviorDialog : public QDialog Q_OBJECT public: explicit BehaviorDialog(QWidget *parent = 0); - void setup(const ModelNode &node, const QString propertyName); + void setup(const ModelNode &node, const PropertyName propertyName); public slots: virtual void accept(); @@ -85,7 +85,7 @@ public slots: private: ModelNode m_modelNode; - QString m_propertyName; + PropertyName m_propertyName; QScopedPointer<Internal::Ui::BehaviorDialog> m_ui; }; diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp b/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp index cf4edfe84f..b2a9f180d7 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp @@ -82,12 +82,12 @@ void GradientLineQmlAdaptor::setupGradient() if (!modelNode.isValid()) return; - if (modelNode.hasBindingProperty(gradientName())) + if (modelNode.hasBindingProperty(gradientName().toUtf8())) return; - if (modelNode.hasProperty(gradientName())) { //gradient exists + if (modelNode.hasProperty(gradientName().toUtf8())) { //gradient exists - ModelNode gradientNode = modelNode.nodeProperty(gradientName()).modelNode(); + ModelNode gradientNode = modelNode.nodeProperty(gradientName().toUtf8()).modelNode(); QList<ModelNode> stopList = gradientNode.nodeListProperty("stops").toModelNodeList(); foreach (const ModelNode &stopNode, stopList) { @@ -115,7 +115,7 @@ void GradientLineQmlAdaptor::writeGradient() if (!m_itemNode.isValid()) return; - if (!m_itemNode.modelNode().metaInfo().hasProperty(gradientName())) + if (!m_itemNode.modelNode().metaInfo().hasProperty(gradientName().toUtf8())) return; try { ModelNode modelNode = m_itemNode.modelNode(); @@ -123,13 +123,13 @@ void GradientLineQmlAdaptor::writeGradient() QString oldId; QVector<QGradientStop> stops = gradient().stops(); if (m_itemNode.isInBaseState()) { - if (modelNode.hasProperty(gradientName())) { - oldId = modelNode.nodeProperty(gradientName()).modelNode().id(); - modelNode.removeProperty(gradientName()); + if (modelNode.hasProperty(gradientName().toUtf8())) { + oldId = modelNode.nodeProperty(gradientName().toUtf8()).modelNode().id(); + modelNode.removeProperty(gradientName().toUtf8()); } ModelNode gradientNode= modelNode.view()->createModelNode("QtQuick.Gradient", modelNode.majorQtQuickVersion(), 0); - modelNode.nodeProperty(gradientName()).reparentHere(gradientNode); + modelNode.nodeProperty(gradientName().toUtf8()).reparentHere(gradientNode); RewriterTransaction transaction = m_itemNode.modelNode().view()->beginRewriterTransaction(); @@ -143,11 +143,11 @@ void GradientLineQmlAdaptor::writeGradient() gradientNode.nodeListProperty("stops").reparentHere(gradientStopNode); } } else { //state - if (!modelNode.hasProperty(gradientName())) { + if (!modelNode.hasProperty(gradientName().toUtf8())) { qWarning(" GradientLine::updateGradient: no gradient in state"); return; } - ModelNode gradientNode = modelNode.nodeProperty(gradientName()).modelNode(); + ModelNode gradientNode = modelNode.nodeProperty(gradientName().toUtf8()).modelNode(); QList<ModelNode> stopList = gradientNode.nodeListProperty("stops").toModelNodeList(); for (int i = 0;i < stops.size(); i++) { QmlObjectNode stopObjectNode = stopList.at(i); @@ -166,15 +166,15 @@ void GradientLineQmlAdaptor::deleteGradient() if (!m_itemNode.isValid()) return; - if (!m_itemNode.modelNode().metaInfo().hasProperty(gradientName())) + if (!m_itemNode.modelNode().metaInfo().hasProperty(gradientName().toUtf8())) return; ModelNode modelNode = m_itemNode.modelNode(); if (m_itemNode.isInBaseState()) { - if (modelNode.hasProperty(gradientName())) { + if (modelNode.hasProperty(gradientName().toUtf8())) { RewriterTransaction transaction = m_itemNode.modelNode().view()->beginRewriterTransaction(); - ModelNode gradientNode = modelNode.nodeProperty(gradientName()).modelNode(); + ModelNode gradientNode = modelNode.nodeProperty(gradientName().toUtf8()).modelNode(); if (QmlObjectNode(gradientNode).isValid()) QmlObjectNode(gradientNode).destroy(); } diff --git a/src/plugins/qmldesigner/components/propertyeditor/layoutwidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/layoutwidget.cpp index fa6a789bc6..163ff72bcd 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/layoutwidget.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/layoutwidget.cpp @@ -95,7 +95,7 @@ LayoutWidget::~LayoutWidget() QPixmap pixmap(url.toLocalFile()); button->setIcon(pixmap); } else { - qWarning() << QString::fromLatin1("setIconFromFile: %1: %2").arg( + qWarning() << QString::fromUtf8("setIconFromFile: %1: %2").arg( file.fileName(), file.errorString()); } } diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp index 5a6acd7e7e..891a598e46 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp @@ -172,16 +172,16 @@ PropertyEditor::NodeType::~NodeType() { } -void setupPropertyEditorValue(const QString &name, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor, const QString &type) +void setupPropertyEditorValue(const PropertyName &name, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor, const QString &type) { - QString propertyName(name); - propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); + QmlDesigner::PropertyName propertyName(name); + propertyName.replace('.', '_'); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(propertyMap->value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(propertyMap); QObject::connect(valueObject, SIGNAL(valueChanged(QString,QVariant)), propertyMap, SIGNAL(valueChanged(QString,QVariant))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); - propertyMap->insert(propertyName, QVariant::fromValue(valueObject)); + propertyMap->insert(QString::fromUtf8(propertyName), QVariant::fromValue(valueObject)); } valueObject->setName(propertyName); if (type == "QColor") @@ -191,16 +191,16 @@ void setupPropertyEditorValue(const QString &name, QDeclarativePropertyMap *prop } -void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor) +void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const PropertyName &name, const QVariant &value, QDeclarativePropertyMap *propertyMap, PropertyEditor *propertyEditor) { - QString propertyName(name); - propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); + PropertyName propertyName(name); + propertyName.replace('.', '_'); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(propertyMap->value(propertyName))); if (!valueObject) { valueObject = new PropertyEditorValue(propertyMap); QObject::connect(valueObject, SIGNAL(valueChanged(QString,QVariant)), propertyMap, SIGNAL(valueChanged(QString,QVariant))); QObject::connect(valueObject, SIGNAL(expressionChanged(QString)), propertyEditor, SLOT(changeExpression(QString))); - propertyMap->insert(propertyName, QVariant::fromValue(valueObject)); + propertyMap->insert(QString::fromUtf8(propertyName), QVariant::fromValue(valueObject)); } valueObject->setName(name); valueObject->setModelNode(fxObjectNode); @@ -211,7 +211,7 @@ void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const QString else valueObject->setValue(value); - if (propertyName != QLatin1String("id") && + if (propertyName != "id" && fxObjectNode.currentState().isBaseState() && fxObjectNode.modelNode().property(propertyName).isBindingProperty()) { valueObject->setExpression(fxObjectNode.modelNode().bindingProperty(propertyName).expression()); @@ -220,10 +220,10 @@ void createPropertyEditorValue(const QmlObjectNode &fxObjectNode, const QString } } -void PropertyEditor::NodeType::setValue(const QmlObjectNode & fxObjectNode, const QString &name, const QVariant &value) +void PropertyEditor::NodeType::setValue(const QmlObjectNode & fxObjectNode, const PropertyName &name, const QVariant &value) { - QString propertyName = name; - propertyName.replace(QLatin1Char('.'), QLatin1Char('_')); + PropertyName propertyName = name; + propertyName.replace('.', '_'); PropertyEditorValue *propertyValue = qobject_cast<PropertyEditorValue*>(variantToQObject(m_backendValuesPropertyMap.value(propertyName))); if (propertyValue) { propertyValue->setValue(value); @@ -242,7 +242,7 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS QDeclarativeContext *ctxt = m_view->rootContext(); if (fxObjectNode.isValid()) { - foreach (const QString &propertyName, fxObjectNode.modelNode().metaInfo().propertyNames()) + foreach (const PropertyName &propertyName, fxObjectNode.modelNode().metaInfo().propertyNames()) createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor); // className @@ -298,13 +298,13 @@ void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QS } } -void PropertyEditor::NodeType::initialSetup(const QString &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor) +void PropertyEditor::NodeType::initialSetup(const TypeName &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor) { QDeclarativeContext *ctxt = m_view->rootContext(); NodeMetaInfo metaInfo = propertyEditor->model()->metaInfo(typeName, 4, 7); - foreach (const QString &propertyName, metaInfo.propertyNames()) + foreach (const PropertyName &propertyName, metaInfo.propertyNames()) setupPropertyEditorValue(propertyName, &m_backendValuesPropertyMap, propertyEditor, metaInfo.propertyTypeName(propertyName)); PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(variantToQObject(m_backendValuesPropertyMap.value("className"))); @@ -393,7 +393,7 @@ static inline QString fixTypeNameForPanes(const QString &typeName) return fixedTypeName; } -void PropertyEditor::setupPane(const QString &typeName) +void PropertyEditor::setupPane(const TypeName &typeName) { NodeMetaInfo metaInfo = model()->metaInfo(typeName); @@ -423,8 +423,10 @@ void PropertyEditor::setupPane(const QString &typeName) } } -void PropertyEditor::changeValue(const QString &propertyName) +void PropertyEditor::changeValue(const QString &name) { + PropertyName propertyName = name.toUtf8(); + if (propertyName.isNull()) return; @@ -471,8 +473,8 @@ void PropertyEditor::changeValue(const QString &propertyName) } //.replace(QLatin1Char('.'), QLatin1Char('_')) - QString underscoreName(propertyName); - underscoreName.replace(QLatin1Char('.'), QLatin1Char('_')); + PropertyName underscoreName(propertyName); + underscoreName.replace('.', '_'); PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(variantToQObject(m_currentType->m_backendValuesPropertyMap.value(underscoreName))); if (value ==0) @@ -495,8 +497,8 @@ void PropertyEditor::changeValue(const QString &propertyName) } if (fxObjectNode.modelNode().metaInfo().isValid() && fxObjectNode.modelNode().metaInfo().hasProperty(propertyName)) - if (fxObjectNode.modelNode().metaInfo().propertyTypeName(propertyName) == QLatin1String("QUrl") - || fxObjectNode.modelNode().metaInfo().propertyTypeName(propertyName) == QLatin1String("url")) { //turn absolute local file paths into relative paths + if (fxObjectNode.modelNode().metaInfo().propertyTypeName(propertyName) == "QUrl" + || fxObjectNode.modelNode().metaInfo().propertyTypeName(propertyName) == "url") { //turn absolute local file paths into relative paths QString filePath = castedValue.toUrl().toString(); if (QFileInfo(filePath).exists() && QFileInfo(filePath).isAbsolute()) { QDir fileDir(QFileInfo(model()->fileUrl().toLocalFile()).absolutePath()); @@ -527,8 +529,10 @@ void PropertyEditor::changeValue(const QString &propertyName) } } -void PropertyEditor::changeExpression(const QString &name) +void PropertyEditor::changeExpression(const QString &propertyName) { + PropertyName name = propertyName.toUtf8(); + if (name.isNull()) return; @@ -538,20 +542,20 @@ void PropertyEditor::changeExpression(const QString &name) RewriterTransaction transaction = beginRewriterTransaction(); try { - QString underscoreName(name); - underscoreName.replace(QLatin1Char('.'), QLatin1Char('_')); + PropertyName underscoreName(name); + underscoreName.replace('.', '_'); QmlObjectNode fxObjectNode(m_selectedNode); PropertyEditorValue *value = qobject_cast<PropertyEditorValue*>(variantToQObject(m_currentType->m_backendValuesPropertyMap.value(underscoreName))); if (fxObjectNode.modelNode().metaInfo().isValid() && fxObjectNode.modelNode().metaInfo().hasProperty(name)) { - if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == QLatin1String("QColor")) { + if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == "QColor") { if (QColor(value->expression().remove('"')).isValid()) { fxObjectNode.setVariantProperty(name, QColor(value->expression().remove('"'))); transaction.commit(); //committing in the try block return; } - } else if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == QLatin1String("bool")) { + } else if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == "bool") { if (value->expression().compare("false", Qt::CaseInsensitive) == 0 || value->expression().compare("true", Qt::CaseInsensitive) == 0) { if (value->expression().compare("true", Qt::CaseInsensitive) == 0) fxObjectNode.setVariantProperty(name, true); @@ -560,7 +564,7 @@ void PropertyEditor::changeExpression(const QString &name) transaction.commit(); //committing in the try block return; } - } else if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == QLatin1String("int")) { + } else if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == "int") { bool ok; int intValue = value->expression().toInt(&ok); if (ok) { @@ -568,7 +572,7 @@ void PropertyEditor::changeExpression(const QString &name) transaction.commit(); //committing in the try block return; } - } else if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == QLatin1String("qreal")) { + } else if (fxObjectNode.modelNode().metaInfo().propertyTypeName(name) == "qreal") { bool ok; qreal realValue = value->expression().toFloat(&ok); if (ok) { @@ -617,46 +621,6 @@ void PropertyEditor::setupPanes() QApplication::restoreOverrideCursor(); } -void PropertyEditor::otherPropertyChanged(const QmlObjectNode &fxObjectNode, const QString &propertyName) -{ - QmlModelView::otherPropertyChanged(fxObjectNode, propertyName); - - if (!m_selectedNode.isValid()) - return; - - m_locked = true; - - if (fxObjectNode.isValid() && m_currentType && fxObjectNode == m_selectedNode && fxObjectNode.currentState().isValid()) { - AbstractProperty property = fxObjectNode.modelNode().property(propertyName); - if (fxObjectNode == m_selectedNode || QmlObjectNode(m_selectedNode).propertyChangeForCurrentState() == fxObjectNode) { - if ( !m_selectedNode.hasProperty(propertyName) || m_selectedNode.property(property.name()).isBindingProperty() ) - setValue(m_selectedNode, property.name(), QmlObjectNode(m_selectedNode).instanceValue(property.name())); - else - setValue(m_selectedNode, property.name(), QmlObjectNode(m_selectedNode).modelValue(property.name())); - } - } - - m_locked = false; -} - -void PropertyEditor::transformChanged(const QmlObjectNode &fxObjectNode, const QString &propertyName) -{ - QmlModelView::transformChanged(fxObjectNode, propertyName); - - if (!m_selectedNode.isValid()) - return; - - if (fxObjectNode.isValid() && m_currentType && fxObjectNode == m_selectedNode && fxObjectNode.currentState().isValid()) { - AbstractProperty property = fxObjectNode.modelNode().property(propertyName); - if (fxObjectNode == m_selectedNode || QmlObjectNode(m_selectedNode).propertyChangeForCurrentState() == fxObjectNode) { - if ( m_selectedNode.property(property.name()).isBindingProperty() || !m_selectedNode.hasProperty(propertyName)) - setValue(m_selectedNode, property.name(), QmlObjectNode(m_selectedNode).instanceValue(property.name())); - else - setValue(m_selectedNode, property.name(), QmlObjectNode(m_selectedNode).modelValue(property.name())); - } - } -} - void PropertyEditor::setQmlDir(const QString &qmlDir) { m_qmlDir = qmlDir; @@ -688,20 +652,19 @@ QString templateGeneration(NodeMetaInfo type, NodeMetaInfo superType, const QmlO QString qmlTemplate = imports.join(QLatin1String("\n")) + QLatin1Char('\n'); qmlTemplate += QLatin1String("GroupBox {\n"); - qmlTemplate += QString(QLatin1String("caption: \"%1\"\n")).arg(objectNode.modelNode().simplifiedTypeName()); + qmlTemplate += QString(QLatin1String("caption: \"%1\"\n")).arg(QString::fromUtf8(objectNode.modelNode().simplifiedTypeName())); qmlTemplate += QLatin1String("layout: VerticalLayout {\n"); - QList<QString> orderedList; - orderedList = type.propertyNames(); + QList<PropertyName> orderedList = type.propertyNames(); qSort(orderedList); bool emptyTemplate = true; - foreach (const QString &name, orderedList) { + foreach (const PropertyName &name, orderedList) { - if (name.startsWith(QLatin1String("__"))) + if (name.startsWith("__")) continue; //private API - QString properName = name; + PropertyName properName = name; properName.replace('.', '_'); @@ -710,7 +673,7 @@ QString templateGeneration(NodeMetaInfo type, NodeMetaInfo superType, const QmlO if (typeName == QLatin1String("alias") && objectNode.isValid()) typeName = objectNode.instanceType(name); - if (!superType.hasProperty(name) && type.propertyIsWritable(name) && !name.contains(QLatin1String("."))) { + if (!superType.hasProperty(name) && type.propertyIsWritable(name) && !name.contains(".")) { foreach (const QmlJS::SimpleReaderNode::Ptr &node, templateConfiguration()->children()) if (variantToStringList(node->property(QLatin1String("typeNames"))).contains(typeName)) { const QString fileName = propertyTemplatesPath() + node->property(QLatin1String("sourceFile")).toString(); @@ -718,7 +681,7 @@ QString templateGeneration(NodeMetaInfo type, NodeMetaInfo superType, const QmlO if (file.open(QIODevice::ReadOnly)) { QString source = file.readAll(); file.close(); - qmlTemplate += source.arg(name).arg(properName); + qmlTemplate += source.arg(QString::fromUtf8(name)).arg(QString::fromUtf8(properName)); emptyTemplate = false; } else { qWarning().nospace() << "template definition source file not found:" << fileName; @@ -751,11 +714,11 @@ void PropertyEditor::resetView() if (m_selectedNode.isValid() && model() != m_selectedNode.model()) m_selectedNode = ModelNode(); - QString specificsClassName; + TypeName specificsClassName; QUrl qmlFile(qmlForNode(m_selectedNode, specificsClassName)); QUrl qmlSpecificsFile; - QString diffClassName; + TypeName diffClassName; if (m_selectedNode.isValid()) { diffClassName = m_selectedNode.metaInfo().typeName(); QList<NodeMetaInfo> hierarchy; @@ -804,16 +767,16 @@ void PropertyEditor::resetView() type->m_view->setSource(qmlFile); ctxt->setContextProperty("finishedNotify", QVariant(true)); } else { - QmlObjectNode fxObjectNode; + QmlObjectNode qmlObjectNode; if (m_selectedNode.isValid()) - fxObjectNode = QmlObjectNode(m_selectedNode); + qmlObjectNode = QmlObjectNode(m_selectedNode); QDeclarativeContext *ctxt = type->m_view->rootContext(); ctxt->setContextProperty("finishedNotify", QVariant(false)); if (specificQmlData.isEmpty()) type->m_contextObject->setSpecificQmlData(specificQmlData); QString currentStateName = currentState().isValid() ? currentState().name() : QLatin1String("invalid state"); - type->setup(fxObjectNode, currentStateName, qmlSpecificsFile, this); + type->setup(qmlObjectNode, currentStateName, qmlSpecificsFile, this); type->m_contextObject->setGlobalBaseUrl(qmlFile); type->m_contextObject->setSpecificQmlData(specificQmlData); } @@ -899,7 +862,7 @@ void PropertyEditor::propertiesRemoved(const QList<AbstractProperty>& propertyLi ModelNode node(property.parentModelNode()); if (node == m_selectedNode || QmlObjectNode(m_selectedNode).propertyChangeForCurrentState() == node) { setValue(m_selectedNode, property.name(), QmlObjectNode(m_selectedNode).instanceValue(property.name())); - if (property.name().contains("anchor", Qt::CaseInsensitive)) + if (property.name().contains("anchor")) m_currentType->m_backendAnchorBinding.invalidate(m_selectedNode); } } @@ -943,7 +906,7 @@ void PropertyEditor::bindingPropertiesChanged(const QList<BindingProperty>& prop ModelNode node(property.parentModelNode()); if (node == m_selectedNode || QmlObjectNode(m_selectedNode).propertyChangeForCurrentState() == node) { - if (property.name().contains("anchor", Qt::CaseInsensitive)) + if (property.name().contains("anchor")) m_currentType->m_backendAnchorBinding.invalidate(m_selectedNode); if ( QmlObjectNode(m_selectedNode).modelNode().property(property.name()).isBindingProperty()) setValue(m_selectedNode, property.name(), QmlObjectNode(m_selectedNode).instanceValue(property.name())); @@ -1014,7 +977,35 @@ void PropertyEditor::actualStateChanged(const ModelNode &node) delayedResetView(); } -void PropertyEditor::setValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value) +void PropertyEditor::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList) +{ + if (!m_selectedNode.isValid()) + return; + m_locked = true; + + typedef QPair<ModelNode, PropertyName> ModelNodePropertyPair; + foreach (const ModelNodePropertyPair &propertyPair, propertyList) { + const ModelNode modelNode = propertyPair.first; + const QmlObjectNode qmlObjectNode(modelNode); + const PropertyName propertyName = propertyPair.second; + + if (qmlObjectNode.isValid() && m_currentType && modelNode == m_selectedNode && qmlObjectNode.currentState().isValid()) { + const AbstractProperty property = modelNode.property(propertyName); + if (modelNode == m_selectedNode || qmlObjectNode.propertyChangeForCurrentState() == qmlObjectNode) { + if ( !modelNode.hasProperty(propertyName) || modelNode.property(property.name()).isBindingProperty() ) + setValue(modelNode, property.name(), qmlObjectNode.instanceValue(property.name())); + else + setValue(modelNode, property.name(), qmlObjectNode.modelValue(property.name())); + } + } + + } + + m_locked = false; + +} + +void PropertyEditor::setValue(const QmlObjectNode &fxObjectNode, const PropertyName &name, const QVariant &value) { m_locked = true; m_currentType->setValue(fxObjectNode, name, value); @@ -1069,12 +1060,12 @@ QString PropertyEditor::fileFromUrl(const QUrl &url) const return url.toLocalFile(); } -QUrl PropertyEditor::qmlForNode(const ModelNode &modelNode, QString &className) const +QUrl PropertyEditor::qmlForNode(const ModelNode &modelNode, TypeName &className) const { if (modelNode.isValid()) { QList<NodeMetaInfo> hierarchy; - hierarchy << modelNode.metaInfo(); - hierarchy << modelNode.metaInfo().superClasses(); + hierarchy.append(modelNode.metaInfo()); + hierarchy.append(modelNode.metaInfo().superClasses()); foreach (const NodeMetaInfo &info, hierarchy) { QUrl fileUrl = fileToUrl(locateQmlFile(info, qmlFileName(info))); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h index 8e30ed28e3..24df1fabd0 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h @@ -66,8 +66,8 @@ class PropertyEditor: public QmlModelView ~NodeType(); void setup(const QmlObjectNode &fxObjectNode, const QString &stateName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor); - void initialSetup(const QString &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor); - void setValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value); + void initialSetup(const TypeName &typeName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor); + void setValue(const QmlObjectNode &fxObjectNode, const PropertyName &name, const QVariant &value); DeclarativeWidgetView *m_view; Internal::QmlAnchorBindingProxy m_backendAnchorBinding; @@ -109,14 +109,12 @@ public: void resetView(); void actualStateChanged(const ModelNode &node); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); protected: void timerEvent(QTimerEvent *event); - void otherPropertyChanged(const QmlObjectNode &, const QString &propertyName); - void transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); - - void setupPane(const QString &typeName); - void setValue(const QmlObjectNode &fxObjectNode, const QString &name, const QVariant &value); + void setupPane(const TypeName &typeName); + void setValue(const QmlObjectNode &fxObjectNode, const PropertyName &name, const QVariant &value); private slots: void reloadQml(); @@ -129,7 +127,7 @@ private: //functions QString qmlFileName(const NodeMetaInfo &nodeInfo) const; QUrl fileToUrl(const QString &filePath) const; QString fileFromUrl(const QUrl &url) const; - QUrl qmlForNode(const ModelNode &modelNode, QString &className) const; + QUrl qmlForNode(const ModelNode &modelNode, TypeName &className) const; QString locateQmlFile(const NodeMetaInfo &info, const QString &relativePath) const; void select(const ModelNode& node); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp index 81f8e7a99e..92d9fe1b61 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp @@ -55,7 +55,7 @@ QVariant PropertyEditorValue::value() const { QVariant returnValue = m_value; if (modelNode().isValid() && modelNode().metaInfo().isValid() && modelNode().metaInfo().hasProperty(name())) - if (modelNode().metaInfo().propertyTypeName(name()) == QLatin1String("QUrl")) + if (modelNode().metaInfo().propertyTypeName(name()) == "QUrl") returnValue = returnValue.toUrl().toString(); return returnValue; } @@ -93,7 +93,7 @@ static bool cleverColorCompare(QVariant value1, QVariant value2) /* "red" is the same color as "#ff0000" To simplify editing we convert all explicit color names in the hash format */ -static void fixAmbigousColorNames(const QmlDesigner::ModelNode &modelNode, const QString &name, QVariant *value) +static void fixAmbigousColorNames(const QmlDesigner::ModelNode &modelNode, const QmlDesigner::PropertyName &name, QVariant *value) { if (modelNode.isValid() && modelNode.metaInfo().isValid() && (modelNode.metaInfo().propertyTypeName(name) == "QColor" @@ -110,7 +110,7 @@ static void fixAmbigousColorNames(const QmlDesigner::ModelNode &modelNode, const } } -static void fixUrl(const QmlDesigner::ModelNode &modelNode, const QString &name, QVariant *value) +static void fixUrl(const QmlDesigner::ModelNode &modelNode, const QmlDesigner::PropertyName &name, QVariant *value) { if (modelNode.isValid() && modelNode.metaInfo().isValid() && (modelNode.metaInfo().propertyTypeName(name) == "QUrl" @@ -125,7 +125,7 @@ void PropertyEditorValue::setValueWithEmit(const QVariant &value) if (m_value != value || isBound()) { QVariant newValue = value; if (modelNode().isValid() && modelNode().metaInfo().isValid() && modelNode().metaInfo().hasProperty(name())) - if (modelNode().metaInfo().propertyTypeName(name()) == QLatin1String("QUrl")) + if (modelNode().metaInfo().propertyTypeName(name()) == "QUrl") newValue = QUrl(newValue.toString()); if (cleverDoubleCompare(newValue, m_value)) @@ -201,12 +201,12 @@ bool PropertyEditorValue::isInModel() const return modelNode().isValid() && modelNode().hasProperty(name()); } -QString PropertyEditorValue::name() const +QmlDesigner::PropertyName PropertyEditorValue::name() const { return m_name; } -void PropertyEditorValue::setName(const QString &name) +void PropertyEditorValue::setName(const QmlDesigner::PropertyName &name) { m_name = name; } @@ -225,7 +225,7 @@ void PropertyEditorValue::setIsValid(bool valid) bool PropertyEditorValue::isTranslated() const { if (modelNode().isValid() && modelNode().metaInfo().isValid() && modelNode().metaInfo().hasProperty(name())) - if (modelNode().metaInfo().propertyTypeName(name()) == QLatin1String("QString") || modelNode().metaInfo().propertyTypeName(name()) == QLatin1String("string")) { + if (modelNode().metaInfo().propertyTypeName(name()) == "QString" || modelNode().metaInfo().propertyTypeName(name()) == "string") { const QmlDesigner::QmlObjectNode objectNode(modelNode()); if (objectNode.isValid() && objectNode.hasBindingProperty(name())) { //qsTr() @@ -296,7 +296,7 @@ QString PropertyEditorNodeWrapper::type() if (!(m_modelNode.isValid())) return QString(); - return m_modelNode.simplifiedTypeName(); + return QString::fromUtf8(m_modelNode.simplifiedTypeName()); } @@ -305,7 +305,7 @@ QmlDesigner::ModelNode PropertyEditorNodeWrapper::parentModelNode() const return m_editorValue->modelNode(); } -QString PropertyEditorNodeWrapper::propertyName() const +QmlDesigner::PropertyName PropertyEditorNodeWrapper::propertyName() const { return m_editorValue->name(); } @@ -317,8 +317,7 @@ QDeclarativePropertyMap* PropertyEditorNodeWrapper::properties() void PropertyEditorNodeWrapper::add(const QString &type) { - - QString propertyType = type; + QmlDesigner::TypeName propertyType = type.toUtf8(); if ((m_editorValue && m_editorValue->modelNode().isValid())) { if (propertyType.isEmpty()) @@ -354,8 +353,10 @@ void PropertyEditorNodeWrapper::remove() emit existsChanged(); } -void PropertyEditorNodeWrapper::changeValue(const QString &name) +void PropertyEditorNodeWrapper::changeValue(const QString &propertyName) { + const QmlDesigner::PropertyName name = propertyName.toUtf8(); + if (name.isNull()) return; if (m_modelNode.isValid()) { @@ -381,7 +382,7 @@ void PropertyEditorNodeWrapper::setup() foreach (QObject *object, m_valuesPropertyMap.children()) delete object; - foreach (const QString &propertyName, m_modelNode.metaInfo().propertyNames()) { + foreach (const QmlDesigner::PropertyName &propertyName, m_modelNode.metaInfo().propertyNames()) { if (fxObjectNode.isValid()) { PropertyEditorValue *valueObject = new PropertyEditorValue(&m_valuesPropertyMap); valueObject->setName(propertyName); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.h index 918de7bc8a..64e84a8fd8 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.h +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.h @@ -30,6 +30,8 @@ #ifndef PROPERTYEDITORVALUE_H #define PROPERTYEDITORVALUE_H +#include <qmldesignercorelib_global.h> + #include <QObject> #include <QDeclarativePropertyMap> #include <qdeclarative.h> @@ -53,12 +55,12 @@ public: QString type(); QDeclarativePropertyMap* properties(); QmlDesigner::ModelNode parentModelNode() const; - QString propertyName() const; + QmlDesigner::PropertyName propertyName() const; public slots: void add(const QString &type = QString()); void remove(); - void changeValue(const QString &name); + void changeValue(const QString &propertyName); void update(); signals: @@ -113,8 +115,8 @@ public: bool isTranslated() const; - QString name() const; - void setName(const QString &name); + QmlDesigner::PropertyName name() const; + void setName(const QmlDesigner::PropertyName &name); QmlDesigner::ModelNode modelNode() const; void setModelNode(const QmlDesigner::ModelNode &modelNode); @@ -142,7 +144,7 @@ private: //variables QmlDesigner::ModelNode m_modelNode; QVariant m_value; QString m_expression; - QString m_name; + QmlDesigner::PropertyName m_name; bool m_isInSubState; bool m_isInModel; bool m_isBound; diff --git a/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp b/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp index 32af375c77..c94026ff04 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp @@ -40,9 +40,9 @@ namespace QmlDesigner { class ModelNode; class NodeState; -const QString auxDataString = QLatin1String("anchors_"); +const PropertyName auxDataString("anchors_"); -static inline void backupPropertyAndRemove(ModelNode node, const QString &propertyName) +static inline void backupPropertyAndRemove(ModelNode node, const PropertyName &propertyName) { if (node.hasVariantProperty(propertyName)) { node.setAuxiliaryData(auxDataString + propertyName, node.variantProperty(propertyName).value()); @@ -56,7 +56,7 @@ static inline void backupPropertyAndRemove(ModelNode node, const QString &proper } -static inline void restoreProperty(ModelNode node, const QString &propertyName) +static inline void restoreProperty(ModelNode node, const PropertyName &propertyName) { if (node.hasAuxiliaryData(auxDataString + propertyName)) node.variantProperty(propertyName) = node.auxiliaryData(auxDataString + propertyName); diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp index 7e9002213c..7b9aff6829 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp @@ -294,12 +294,6 @@ void StatesEditorView::nodeOrderChanged(const NodeListProperty &listProperty, co resetModel(); } -void StatesEditorView::nodeInstancePropertyChanged(const ModelNode &node, const QString &propertyName) -{ - // sets currentState() used in sceneChanged - QmlModelView::nodeInstancePropertyChanged(node, propertyName); -} - void StatesEditorView::actualStateChanged(const ModelNode &node) { QmlModelState newQmlModelState(node); @@ -311,21 +305,6 @@ void StatesEditorView::actualStateChanged(const ModelNode &node) QmlModelView::actualStateChanged(node); } -void StatesEditorView::transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName) -{ - QmlModelView::transformChanged(qmlObjectNode, propertyName); -} - -void StatesEditorView::parentChanged(const QmlObjectNode &qmlObjectNode) -{ - QmlModelView::parentChanged(qmlObjectNode); -} - -void StatesEditorView::otherPropertyChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName) -{ - QmlModelView::otherPropertyChanged(qmlObjectNode, propertyName); -} - void StatesEditorView::instancesPreviewImageChanged(const QVector<ModelNode> &nodeList) { int minimumIndex = 10000; diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h index 794bd1ce6a..ac8dcfa006 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.h @@ -48,8 +48,6 @@ public: bool validStateName(const QString &name) const; QString currentStateName() const; - void nodeInstancePropertyChanged(const ModelNode &node, const QString &propertyName); - // AbstractView void modelAttached(Model *model); void modelAboutToBeDetached(Model *model); diff --git a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp index 9b5a5cac8c..505f4be898 100644 --- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp +++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp @@ -111,7 +111,7 @@ Exception::Exception(int line, #endif if (s_shouldAssert) - Q_ASSERT_X(false, function.toLatin1(), QString("%1:%2 - %3").arg(file).arg(line).arg(function).toLatin1()); + Q_ASSERT_X(false, function.toUtf8(), QString("%1:%2 - %3").arg(file).arg(line).arg(function).toUtf8()); } Exception::~Exception() diff --git a/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.cpp b/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.cpp index 254c87b636..2fce3907ba 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.cpp @@ -40,7 +40,7 @@ using namespace QmlJS::AST; AddObjectVisitor::AddObjectVisitor(QmlDesigner::TextModifier &modifier, quint32 parentLocation, const QString &content, - const QStringList &propertyOrder): + const PropertyNameList &propertyOrder): QMLRewriter(modifier), m_parentLocation(parentLocation), m_content(content), diff --git a/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.h b/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.h index fd05edaf26..8caa8dd31d 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.h +++ b/src/plugins/qmldesigner/designercore/filemanager/addobjectvisitor.h @@ -41,7 +41,7 @@ public: AddObjectVisitor(QmlDesigner::TextModifier &modifier, quint32 parentLocation, const QString &content, - const QStringList &propertyOrder); + const PropertyNameList &propertyOrder); protected: virtual bool visit(QmlJS::AST::UiObjectBinding *ast); @@ -53,7 +53,7 @@ private: private: quint32 m_parentLocation; QString m_content; - QStringList m_propertyOrder; + PropertyNameList m_propertyOrder; }; } // namespace Internal diff --git a/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp b/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp index 786e00810c..df647e181f 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp @@ -39,10 +39,10 @@ using namespace QmlJS::AST; AddPropertyVisitor::AddPropertyVisitor(QmlDesigner::TextModifier &modifier, quint32 parentLocation, - const QString &name, + const QmlDesigner::PropertyName &name, const QString &value, QmlRefactoring::PropertyType propertyType, - const QStringList &propertyOrder): + const PropertyNameList &propertyOrder): QMLRewriter(modifier), m_parentLocation(parentLocation), m_name(name), diff --git a/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.h b/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.h index 197d0f9879..c5da91fbaa 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.h +++ b/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.h @@ -42,10 +42,10 @@ public: public: AddPropertyVisitor(QmlDesigner::TextModifier &modifier, quint32 parentLocation, - const QString &name, + const QmlDesigner::PropertyName &name, const QString &value, QmlDesigner::QmlRefactoring::PropertyType propertyType, - const QStringList &propertyOrder); + const PropertyNameList &propertyOrder); protected: virtual bool visit(QmlJS::AST::UiObjectDefinition *ast); @@ -56,10 +56,10 @@ private: private: quint32 m_parentLocation; - QString m_name; + PropertyName m_name; QString m_value; QmlRefactoring::PropertyType m_propertyType; - QStringList m_propertyOrder; + PropertyNameList m_propertyOrder; }; } // namespace Internal diff --git a/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.cpp b/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.cpp index 08d8bce491..ce2393c5a8 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.cpp @@ -45,10 +45,10 @@ class Inserter: public QMLRewriter public: Inserter(QmlDesigner::TextModifier &modifier, quint32 targetParentObjectLocation, - const QString &targetPropertyName, + const QmlDesigner::PropertyName &targetPropertyName, bool targetIsArrayBinding, TextModifier::MoveInfo moveInfo, - const QStringList &propertyOrder): + const PropertyNameList &propertyOrder): QMLRewriter(modifier), targetParentObjectLocation(targetParentObjectLocation), targetPropertyName(targetPropertyName), @@ -151,18 +151,18 @@ private: private: quint32 targetParentObjectLocation; - QString targetPropertyName; + QmlDesigner::PropertyName targetPropertyName; bool targetIsArrayBinding; TextModifier::MoveInfo moveInfo; - QStringList propertyOrder; + PropertyNameList propertyOrder; }; MoveObjectVisitor::MoveObjectVisitor(QmlDesigner::TextModifier &modifier, quint32 objectLocation, - const QString &targetPropertyName, + const QmlDesigner::PropertyName &targetPropertyName, bool targetIsArrayBinding, quint32 targetParentObjectLocation, - const QStringList &propertyOrder): + const PropertyNameList &propertyOrder): QMLRewriter(modifier), objectLocation(objectLocation), targetPropertyName(targetPropertyName), diff --git a/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.h b/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.h index 390fb4329e..79122ab489 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.h +++ b/src/plugins/qmldesigner/designercore/filemanager/moveobjectvisitor.h @@ -40,10 +40,10 @@ class MoveObjectVisitor: public QMLRewriter public: MoveObjectVisitor(QmlDesigner::TextModifier &modifier, quint32 objectLocation, - const QString &targetPropertyName, + const QmlDesigner::PropertyName &targetPropertyName, bool targetIsArrayBinding, quint32 targetParentObjectLocation, - const QStringList &propertyOrder); + const PropertyNameList &propertyOrder); bool operator ()(QmlJS::AST::UiProgram *ast); @@ -58,10 +58,10 @@ private: private: QList<QmlJS::AST::Node *> parents; quint32 objectLocation; - QString targetPropertyName; + PropertyName targetPropertyName; bool targetIsArrayBinding; quint32 targetParentObjectLocation; - QStringList propertyOrder; + PropertyNameList propertyOrder; QmlJS::AST::UiProgram *program; }; diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp b/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp index d1afd11f40..0c35d008d9 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.cpp @@ -45,7 +45,7 @@ using namespace QmlJS; using namespace QmlDesigner; using namespace QmlDesigner::Internal; -QmlRefactoring::QmlRefactoring(const Document::Ptr &doc, TextModifier &modifier, const QStringList &propertyOrder): +QmlRefactoring::QmlRefactoring(const Document::Ptr &doc, TextModifier &modifier, const PropertyNameList &propertyOrder): qmlDocument(doc), textModifier(&modifier), m_propertyOrder(propertyOrder) @@ -83,7 +83,7 @@ bool QmlRefactoring::removeImport(const Import &import) return visitor.remove(qmlDocument->qmlProgram(), import); } -bool QmlRefactoring::addToArrayMemberList(int parentLocation, const QString &propertyName, const QString &content) +bool QmlRefactoring::addToArrayMemberList(int parentLocation, const PropertyName &propertyName, const QString &content) { if (parentLocation < 0) return false; @@ -102,7 +102,7 @@ bool QmlRefactoring::addToObjectMemberList(int parentLocation, const QString &co return visit(qmlDocument->qmlProgram()); } -bool QmlRefactoring::addProperty(int parentLocation, const QString &name, const QString &value, PropertyType propertyType) +bool QmlRefactoring::addProperty(int parentLocation, const PropertyName &name, const QString &value, PropertyType propertyType) { if (parentLocation < 0) return false; @@ -111,7 +111,7 @@ bool QmlRefactoring::addProperty(int parentLocation, const QString &name, const return visit(qmlDocument->qmlProgram()); } -bool QmlRefactoring::changeProperty(int parentLocation, const QString &name, const QString &value, PropertyType propertyType) +bool QmlRefactoring::changeProperty(int parentLocation, const PropertyName &name, const QString &value, PropertyType propertyType) { if (parentLocation < 0) return false; @@ -129,7 +129,7 @@ bool QmlRefactoring::changeObjectType(int nodeLocation, const QString &newType) return visit(qmlDocument->qmlProgram()); } -bool QmlRefactoring::moveObject(int objectLocation, const QString &targetPropertyName, bool targetIsArrayBinding, int targetParentObjectLocation) +bool QmlRefactoring::moveObject(int objectLocation, const PropertyName &targetPropertyName, bool targetIsArrayBinding, int targetParentObjectLocation) { if (objectLocation < 0 || targetParentObjectLocation < 0) return false; @@ -162,7 +162,7 @@ bool QmlRefactoring::removeObject(int nodeLocation) return visit(qmlDocument->qmlProgram()); } -bool QmlRefactoring::removeProperty(int parentLocation, const QString &name) +bool QmlRefactoring::removeProperty(int parentLocation, const PropertyName &name) { if (parentLocation < 0 || name.isEmpty()) return false; diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.h b/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.h index f833d87808..6235933379 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.h +++ b/src/plugins/qmldesigner/designercore/filemanager/qmlrefactoring.h @@ -51,29 +51,29 @@ public: }; public: - QmlRefactoring(const QmlJS::Document::Ptr &doc, QmlDesigner::TextModifier &modifier, const QStringList &propertyOrder); + QmlRefactoring(const QmlJS::Document::Ptr &doc, QmlDesigner::TextModifier &modifier, const PropertyNameList &propertyOrder); bool reparseDocument(); bool addImport(const Import &import); bool removeImport(const Import &import); - bool addToArrayMemberList(int parentLocation, const QString &propertyName, const QString &content); + bool addToArrayMemberList(int parentLocation, const PropertyName &propertyName, const QString &content); bool addToObjectMemberList(int parentLocation, const QString &content); - bool addProperty(int parentLocation, const QString &name, const QString &value, PropertyType propertyType); - bool changeProperty(int parentLocation, const QString &name, const QString &value, PropertyType propertyType); + bool addProperty(int parentLocation, const PropertyName &name, const QString &value, PropertyType propertyType); + bool changeProperty(int parentLocation, const PropertyName &name, const QString &value, PropertyType propertyType); bool changeObjectType(int nodeLocation, const QString &newType); - bool moveObject(int objectLocation, const QString &targetPropertyName, bool targetIsArray, int targetParentObjectLocation); + bool moveObject(int objectLocation, const PropertyName &targetPropertyName, bool targetIsArray, int targetParentObjectLocation); bool moveObjectBeforeObject(int movingObjectLocation, int beforeObjectLocation, bool inDefaultProperty); bool removeObject(int nodeLocation); - bool removeProperty(int parentLocation, const QString &name); + bool removeProperty(int parentLocation, const PropertyName &name); private: QmlJS::Document::Ptr qmlDocument; TextModifier *textModifier; - QStringList m_propertyOrder; + PropertyNameList m_propertyOrder; }; } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp b/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp index c0a93fd2f4..7dbdeb9ca4 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.cpp @@ -262,9 +262,9 @@ void QMLRewriter::includeLeadingEmptyLine(int &start) const } // FIXME: duplicate code in the QmlJS::Rewriter class, remove this -UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *members, const QStringList &propertyOrder) +UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *members, const QmlDesigner::PropertyNameList &propertyOrder) { - const int objectDefinitionInsertionPoint = propertyOrder.indexOf(QString()); + const int objectDefinitionInsertionPoint = propertyOrder.indexOf(PropertyName()); // XXX ???? UiObjectMemberList *lastObjectDef = 0; UiObjectMemberList *lastNonObjectDef = 0; @@ -276,13 +276,13 @@ UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *m if (cast<UiObjectDefinition*>(member)) lastObjectDef = iter; else if (UiArrayBinding *arrayBinding = cast<UiArrayBinding*>(member)) - idx = propertyOrder.indexOf(toString(arrayBinding->qualifiedId)); + idx = propertyOrder.indexOf(toString(arrayBinding->qualifiedId).toUtf8()); else if (UiObjectBinding *objectBinding = cast<UiObjectBinding*>(member)) - idx = propertyOrder.indexOf(toString(objectBinding->qualifiedId)); + idx = propertyOrder.indexOf(toString(objectBinding->qualifiedId).toUtf8()); else if (UiScriptBinding *scriptBinding = cast<UiScriptBinding*>(member)) - idx = propertyOrder.indexOf(toString(scriptBinding->qualifiedId)); + idx = propertyOrder.indexOf(toString(scriptBinding->qualifiedId).toUtf8()); else if (cast<UiPublicMember*>(member)) - idx = propertyOrder.indexOf(QLatin1String("property")); + idx = propertyOrder.indexOf("property"); if (idx < objectDefinitionInsertionPoint) lastNonObjectDef = iter; @@ -295,7 +295,7 @@ UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *m } // FIXME: duplicate code in the QmlJS::Rewriter class, remove this -UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *members, const QString &propertyName, const QStringList &propertyOrder) +UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *members, const QmlDesigner::PropertyName &propertyName, const QmlDesigner::PropertyNameList &propertyOrder) { if (!members) return 0; // empty members @@ -319,7 +319,7 @@ UiObjectMemberList *QMLRewriter::searchMemberToInsertAfter(UiObjectMemberList *m int idx = propertyOrder.indexOf(propertyName); if (idx == -1) - idx = propertyOrder.indexOf(QString()); + idx = propertyOrder.indexOf(PropertyName()); if (idx == -1) idx = propertyOrder.size() - 1; diff --git a/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.h b/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.h index a11a79825c..c3a48c215a 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.h +++ b/src/plugins/qmldesigner/designercore/filemanager/qmlrewriter.h @@ -79,8 +79,8 @@ protected: bool includeSurroundingWhitespace(int &start, int &end) const; void includeLeadingEmptyLine(int &start) const; - static QmlJS::AST::UiObjectMemberList *searchMemberToInsertAfter(QmlJS::AST::UiObjectMemberList *members, const QStringList &propertyOrder); - static QmlJS::AST::UiObjectMemberList *searchMemberToInsertAfter(QmlJS::AST::UiObjectMemberList *members, const QString &propertyName, const QStringList &propertyOrder); + static QmlJS::AST::UiObjectMemberList *searchMemberToInsertAfter(QmlJS::AST::UiObjectMemberList *members, const PropertyNameList &propertyOrder); + static QmlJS::AST::UiObjectMemberList *searchMemberToInsertAfter(QmlJS::AST::UiObjectMemberList *members, const QmlDesigner::PropertyName &propertyName, const PropertyNameList &propertyOrder); protected: bool didRewriting() const diff --git a/src/plugins/qmldesigner/designercore/include/abstractproperty.h b/src/plugins/qmldesigner/designercore/include/abstractproperty.h index 96b2a2d2e3..b26f07e829 100644 --- a/src/plugins/qmldesigner/designercore/include/abstractproperty.h +++ b/src/plugins/qmldesigner/designercore/include/abstractproperty.h @@ -81,7 +81,7 @@ public: AbstractProperty& operator=(const AbstractProperty &other); AbstractProperty(const AbstractProperty &property, AbstractView *view); - QString name() const; + PropertyName name() const; bool isValid() const; ModelNode parentModelNode() const; @@ -101,17 +101,17 @@ public: bool isNodeProperty() const; bool isDynamic() const; - QString dynamicTypeName() const; + TypeName dynamicTypeName() const; protected: - AbstractProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); + AbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); AbstractProperty(const Internal::InternalPropertyPointer &property, Model* model, AbstractView *view); Internal::InternalNodePointer internalNode() const; Model *model() const; AbstractView *view() const; private: - QString m_propertyName; + PropertyName m_propertyName; Internal::InternalNodePointer m_internalNode; QWeakPointer<Model> m_model; QWeakPointer<AbstractView> m_view; diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h index f03b725454..fc82e8e36d 100644 --- a/src/plugins/qmldesigner/designercore/include/abstractview.h +++ b/src/plugins/qmldesigner/designercore/include/abstractview.h @@ -81,7 +81,7 @@ public: RewriterTransaction beginRewriterTransaction(); - ModelNode createModelNode(const QString &typeString, + ModelNode createModelNode(const TypeName &typeName, int majorVersion, int minorVersion, const PropertyListType &propertyList = PropertyListType(), @@ -111,7 +111,7 @@ public: void emitCustomNotification(const QString &identifier, const QList<ModelNode> &nodeList); void emitCustomNotification(const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data); - void emitInstancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void emitInstancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void emitInstancesCompleted(const QVector<ModelNode> &nodeList); void emitInstanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void emitInstancesRenderImageChanged(const QVector<ModelNode> &nodeList); @@ -138,7 +138,7 @@ public: virtual void bindingPropertiesChanged(const QList<BindingProperty>& propertyList, PropertyChangeFlags propertyChange) = 0; virtual void rootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion) = 0; - virtual void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList) = 0; + virtual void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList) = 0; virtual void instancesCompleted(const QVector<ModelNode> &completedNodeList) = 0; virtual void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash) = 0; virtual void instancesRenderImageChanged(const QVector<ModelNode> &nodeList) = 0; @@ -170,7 +170,7 @@ public: QmlModelView *toQmlModelView(); - void changeRootNodeType(const QString &type, int majorVersion, int minorVersion); + void changeRootNodeType(const TypeName &type, int majorVersion, int minorVersion); NodeInstanceView *nodeInstanceView() const; RewriterView *rewriterView() const; diff --git a/src/plugins/qmldesigner/designercore/include/bindingproperty.h b/src/plugins/qmldesigner/designercore/include/bindingproperty.h index 6e59eab3ca..b6c8e6dbcd 100644 --- a/src/plugins/qmldesigner/designercore/include/bindingproperty.h +++ b/src/plugins/qmldesigner/designercore/include/bindingproperty.h @@ -49,8 +49,7 @@ public: BindingProperty(); BindingProperty(const BindingProperty &property, AbstractView *view); - void setDynamicTypeNameAndExpression(const QString &type, const QString &expression); - BindingProperty& operator= (const QPair<QString, QString> &typeExpressionPair); + void setDynamicTypeNameAndExpression(const TypeName &type, const QString &expression); ModelNode resolveToModelNode() const; AbstractProperty resolveToProperty() const; @@ -58,7 +57,7 @@ public: QList<ModelNode> resolveToModelNodeList() const; protected: - BindingProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); + BindingProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); }; } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h b/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h index 49fdaee31d..5c692b0ade 100644 --- a/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h +++ b/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h @@ -62,7 +62,7 @@ public: ~ItemLibraryEntry(); QString name() const; - QString typeName() const; + TypeName typeName() const; QIcon icon() const; QString iconPath() const; int majorVersion() const; @@ -80,11 +80,11 @@ public: QList<Property> properties() const; - void setType(const QString &typeName, int majorVersion, int minorVersion); + void setType(const TypeName &typeName, int majorVersion, int minorVersion); void setName(const QString &name); void setIconPath(const QString &iconPath); void addProperty(const Property &p); - void addProperty(QString &name, QString &type, QVariant &value); + void addProperty(PropertyName &name, QString &type, QVariant &value); void setDragIcon(const QIcon &icon); void setIcon(const QIcon &icon); void setCategory(const QString &category); diff --git a/src/plugins/qmldesigner/designercore/include/metainforeader.h b/src/plugins/qmldesigner/designercore/include/metainforeader.h index 5f165c98fd..e75f6cfbd9 100644 --- a/src/plugins/qmldesigner/designercore/include/metainforeader.h +++ b/src/plugins/qmldesigner/designercore/include/metainforeader.h @@ -58,7 +58,7 @@ public: QStringList errors(); - void setQualifcation(const QString &qualification); + void setQualifcation(const TypeName &qualification); protected: virtual void elementStart(const QString &name); @@ -106,18 +106,18 @@ private: ParserSate m_parserState; MetaInfo m_metaInfo; - QString m_currentClassName; + TypeName m_currentClassName; QString m_currentIcon; QString m_currentSource; ItemLibraryEntry m_currentEntry; - QString m_currentPropertyName; + PropertyName m_currentPropertyName; QString m_currentPropertyType; QVariant m_currentPropertyValue; bool m_overwriteDuplicates; - QString m_qualication; + TypeName m_qualication; }; } diff --git a/src/plugins/qmldesigner/designercore/include/model.h b/src/plugins/qmldesigner/designercore/include/model.h index ce91e46c96..84fb9982fd 100644 --- a/src/plugins/qmldesigner/designercore/include/model.h +++ b/src/plugins/qmldesigner/designercore/include/model.h @@ -60,7 +60,7 @@ class AbstractProperty; class RewriterView; class NodeInstanceView; -typedef QList<QPair<QString, QVariant> > PropertyListType; +typedef QList<QPair<PropertyName, QVariant> > PropertyListType; class QMLDESIGNERCORE_EXPORT Model : public QObject { @@ -79,15 +79,15 @@ public: virtual ~Model(); - static Model *create(QString type, int major = 1, int minor = 1, Model *metaInfoPropxyModel = 0); + static Model *create(TypeName type, int major = 1, int minor = 1, Model *metaInfoPropxyModel = 0); QUrl fileUrl() const; void setFileUrl(const QUrl &url); const MetaInfo metaInfo() const; MetaInfo metaInfo(); - NodeMetaInfo metaInfo(const QString &typeName, int majorVersion = -1, int minorVersion = -1); - bool hasNodeMetaInfo(const QString &typeName, int majorVersion = -1, int minorVersion = -1); + NodeMetaInfo metaInfo(const TypeName &typeName, int majorVersion = -1, int minorVersion = -1); + bool hasNodeMetaInfo(const TypeName &typeName, int majorVersion = -1, int minorVersion = -1); void attachView(AbstractView *view); void detachView(AbstractView *view, ViewNotification emitDetachNotify = NotifyView); diff --git a/src/plugins/qmldesigner/designercore/include/modelnode.h b/src/plugins/qmldesigner/designercore/include/modelnode.h index ad1927ba62..a2a3ff645e 100644 --- a/src/plugins/qmldesigner/designercore/include/modelnode.h +++ b/src/plugins/qmldesigner/designercore/include/modelnode.h @@ -65,7 +65,7 @@ class ModelNode; QMLDESIGNERCORE_EXPORT QList<Internal::InternalNodePointer> toInternalNodeList(const QList<ModelNode> &nodeList); -typedef QList<QPair<QString, QVariant> > PropertyListType; +typedef QList<QPair<PropertyName, QVariant> > PropertyListType; class QMLDESIGNERCORE_EXPORT ModelNode { @@ -96,8 +96,8 @@ public: ~ModelNode(); ModelNode& operator=(const ModelNode &other); - QString type() const; - QString simplifiedTypeName() const; + TypeName type() const; + TypeName simplifiedTypeName() const; int minorVersion() const; int majorVersion() const; int majorQtQuickVersion() const; @@ -108,7 +108,7 @@ public: NodeAbstractProperty parentProperty() const; void setParentProperty(NodeAbstractProperty parent); - void setParentProperty(const ModelNode &newParentNode, const QString &propertyName); + void setParentProperty(const ModelNode &newParentNode, const PropertyName &propertyName); bool hasParentProperty() const; const QList<ModelNode> allDirectSubModelNodes() const; @@ -117,29 +117,29 @@ public: //### - AbstractProperty property(const QString &name) const; - VariantProperty variantProperty(const QString &name) const; - BindingProperty bindingProperty(const QString &name) const; - NodeListProperty nodeListProperty(const QString &name) const; - NodeProperty nodeProperty(const QString &name) const; - NodeAbstractProperty nodeAbstractProperty(const QString &name) const; + AbstractProperty property(const PropertyName &name) const; + VariantProperty variantProperty(const PropertyName &name) const; + BindingProperty bindingProperty(const PropertyName &name) const; + NodeListProperty nodeListProperty(const PropertyName &name) const; + NodeProperty nodeProperty(const PropertyName &name) const; + NodeAbstractProperty nodeAbstractProperty(const PropertyName &name) const; - void removeProperty(const QString &name); //### also implement in AbstractProperty + void removeProperty(const PropertyName &name); //### also implement in AbstractProperty QList<AbstractProperty> properties() const; QList<VariantProperty> variantProperties() const; QList<NodeAbstractProperty> nodeAbstractProperties() const; QList<NodeProperty> nodeProperties() const; QList<NodeListProperty> nodeListProperties() const; QList<BindingProperty> bindingProperties() const; - QStringList propertyNames() const; + PropertyNameList propertyNames() const; bool hasProperties() const; - bool hasProperty(const QString &name) const; - bool hasVariantProperty(const QString &name) const; - bool hasBindingProperty(const QString &name) const; - bool hasNodeAbstracProperty(const QString &name) const; - bool hasNodeProperty(const QString &name) const; - bool hasNodeListProperty(const QString &name) const; + bool hasProperty(const PropertyName &name) const; + bool hasVariantProperty(const PropertyName &name) const; + bool hasBindingProperty(const PropertyName &name) const; + bool hasNodeAbstracProperty(const PropertyName &name) const; + bool hasNodeProperty(const PropertyName &name) const; + bool hasNodeListProperty(const PropertyName &name) const; void setScriptFunctions(const QStringList &scriptFunctionList); @@ -168,10 +168,10 @@ public: static int variantUserType(); QVariant toVariant() const; - QVariant auxiliaryData(const QString &name) const; - void setAuxiliaryData(const QString &name, const QVariant &data) const; - bool hasAuxiliaryData(const QString &name) const; - QHash<QString, QVariant> auxiliaryData() const; + QVariant auxiliaryData(const PropertyName &name) const; + void setAuxiliaryData(const PropertyName &name, const QVariant &data) const; + bool hasAuxiliaryData(const PropertyName &name) const; + QHash<PropertyName, QVariant> auxiliaryData() const; qint32 internalId() const; diff --git a/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h b/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h index 02c5f432bf..4d67a2e2af 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h +++ b/src/plugins/qmldesigner/designercore/include/nodeabstractproperty.h @@ -60,7 +60,7 @@ public: QList<ModelNode> allSubNodes(); protected: - NodeAbstractProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view); + NodeAbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view); NodeAbstractProperty(const Internal::InternalNodeAbstractPropertyPointer &property, Model *model, AbstractView *view); void reparentHere(const ModelNode &modelNode, bool isNodeList); }; diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstance.h b/src/plugins/qmldesigner/designercore/include/nodeinstance.h index 1560bdf323..5c5eafd9d5 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstance.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstance.h @@ -37,6 +37,7 @@ #include <QPair> #include "commondefines.h" +#include "nodeinstanceglobal.h" namespace QmlDesigner { @@ -71,11 +72,11 @@ public: int penWidth() const; void paint(QPainter *painter); - QVariant property(const QString &name) const; - bool hasBindingForProperty(const QString &name) const; - QPair<QString, qint32> anchor(const QString &name) const; - bool hasAnchor(const QString &name) const; - QString instanceType(const QString &name) const; + QVariant property(const PropertyName &name) const; + bool hasBindingForProperty(const PropertyName &name) const; + QPair<PropertyName, qint32> anchor(const PropertyName &name) const; + bool hasAnchor(const PropertyName &name) const; + TypeName instanceType(const PropertyName &name) const; qint32 parentId() const; qint32 instanceId() const; @@ -83,7 +84,7 @@ public: QPixmap renderPixmap() const; protected: - void setProperty(const QString &name, const QVariant &value); + void setProperty(const PropertyName &name, const QVariant &value); InformationName setInformation(InformationName name, const QVariant &information, const QVariant &secondInformation, @@ -101,10 +102,10 @@ protected: InformationName setInformationIsAnchoredByChildren(bool isAnchoredByChildren); InformationName setInformationIsAnchoredBySibling(bool isAnchoredBySibling); InformationName setInformationHasContent(bool hasContent); - InformationName setInformationHasAnchor(const QString &sourceAnchorLine, bool hasAnchor); - InformationName setInformationAnchor(const QString &sourceAnchorLine, const QString &targetAnchorLine, qint32 targetInstanceId); - InformationName setInformationInstanceTypeForProperty(const QString &property, const QString &type); - InformationName setInformationHasBindingForProperty(const QString &property, bool hasProperty); + InformationName setInformationHasAnchor(const PropertyName &sourceAnchorLine, bool hasAnchor); + InformationName setInformationAnchor(const PropertyName &sourceAnchorLine, const PropertyName &targetAnchorLine, qint32 targetInstanceId); + InformationName setInformationInstanceTypeForProperty(const PropertyName &property, const TypeName &type); + InformationName setInformationHasBindingForProperty(const PropertyName &property, bool hasProperty); void setParentId(qint32 instanceId); void setRenderPixmap(const QImage &image); diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h index 798bbd6000..0b9e725f78 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h @@ -99,7 +99,7 @@ public: void nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &movedNode, int oldIndex); void selectedNodesChanged(const QList<ModelNode> &selectedNodeList, const QList<ModelNode> &lastSelectedNodeList); void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void importsChanged(const QList<Import> &addedImports, const QList<Import> &removedImports); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); @@ -107,7 +107,7 @@ public: void instancesPreviewImageChanged(const QVector<ModelNode> &nodeList); void instancesChildrenChanged(const QVector<ModelNode> &nodeList); void instancesToken(const QString &tokenName, int tokenNumber, const QVector<ModelNode> &nodeVector); - void auxiliaryDataChanged(const ModelNode &node, const QString &name, const QVariant &data); + void auxiliaryDataChanged(const ModelNode &node, const PropertyName &name, const QVariant &data); void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data); void nodeSourceChanged(const ModelNode &modelNode, const QString &newNodeSource); diff --git a/src/plugins/qmldesigner/designercore/include/nodelistproperty.h b/src/plugins/qmldesigner/designercore/include/nodelistproperty.h index 5a9efc1a08..b410484e9c 100644 --- a/src/plugins/qmldesigner/designercore/include/nodelistproperty.h +++ b/src/plugins/qmldesigner/designercore/include/nodelistproperty.h @@ -62,7 +62,7 @@ public: ModelNode at(int index) const; protected: - NodeListProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); + NodeListProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); NodeListProperty(const Internal::InternalNodeListPropertyPointer &internalNodeListProperty, Model* model, AbstractView *view); }; } diff --git a/src/plugins/qmldesigner/designercore/include/nodemetainfo.h b/src/plugins/qmldesigner/designercore/include/nodemetainfo.h index d03c93fb6e..54f86ca67d 100644 --- a/src/plugins/qmldesigner/designercore/include/nodemetainfo.h +++ b/src/plugins/qmldesigner/designercore/include/nodemetainfo.h @@ -60,7 +60,7 @@ class QMLDESIGNERCORE_EXPORT NodeMetaInfo { public: NodeMetaInfo(); - NodeMetaInfo(Model *model, QString type, int maj, int min); + NodeMetaInfo(Model *model, TypeName type, int maj, int min); ~NodeMetaInfo(); @@ -69,23 +69,23 @@ public: bool isValid() const; bool isFileComponent() const; - bool hasProperty(const QString &propertyName) const; - QStringList propertyNames() const; - QStringList directPropertyNames() const; - QString defaultPropertyName() const; + bool hasProperty(const PropertyName &propertyName) const; + PropertyNameList propertyNames() const; + PropertyNameList directPropertyNames() const; + PropertyName defaultPropertyName() const; bool hasDefaultProperty() const; - QString propertyTypeName(const QString &propertyName) const; - bool propertyIsWritable(const QString &propertyName) const; - bool propertyIsListProperty(const QString &propertyName) const; - bool propertyIsEnumType(const QString &propertyName) const; - QString propertyEnumScope(const QString &propertyName) const; - QStringList propertyKeysForEnum(const QString &propertyName) const; - QVariant propertyCastedValue(const QString &propertyName, const QVariant &value) const; + TypeName propertyTypeName(const PropertyName &propertyName) const; + bool propertyIsWritable(const PropertyName &propertyName) const; + bool propertyIsListProperty(const PropertyName &propertyName) const; + bool propertyIsEnumType(const PropertyName &propertyName) const; + QString propertyEnumScope(const PropertyName &propertyName) const; + QStringList propertyKeysForEnum(const PropertyName &propertyName) const; + QVariant propertyCastedValue(const PropertyName &propertyName, const QVariant &value) const; QList<NodeMetaInfo> superClasses() const; NodeMetaInfo directSuperClass() const; - QString typeName() const; + TypeName typeName() const; int majorVersion() const; int minorVersion() const; @@ -95,7 +95,7 @@ public: bool hasCustomParser() const; bool availableInVersion(int majorVersion, int minorVersion) const; - bool isSubclassOf(const QString& type, int majorVersion, int minorVersio) const; + bool isSubclassOf(const TypeName &type, int majorVersion, int minorVersio) const; bool isPositioner() const; diff --git a/src/plugins/qmldesigner/designercore/include/nodeproperty.h b/src/plugins/qmldesigner/designercore/include/nodeproperty.h index 6c4d6089a9..191594b5af 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeproperty.h +++ b/src/plugins/qmldesigner/designercore/include/nodeproperty.h @@ -54,7 +54,7 @@ public: NodeProperty(); protected: - NodeProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); + NodeProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); }; } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/include/propertycontainer.h b/src/plugins/qmldesigner/designercore/include/propertycontainer.h index 67f9aec6f6..7d6452ef34 100644 --- a/src/plugins/qmldesigner/designercore/include/propertycontainer.h +++ b/src/plugins/qmldesigner/designercore/include/propertycontainer.h @@ -53,21 +53,21 @@ class QMLDESIGNERCORE_EXPORT PropertyContainer public: PropertyContainer(); - PropertyContainer(const QString &name, const QString &type, const QVariant &value); + PropertyContainer(const PropertyName &name, const QString &type, const QVariant &value); bool isValid() const; - QString name() const; + PropertyName name() const; QVariant value() const; QString type() const; void setValue(const QVariant &value); - void set(const QString &name, const QString &type, const QVariant &value); + void set(const PropertyName &name, const QString &type, const QVariant &value); private: - QString m_name; + PropertyName m_name; QString m_type; mutable QVariant m_value; }; diff --git a/src/plugins/qmldesigner/designercore/include/qmlchangeset.h b/src/plugins/qmldesigner/designercore/include/qmlchangeset.h index 11042559b2..9ba55974f9 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlchangeset.h +++ b/src/plugins/qmldesigner/designercore/include/qmlchangeset.h @@ -53,7 +53,7 @@ public: QmlPropertyChanges() : QmlModelStateOperation() {} QmlPropertyChanges(const ModelNode &modelNode) : QmlModelStateOperation(modelNode) {} bool isValid() const; - void removeProperty(const QString &name); + void removeProperty(const PropertyName &name); }; } //QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h b/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h index 449691b054..091c85903a 100644 --- a/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h +++ b/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h @@ -30,6 +30,9 @@ #ifndef CORELIB_GLOBAL_H #define CORELIB_GLOBAL_H +#include <QtGlobal> +#include <QList> + // Unnecessary since core isn't a dll any more. #define TEST_CORESHARED_EXPORT @@ -39,7 +42,12 @@ #else # define QMLDESIGNERCORE_EXPORT Q_DECL_IMPORT #endif - +namespace QmlDesigner { +typedef QByteArray PropertyName; +typedef QList<PropertyName> PropertyNameList; +typedef QByteArray TypeName; +typedef QByteArray IdName; +} //#if defined(TEST_EXPORTS) //#if defined(CORE_LIBRARY) //# define TEST_CORESHARED_EXPORT Q_DECL_EXPORT diff --git a/src/plugins/qmldesigner/designercore/include/qmlitemnode.h b/src/plugins/qmldesigner/designercore/include/qmlitemnode.h index 56a5783d94..0411ba77c4 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlitemnode.h +++ b/src/plugins/qmldesigner/designercore/include/qmlitemnode.h @@ -90,7 +90,7 @@ public: void deselectNode(); bool isSelected() const; - QString simplifiedTypeName() const; + TypeName simplifiedTypeName() const; const QList<QmlItemNode> allDirectSubModelNodes() const; const QList<QmlItemNode> allSubModelNodes() const; diff --git a/src/plugins/qmldesigner/designercore/include/qmlmodelview.h b/src/plugins/qmldesigner/designercore/include/qmlmodelview.h index dc0e47e4df..07077bdd01 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlmodelview.h +++ b/src/plugins/qmldesigner/designercore/include/qmlmodelview.h @@ -57,12 +57,12 @@ public: QmlModelState baseState() const; QmlModelStateGroup rootStateGroup() const; - QmlObjectNode createQmlObjectNode(const QString &typeString, + QmlObjectNode createQmlObjectNode(const TypeName &typeString, int majorVersion, int minorVersion, const PropertyListType &propertyList = PropertyListType()); - QmlItemNode createQmlItemNode(const QString &typeString, + QmlItemNode createQmlItemNode(const TypeName &typeString, int majorVersion, int minorVersion, const PropertyListType &propertyList = PropertyListType()); @@ -89,9 +89,7 @@ public: void modelAttached(Model *model); void modelAboutToBeDetached(Model *model); - virtual void nodeInstancePropertyChanged(const ModelNode &node, const QString &propertyName); - - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); @@ -125,9 +123,6 @@ public: protected: NodeInstance instanceForModelNode(const ModelNode &modelNode); bool hasInstanceForModelNode(const ModelNode &modelNode); - virtual void transformChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName) ; - virtual void parentChanged(const QmlObjectNode &qmlObjectNode); - virtual void otherPropertyChanged(const QmlObjectNode &qmlObjectNode, const QString &propertyName); void activateState(const QmlModelState &state); diff --git a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h index c0a6545f36..694e91eb03 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h +++ b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h @@ -58,21 +58,21 @@ public: QString validId(); QmlModelState currentState() const; - void setVariantProperty(const QString &name, const QVariant &value); - void setBindingProperty(const QString &name, const QString &expression); - NodeAbstractProperty nodeAbstractProperty(const QString &name) const; - NodeProperty nodeProperty(const QString &name) const; - NodeListProperty nodeListProperty(const QString &name) const; - - QVariant instanceValue(const QString &name) const; - QString instanceType(const QString &name) const; - - bool hasProperty(const QString &name) const; - bool hasBindingProperty(const QString &name) const; - bool instanceHasBinding(const QString &name) const; - bool propertyAffectedByCurrentState(const QString &name) const; - QVariant modelValue(const QString &name) const; - QString expression(const QString &name) const; + void setVariantProperty(const PropertyName &name, const QVariant &value); + void setBindingProperty(const PropertyName &name, const QString &expression); + NodeAbstractProperty nodeAbstractProperty(const PropertyName &name) const; + NodeProperty nodeProperty(const PropertyName &name) const; + NodeListProperty nodeListProperty(const PropertyName &name) const; + + QVariant instanceValue(const PropertyName &name) const; + TypeName instanceType(const PropertyName &name) const; + + bool hasProperty(const PropertyName &name) const; + bool hasBindingProperty(const PropertyName &name) const; + bool instanceHasBinding(const PropertyName &name) const; + bool propertyAffectedByCurrentState(const PropertyName &name) const; + QVariant modelValue(const PropertyName &name) const; + QString expression(const PropertyName &name) const; bool isInBaseState() const; QmlPropertyChanges propertyChangeForCurrentState() const; @@ -85,7 +85,7 @@ public: QList<QmlModelState> allAffectingStates() const; QList<QmlModelStateOperation> allAffectingStatesOperations() const; - void removeVariantProperty(const QString &name); + void removeVariantProperty(const PropertyName &name); void setParent(QmlObjectNode newParent); @@ -94,9 +94,9 @@ public: bool isAncestorOf(const QmlObjectNode &objectNode) const; bool hasDefaultProperty() const; - QString defaultProperty() const; + PropertyName defaultProperty() const; - static QVariant instanceValue(const ModelNode &modelNode, const QString &name); + static QVariant instanceValue(const ModelNode &modelNode, const PropertyName &name); protected: NodeInstance nodeInstance() const; diff --git a/src/plugins/qmldesigner/designercore/include/rewriterview.h b/src/plugins/qmldesigner/designercore/include/rewriterview.h index 805763fc27..664ea6f3c1 100644 --- a/src/plugins/qmldesigner/designercore/include/rewriterview.h +++ b/src/plugins/qmldesigner/designercore/include/rewriterview.h @@ -136,7 +136,7 @@ public: void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data); void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); diff --git a/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h b/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h index 55bf886ca3..42832ddb90 100644 --- a/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h +++ b/src/plugins/qmldesigner/designercore/include/subcomponentmanager.h @@ -57,7 +57,7 @@ public: QStringList directories() const; private slots: - void parseDirectory(const QString &canonicalDirPath, bool addToLibrary = true, const QString& qualification = QString()); + void parseDirectory(const QString &canonicalDirPath, bool addToLibrary = true, const TypeName &qualification = TypeName()); void parseFile(const QString &canonicalFilePath, bool addToLibrary, const QString&); void parseFile(const QString &canonicalFilePath); diff --git a/src/plugins/qmldesigner/designercore/include/variantproperty.h b/src/plugins/qmldesigner/designercore/include/variantproperty.h index 54bc3df1c0..72d115c4ed 100644 --- a/src/plugins/qmldesigner/designercore/include/variantproperty.h +++ b/src/plugins/qmldesigner/designercore/include/variantproperty.h @@ -56,13 +56,12 @@ public: QVariant value() const; VariantProperty& operator= (const QVariant &value); - void setDynamicTypeNameAndValue(const QString &type, const QVariant &value); - Q_DECL_DEPRECATED VariantProperty& operator= (const QPair<QString, QVariant> &typeValuePair); + void setDynamicTypeNameAndValue(const TypeName &type, const QVariant &value); VariantProperty(); VariantProperty(const VariantProperty &property, AbstractView *view); protected: - VariantProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); + VariantProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view); }; QMLDESIGNERCORE_EXPORT QTextStream& operator<<(QTextStream &stream, const VariantProperty &property); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp index 7381ed2e42..2216b1f6fa 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp @@ -67,13 +67,13 @@ public: bool isInPositioner; - QHash<QString, QVariant> propertyValues; - QHash<QString, bool> hasBindingForProperty; - QHash<QString, bool> hasAnchors; - QHash<QString, QString> instanceTypes; + QHash<PropertyName, QVariant> propertyValues; + QHash<PropertyName, bool> hasBindingForProperty; + QHash<PropertyName, bool> hasAnchors; + QHash<PropertyName, TypeName> instanceTypes; QPixmap renderPixmap; - QHash<QString, QPair<QString, qint32> > anchors; + QHash<PropertyName, QPair<PropertyName, qint32> > anchors; }; NodeInstance::NodeInstance() @@ -236,7 +236,7 @@ void NodeInstance::paint(QPainter *painter) painter->drawPixmap(boundingRect().topLeft(), d->renderPixmap); } -QVariant NodeInstance::property(const QString &name) const +QVariant NodeInstance::property(const PropertyName &name) const { if (isValid()) return d->propertyValues.value(name); @@ -244,7 +244,7 @@ QVariant NodeInstance::property(const QString &name) const return QVariant(); } -bool NodeInstance::hasBindingForProperty(const QString &name) const +bool NodeInstance::hasBindingForProperty(const PropertyName &name) const { if (isValid()) return d->hasBindingForProperty.value(name, false); @@ -252,12 +252,12 @@ bool NodeInstance::hasBindingForProperty(const QString &name) const return false; } -QString NodeInstance::instanceType(const QString &name) const +TypeName NodeInstance::instanceType(const PropertyName &name) const { if (isValid()) return d->instanceTypes.value(name); - return QString(); + return TypeName(); } qint32 NodeInstance::parentId() const @@ -268,7 +268,7 @@ qint32 NodeInstance::parentId() const return false; } -bool NodeInstance::hasAnchor(const QString &name) const +bool NodeInstance::hasAnchor(const PropertyName &name) const { if (isValid()) return d->hasAnchors.value(name, false); @@ -276,15 +276,15 @@ bool NodeInstance::hasAnchor(const QString &name) const return false; } -QPair<QString, qint32> NodeInstance::anchor(const QString &name) const +QPair<PropertyName, qint32> NodeInstance::anchor(const PropertyName &name) const { if (isValid()) - return d->anchors.value(name, QPair<QString, qint32>(QString(), qint32(-1))); + return d->anchors.value(name, QPair<PropertyName, qint32>(PropertyName(), qint32(-1))); - return QPair<QString, qint32>(QString(), -1); + return QPair<PropertyName, qint32>(PropertyName(), -1); } -void NodeInstance::setProperty(const QString &name, const QVariant &value) +void NodeInstance::setProperty(const PropertyName &name, const QVariant &value) { d->propertyValues.insert(name, value); } @@ -425,7 +425,7 @@ InformationName NodeInstance::setInformationHasContent(bool hasContent) return NoInformationChange; } -InformationName NodeInstance::setInformationHasAnchor(const QString &sourceAnchorLine, bool hasAnchor) +InformationName NodeInstance::setInformationHasAnchor(const PropertyName &sourceAnchorLine, bool hasAnchor) { if (d->hasAnchors.value(sourceAnchorLine) != hasAnchor) { d->hasAnchors.insert(sourceAnchorLine, hasAnchor); @@ -435,9 +435,9 @@ InformationName NodeInstance::setInformationHasAnchor(const QString &sourceAncho return NoInformationChange; } -InformationName NodeInstance::setInformationAnchor(const QString &sourceAnchorLine, const QString &targetAnchorLine, qint32 targetInstanceId) +InformationName NodeInstance::setInformationAnchor(const PropertyName &sourceAnchorLine, const PropertyName &targetAnchorLine, qint32 targetInstanceId) { - QPair<QString, qint32> anchorPair = QPair<QString, qint32>(targetAnchorLine, targetInstanceId); + QPair<PropertyName, qint32> anchorPair = QPair<PropertyName, qint32>(targetAnchorLine, targetInstanceId); if (d->anchors.value(sourceAnchorLine) != anchorPair) { d->anchors.insert(sourceAnchorLine, anchorPair); return Anchor; @@ -446,7 +446,7 @@ InformationName NodeInstance::setInformationAnchor(const QString &sourceAnchorLi return NoInformationChange; } -InformationName NodeInstance::setInformationInstanceTypeForProperty(const QString &property, const QString &type) +InformationName NodeInstance::setInformationInstanceTypeForProperty(const PropertyName &property, const TypeName &type) { if (d->instanceTypes.value(property) != type) { d->instanceTypes.insert(property, type); @@ -456,7 +456,7 @@ InformationName NodeInstance::setInformationInstanceTypeForProperty(const QStrin return NoInformationChange; } -InformationName NodeInstance::setInformationHasBindingForProperty(const QString &property, bool hasProperty) +InformationName NodeInstance::setInformationHasBindingForProperty(const PropertyName &property, bool hasProperty) { if (d->hasBindingForProperty.value(property) != hasProperty) { d->hasBindingForProperty.insert(property, hasProperty); @@ -481,10 +481,10 @@ InformationName NodeInstance::setInformation(InformationName name, const QVarian case IsAnchoredByChildren: return setInformationIsAnchoredByChildren(information.toBool()); break; case IsAnchoredBySibling: return setInformationIsAnchoredBySibling(information.toBool()); break; case HasContent: return setInformationHasContent(information.toBool()); break; - case HasAnchor: return setInformationHasAnchor(information.toString(), secondInformation.toBool());break; - case Anchor: return setInformationAnchor(information.toString(), secondInformation.toString(), thirdInformation.value<qint32>()); break; - case InstanceTypeForProperty: return setInformationInstanceTypeForProperty(information.toString(), secondInformation.toString()); break; - case HasBindingForProperty: return setInformationHasBindingForProperty(information.toString(), secondInformation.toBool()); break; + case HasAnchor: return setInformationHasAnchor(information.toByteArray(), secondInformation.toBool());break; + case Anchor: return setInformationAnchor(information.toByteArray(), secondInformation.toByteArray(), thirdInformation.value<qint32>()); break; + case InstanceTypeForProperty: return setInformationInstanceTypeForProperty(information.toByteArray(), secondInformation.toByteArray()); break; + case HasBindingForProperty: return setInformationHasBindingForProperty(information.toByteArray(), secondInformation.toBool()); break; case NoName: default: break; } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index b8b4908ba4..301e1759c9 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -431,7 +431,7 @@ void NodeInstanceView::nodeOrderChanged(const NodeListProperty & listProperty, const ModelNode & /*movedNode*/, int /*oldIndex*/) { QVector<ReparentContainer> containerList; - QString propertyName = listProperty.name(); + PropertyName propertyName = listProperty.name(); qint32 containerInstanceId = -1; ModelNode containerNode = listProperty.parentModelNode(); if (hasInstanceForNode(containerNode)) @@ -468,7 +468,7 @@ void NodeInstanceView::scriptFunctionsChanged(const ModelNode &/*node*/, const Q } -void NodeInstanceView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &/*propertyList*/) +void NodeInstanceView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &/*propertyList*/) { } @@ -507,23 +507,23 @@ void NodeInstanceView::instancesToken(const QString &/*tokenName*/, int /*tokenN } -void NodeInstanceView::auxiliaryDataChanged(const ModelNode &node, const QString &name, const QVariant &data) +void NodeInstanceView::auxiliaryDataChanged(const ModelNode &node, const PropertyName &name, const QVariant &data) { - if ((node.isRootNode() && (name == "width" || name == "height")) || name.endsWith(QLatin1String("@NodeInstance"))) { + if ((node.isRootNode() && (name == "width" || name == "height")) || name.endsWith(PropertyName("@NodeInstance"))) { if (hasInstanceForNode(node)) { NodeInstance instance = instanceForNode(node); QVariant value = data; if (value.isValid()) { - PropertyValueContainer container(instance.instanceId(), name, value, QString()); + PropertyValueContainer container(instance.instanceId(), name, value, TypeName()); ChangeAuxiliaryCommand changeAuxiliaryCommand(QVector<PropertyValueContainer>() << container); nodeInstanceServer()->changeAuxiliaryValues(changeAuxiliaryCommand); } else { if (node.hasVariantProperty(name)) { - PropertyValueContainer container(instance.instanceId(), name, node.variantProperty(name).value(), QString()); + PropertyValueContainer container(instance.instanceId(), name, node.variantProperty(name).value(), TypeName()); ChangeValuesCommand changeValueCommand(QVector<PropertyValueContainer>() << container); nodeInstanceServer()->changePropertyValues(changeValueCommand); } else if (node.hasBindingProperty(name)) { - PropertyBindingContainer container(instance.instanceId(), name, node.bindingProperty(name).expression(), QString()); + PropertyBindingContainer container(instance.instanceId(), name, node.bindingProperty(name).expression(), TypeName()); ChangeBindingsCommand changeValueCommand(QVector<PropertyBindingContainer>() << container); nodeInstanceServer()->changePropertyBindings(changeValueCommand); } @@ -778,10 +778,10 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand() bindingPropertyList.append(node.bindingProperties()); if (node.isValid() && hasInstanceForNode(node)) { NodeInstance instance = instanceForNode(node); - QHashIterator<QString, QVariant> auxiliaryIterator(node.auxiliaryData()); + QHashIterator<PropertyName, QVariant> auxiliaryIterator(node.auxiliaryData()); while (auxiliaryIterator.hasNext()) { auxiliaryIterator.next(); - PropertyValueContainer container(instance.instanceId(), auxiliaryIterator.key(), auxiliaryIterator.value(), QString()); + PropertyValueContainer container(instance.instanceId(), auxiliaryIterator.key(), auxiliaryIterator.value(), TypeName()); auxiliaryContainerVector.append(container); } } @@ -813,7 +813,7 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand() foreach (const NodeInstance &instance, instanceList) { if (instance.modelNode().hasParentProperty()) { NodeAbstractProperty parentProperty = instance.modelNode().parentProperty(); - ReparentContainer container(instance.instanceId(), -1, QString(), instanceForNode(parentProperty.parentModelNode()).instanceId(), parentProperty.name()); + ReparentContainer container(instance.instanceId(), -1, PropertyName(), instanceForNode(parentProperty.parentModelNode()).instanceId(), parentProperty.name()); reparentContainerList.append(container); } } @@ -912,7 +912,7 @@ ReparentInstancesCommand NodeInstanceView::createReparentInstancesCommand(const foreach (const NodeInstance &instance, instanceList) { if (instance.modelNode().hasParentProperty()) { NodeAbstractProperty parentProperty = instance.modelNode().parentProperty(); - ReparentContainer container(instance.instanceId(), -1, QString(), instanceForNode(parentProperty.parentModelNode()).instanceId(), parentProperty.name()); + ReparentContainer container(instance.instanceId(), -1, PropertyName(), instanceForNode(parentProperty.parentModelNode()).instanceId(), parentProperty.name()); containerList.append(container); } } @@ -1059,7 +1059,7 @@ void NodeInstanceView::valuesChanged(const ValuesChangedCommand &command) if (!model()) return; - QList<QPair<ModelNode, QString> > valuePropertyChangeList; + QList<QPair<ModelNode, PropertyName> > valuePropertyChangeList; foreach (const PropertyValueContainer &container, command.valueChanges()) { if (hasInstanceForId(container.instanceId())) { diff --git a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp index 0063a1377d..e137f6f3d6 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp @@ -42,7 +42,7 @@ public: ItemLibraryEntryData() : majorVersion(-1), minorVersion(-1) { } QString name; - QString typeName; + TypeName typeName; QString category; int majorVersion; int minorVersion; @@ -113,7 +113,7 @@ QString ItemLibraryEntry::name() const return m_data->name; } -QString ItemLibraryEntry::typeName() const +TypeName ItemLibraryEntry::typeName() const { return m_data->typeName; } @@ -168,7 +168,7 @@ void ItemLibraryEntry::setName(const QString &name) m_data->name = name; } -void ItemLibraryEntry::setType(const QString &typeName, int majorVersion, int minorVersion) +void ItemLibraryEntry::setType(const TypeName &typeName, int majorVersion, int minorVersion) { m_data->typeName = typeName; m_data->majorVersion = majorVersion; @@ -195,7 +195,7 @@ void ItemLibraryEntry::setForceImport(bool b) m_data->forceImport = b; } -void ItemLibraryEntry::addProperty(QString &name, QString &type, QVariant &value) +void ItemLibraryEntry::addProperty(PropertyName &name, QString &type, QVariant &value) { Property property; property.set(name, type, value); diff --git a/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp b/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp index 1885723dfe..77fc504bb2 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp @@ -83,7 +83,7 @@ QStringList MetaInfoReader::errors() return QmlJS::SimpleAbstractStreamReader::errors(); } -void MetaInfoReader::setQualifcation(const QString &qualification) +void MetaInfoReader::setQualifcation(const TypeName &qualification) { m_qualication = qualification; } @@ -142,7 +142,7 @@ void MetaInfoReader::propertyDefinition(const QString &name, const QVariant &val MetaInfoReader::ParserSate MetaInfoReader::readDocument(const QString &name) { if (name == QLatin1String(rootElementName)) { - m_currentClassName = QString(); + m_currentClassName.clear(); m_currentIcon = QString(); return ParsingMetaInfo; } else { @@ -154,7 +154,7 @@ MetaInfoReader::ParserSate MetaInfoReader::readDocument(const QString &name) MetaInfoReader::ParserSate MetaInfoReader::readMetaInfoRootElement(const QString &name) { if (name == QLatin1String(typeElementName)) { - m_currentClassName = QString(); + m_currentClassName .clear(); m_currentIcon = QString(); return ParsingType; } else { @@ -182,7 +182,7 @@ MetaInfoReader::ParserSate MetaInfoReader::readItemLibraryEntryElement(const QSt if (name == QmlSourceElementName) { return ParsingQmlSource; } else if (name == PropertyElementName) { - m_currentPropertyName = QString(); + m_currentPropertyName = PropertyName(); m_currentPropertyType = QString(); m_currentPropertyValue = QVariant(); return ParsingProperty; @@ -207,9 +207,9 @@ MetaInfoReader::ParserSate MetaInfoReader::readQmlSourceElement(const QString &n void MetaInfoReader::readTypeProperty(const QString &name, const QVariant &value) { if (name == QLatin1String("name")) { - m_currentClassName = value.toString(); + m_currentClassName = value.toString().toUtf8(); if (!m_qualication.isEmpty()) //prepend qualification - m_currentClassName = m_qualication + QLatin1String(".") + m_currentClassName; + m_currentClassName = m_qualication + "." + m_currentClassName; } else if (name == QLatin1String("icon")) { m_currentIcon = absoluteFilePathForDocument(value.toString()); } else { @@ -241,7 +241,7 @@ void MetaInfoReader::readItemLibraryEntryProperty(const QString &name, const QVa void MetaInfoReader::readPropertyProperty(const QString &name, const QVariant &value) { if (name == QLatin1String("name")) { - m_currentPropertyName = value.toString(); + m_currentPropertyName = value.toByteArray(); } else if (name == QLatin1String("type")) { m_currentPropertyType = value.toString(); } else if (name == QLatin1String("value")) { @@ -264,7 +264,7 @@ void MetaInfoReader::readQmlSourceProperty(const QString &name, const QVariant & void MetaInfoReader::setVersion(const QString &versionNumber) { - const QString typeName = m_currentEntry.typeName(); + const TypeName typeName = m_currentEntry.typeName(); int major = 1; int minor = 0; diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 4069d3677b..9d6a23e21d 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -55,7 +55,7 @@ namespace Internal { struct TypeDescription { - QString className; + TypeName className; int minorVersion; int majorVersion; }; @@ -83,18 +83,18 @@ namespace Internal { using namespace QmlJS; -typedef QPair<QString, QString> PropertyInfo; +typedef QPair<PropertyName, TypeName> PropertyInfo; QList<PropertyInfo> getObjectTypes(const ObjectValue *ov, const ContextPtr &context, bool local = false); -static QString resolveTypeName(const ASTPropertyReference *ref, const ContextPtr &context, QList<PropertyInfo> &dotProperties) +static TypeName resolveTypeName(const ASTPropertyReference *ref, const ContextPtr &context, QList<PropertyInfo> &dotProperties) { - QString type = QLatin1String("unknown"); + TypeName type = "unknown"; if (!ref->ast()->memberType.isEmpty()) { - type = ref->ast()->memberType.toString(); + type = ref->ast()->memberType.toUtf8(); - if (type == QLatin1String("alias")) { + if (type == "alias") { const Value *value = context->lookupReference(ref); if (!value) @@ -102,22 +102,22 @@ static QString resolveTypeName(const ASTPropertyReference *ref, const ContextPtr if (const ASTObjectValue * astObjectValue = value->asAstObjectValue()) { if (astObjectValue->typeName()) - type = astObjectValue->typeName()->name.toString(); + type = astObjectValue->typeName()->name.toUtf8(); } else if (const ObjectValue * objectValue = value->asObjectValue()) { - type = objectValue->className(); + type = objectValue->className().toUtf8(); dotProperties = getObjectTypes(objectValue, context); } else if (value->asColorValue()) { - type = QLatin1String("color"); + type = "color"; } else if (value->asUrlValue()) { - type = QLatin1String("url"); + type = "url"; } else if (value->asStringValue()) { - type = QLatin1String("string"); + type = "string"; } else if (value->asRealValue()) { - type = QLatin1String("real"); + type = "real"; } else if (value->asIntValue()) { - type = QLatin1String("int"); + type = "int"; } else if (value->asBooleanValue()) { - type = QLatin1String("boolean"); + type = "boolean"; } } } @@ -130,35 +130,36 @@ class PropertyMemberProcessor : public MemberProcessor public: PropertyMemberProcessor(const ContextPtr &context) : m_context(context) {} - virtual bool processProperty(const QString &name, const Value *value) + bool processProperty(const QString &name, const Value *value) { + PropertyName propertyName = name.toUtf8(); const ASTPropertyReference *ref = value_cast<ASTPropertyReference>(value); if (ref) { QList<PropertyInfo> dotProperties; - const QString type = resolveTypeName(ref, m_context, dotProperties); - m_properties.append(qMakePair(name, type)); + const TypeName type = resolveTypeName(ref, m_context, dotProperties); + m_properties.append(qMakePair(propertyName, type)); if (!dotProperties.isEmpty()) { foreach (const PropertyInfo &propertyInfo, dotProperties) { - QString dotName = propertyInfo.first; - QString type = propertyInfo.second; - dotName = name + '.' + dotName; + PropertyName dotName = propertyInfo.first; + TypeName type = propertyInfo.second; + dotName = propertyName + '.' + dotName; m_properties.append(qMakePair(dotName, type)); } } } else { - if (const CppComponentValue * ov = value_cast<CppComponentValue>(value)) { - QString qualifiedTypeName = ov->moduleName().isEmpty() ? ov->className() : ov->moduleName() + '.' + ov->className(); - m_properties.append(qMakePair(name, qualifiedTypeName)); + if (const CppComponentValue * cppComponentValue = value_cast<CppComponentValue>(value)) { + TypeName qualifiedTypeName = cppComponentValue->moduleName().isEmpty() ? cppComponentValue->className().toUtf8() : cppComponentValue->moduleName().toUtf8() + '.' + cppComponentValue->className().toUtf8(); + m_properties.append(qMakePair(propertyName, qualifiedTypeName)); } else { TypeId typeId; - QString typeName = typeId(value); - if (typeName == QLatin1String("number")) { + TypeName typeName = typeId(value).toUtf8(); + if (typeName == "number") { if (value->asRealValue()) typeName = "real"; else typeName = "int"; } - m_properties.append(qMakePair(name, typeName)); + m_properties.append(qMakePair(propertyName, typeName)); } } return true; @@ -217,108 +218,110 @@ QStringList prototypes(const ObjectValue *ov, const ContextPtr &context, bool ve return list; } -QList<PropertyInfo> getQmlTypes(const CppComponentValue *ov, const ContextPtr &context, bool local = false) +QList<PropertyInfo> getQmlTypes(const CppComponentValue *objectValue, const ContextPtr &context, bool local = false) { - QList<PropertyInfo> list; - if (!ov) - return list; - if (ov->className().isEmpty()) - return list; + QList<PropertyInfo> propertyList; + + if (!objectValue) + return propertyList; + if (objectValue->className().isEmpty()) + return propertyList; PropertyMemberProcessor processor(context); - ov->processMembers(&processor); + objectValue->processMembers(&processor); QList<PropertyInfo> newList = processor.properties(); foreach (PropertyInfo property, newList) { - QString name = property.first; - if (!ov->isWritable(name) && ov->isPointer(name)) { + PropertyName name = property.first; + if (!objectValue->isWritable(name) && objectValue->isPointer(name)) { //dot property - const CppComponentValue * qmlValue = value_cast<CppComponentValue>(ov->lookupMember(name, context)); + const CppComponentValue * qmlValue = value_cast<CppComponentValue>(objectValue->lookupMember(name, context)); if (qmlValue) { QList<PropertyInfo> dotProperties = getQmlTypes(qmlValue, context); foreach (const PropertyInfo &propertyInfo, dotProperties) { - QString dotName = propertyInfo.first; - QString type = propertyInfo.second; + PropertyName dotName = propertyInfo.first; + TypeName type = propertyInfo.second; dotName = name + '.' + dotName; - list.append(qMakePair(dotName, type)); + propertyList.append(qMakePair(dotName, type)); } } } - if (isValueType(ov->propertyType(name))) { - const ObjectValue *dotObjectValue = value_cast<ObjectValue>(ov->lookupMember(name, context)); + if (isValueType(objectValue->propertyType(name))) { + const ObjectValue *dotObjectValue = value_cast<ObjectValue>(objectValue->lookupMember(name, context)); if (dotObjectValue) { QList<PropertyInfo> dotProperties = getObjectTypes(dotObjectValue, context); foreach (const PropertyInfo &propertyInfo, dotProperties) { - QString dotName = propertyInfo.first; - QString type = propertyInfo.second; + PropertyName dotName = propertyInfo.first; + TypeName type = propertyInfo.second; dotName = name + '.' + dotName; - list.append(qMakePair(dotName, type)); + propertyList.append(qMakePair(dotName, type)); } } } - QString type = property.second; - if (!ov->isPointer(name) && !ov->isListProperty(name)) - type = ov->propertyType(name); - list.append(qMakePair(name, type)); + TypeName type = property.second; + if (!objectValue->isPointer(name) && !objectValue->isListProperty(name)) + type = objectValue->propertyType(name).toUtf8(); + propertyList.append(qMakePair(name, type)); } if (!local) { - const ObjectValue* prototype = ov->prototype(context); + const ObjectValue* prototype = objectValue->prototype(context); const CppComponentValue * qmlObjectValue = value_cast<CppComponentValue>(prototype); if (qmlObjectValue) - list << getQmlTypes(qmlObjectValue, context); + propertyList.append(getQmlTypes(qmlObjectValue, context)); else - list << getObjectTypes(prototype, context); + propertyList.append(getObjectTypes(prototype, context)); } - return list; + return propertyList; } -QList<PropertyInfo> getTypes(const ObjectValue *ov, const ContextPtr &context, bool local = false) +QList<PropertyInfo> getTypes(const ObjectValue *objectValue, const ContextPtr &context, bool local = false) { - QList<PropertyInfo> list; + QList<PropertyInfo> propertyList; - const CppComponentValue * qmlObjectValue = value_cast<CppComponentValue>(ov); + const CppComponentValue * qmlObjectValue = value_cast<CppComponentValue>(objectValue); if (qmlObjectValue) - list << getQmlTypes(qmlObjectValue, context, local); + propertyList.append(getQmlTypes(qmlObjectValue, context, local)); else - list << getObjectTypes(ov, context, local); + propertyList.append(getObjectTypes(objectValue, context, local)); - return list; + return propertyList; } -QList<PropertyInfo> getObjectTypes(const ObjectValue *ov, const ContextPtr &context, bool local) +QList<PropertyInfo> getObjectTypes(const ObjectValue *objectValue, const ContextPtr &context, bool local) { - QList<PropertyInfo> list; - if (!ov) - return list; - if (ov->className().isEmpty()) - return list; + QList<PropertyInfo> propertyList; + + if (!objectValue) + return propertyList; + if (objectValue->className().isEmpty()) + return propertyList; PropertyMemberProcessor processor(context); - ov->processMembers(&processor); + objectValue->processMembers(&processor); - list << processor.properties(); + propertyList.append(processor.properties()); if (!local) { - const ObjectValue* prototype = ov->prototype(context); + const ObjectValue* prototype = objectValue->prototype(context); - if (prototype == ov) - return list; + if (prototype == objectValue) + return propertyList; const CppComponentValue * qmlObjectValue = value_cast<CppComponentValue>(prototype); if (qmlObjectValue) - list << getQmlTypes(qmlObjectValue, context); + propertyList.append(getQmlTypes(qmlObjectValue, context)); else - list << getObjectTypes(prototype, context); + propertyList.append(getObjectTypes(prototype, context)); } - return list; + return propertyList; } class NodeMetaInfoPrivate @@ -330,26 +333,26 @@ public: bool isValid() const; bool isFileComponent() const; - QStringList properties() const; - QStringList localProperties() const; - QString defaultPropertyName() const; - QString propertyType(const QString &propertyName) const; + PropertyNameList properties() const; + PropertyNameList localProperties() const; + PropertyName defaultPropertyName() const; + TypeName propertyType(const PropertyName &propertyName) const; void setupPrototypes(); QList<TypeDescription> prototypes() const; - bool isPropertyWritable(const QString &propertyName) const; - bool isPropertyPointer(const QString &propertyName) const; - bool isPropertyList(const QString &propertyName) const; - bool isPropertyEnum(const QString &propertyName) const; - QString propertyEnumScope(const QString &propertyName) const; + bool isPropertyWritable(const PropertyName &propertyName) const; + bool isPropertyPointer(const PropertyName &propertyName) const; + bool isPropertyList(const PropertyName &propertyName) const; + bool isPropertyEnum(const PropertyName &propertyName) const; + QString propertyEnumScope(const PropertyName &propertyName) const; QStringList keysForEnum(const QString &enumName) const; bool cleverCheckType(const QString &otherType) const; - QVariant::Type variantTypeId(const QString &properyName) const; + QVariant::Type variantTypeId(const PropertyName &properyName) const; int majorVersion() const; int minorVersion() const; - QString qualfiedTypeName() const; + TypeName qualfiedTypeName() const; Model *model() const; QString cppPackageName() const; @@ -358,7 +361,7 @@ public: QString componentFileName() const; QString importDirectoryPath() const; - static Pointer create(Model *model, const QString &type, int maj = -1, int min = -1); + static Pointer create(Model *model, const TypeName &type, int maj = -1, int min = -1); QSet<QString> &prototypeCachePositives(); QSet<QString> &prototypeCacheNegatives(); @@ -367,7 +370,7 @@ public: private: - NodeMetaInfoPrivate(Model *model, QString type, int maj = -1, int min = -1); + NodeMetaInfoPrivate(Model *model, TypeName type, int maj = -1, int min = -1); const QmlJS::CppComponentValue *getCppComponentValue() const; const QmlJS::ObjectValue *getObjectValue() const; @@ -378,15 +381,15 @@ private: const QmlJS::CppComponentValue *getNearestCppComponentValue() const; QString fullQualifiedImportAliasType() const; - QString m_qualfiedTypeName; + TypeName m_qualfiedTypeName; int m_majorVersion; int m_minorVersion; bool m_isValid; bool m_isFileComponent; - QStringList m_properties; - QStringList m_propertyTypes; - QStringList m_localProperties; - QString m_defaultPropertyName; + PropertyNameList m_properties; + QList<TypeName> m_propertyTypes; + PropertyNameList m_localProperties; + PropertyName m_defaultPropertyName; QList<TypeDescription> m_prototypes; QSet<QString> m_prototypeCachePositives; QSet<QString> m_prototypeCacheNegatives; @@ -406,12 +409,12 @@ bool NodeMetaInfoPrivate::isFileComponent() const return m_isFileComponent; } -QStringList NodeMetaInfoPrivate::properties() const +PropertyNameList NodeMetaInfoPrivate::properties() const { return m_properties; } -QStringList NodeMetaInfoPrivate::localProperties() const +PropertyNameList NodeMetaInfoPrivate::localProperties() const { return m_localProperties; } @@ -431,11 +434,11 @@ void NodeMetaInfoPrivate::clearCache() m_nodeMetaInfoCache.clear(); } -QString NodeMetaInfoPrivate::defaultPropertyName() const +PropertyName NodeMetaInfoPrivate::defaultPropertyName() const { if (!m_defaultPropertyName.isEmpty()) return m_defaultPropertyName; - return QLatin1String("data"); + return PropertyName("data"); } static inline QString stringIdentifier( const QString &type, int maj, int min) @@ -443,19 +446,19 @@ static inline QString stringIdentifier( const QString &type, int maj, int min) return type + QString::number(maj) + '_' + QString::number(min); } -NodeMetaInfoPrivate::Pointer NodeMetaInfoPrivate::create(Model *model, const QString &type, int maj, int min) +NodeMetaInfoPrivate::Pointer NodeMetaInfoPrivate::create(Model *model, const TypeName &type, int major, int minor) { - if (m_nodeMetaInfoCache.contains(stringIdentifier(type, maj, min))) { - const Pointer &info = m_nodeMetaInfoCache.value(stringIdentifier(type, maj, min)); + if (m_nodeMetaInfoCache.contains(stringIdentifier(type, major, minor))) { + const Pointer &info = m_nodeMetaInfoCache.value(stringIdentifier(type, major, minor)); if (info->model() == model) return info; else m_nodeMetaInfoCache.clear(); } - Pointer newData(new NodeMetaInfoPrivate(model, type, maj, min)); + Pointer newData(new NodeMetaInfoPrivate(model, type, major, minor)); if (newData->isValid()) - m_nodeMetaInfoCache.insert(stringIdentifier(type, maj, min), newData); + m_nodeMetaInfoCache.insert(stringIdentifier(type, major, minor), newData); return newData; } @@ -464,13 +467,14 @@ NodeMetaInfoPrivate::NodeMetaInfoPrivate() : m_isValid(false) } -NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, QString type, int maj, int min) : +NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, TypeName type, int maj, int min) : m_qualfiedTypeName(type), m_majorVersion(maj), m_minorVersion(min), m_isValid(false), m_isFileComponent(false), m_model(model) { if (context()) { const CppComponentValue *objectValue = getCppComponentValue(); + if (objectValue) { if (m_majorVersion == -1 && m_minorVersion == -1) { m_majorVersion = objectValue->componentVersion().majorVersion(); @@ -478,7 +482,7 @@ NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, QString type, int maj, in } setupPropertyInfo(getTypes(objectValue, context())); setupLocalPropertyInfo(getTypes(objectValue, context(), true)); - m_defaultPropertyName = objectValue->defaultPropertyName(); + m_defaultPropertyName = objectValue->defaultPropertyName().toUtf8(); m_isValid = true; setupPrototypes(); } else { @@ -489,9 +493,9 @@ NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, QString type, int maj, in if (m_majorVersion == -1 && m_minorVersion == -1) { m_majorVersion = qmlValue->componentVersion().majorVersion(); m_minorVersion = qmlValue->componentVersion().minorVersion(); - m_qualfiedTypeName = qmlValue->moduleName() + '.' + qmlValue->className(); + m_qualfiedTypeName = qmlValue->moduleName().toUtf8() + '.' + qmlValue->className().toUtf8(); } else if (m_majorVersion == qmlValue->componentVersion().majorVersion() && m_minorVersion == qmlValue->componentVersion().minorVersion()) { - m_qualfiedTypeName = qmlValue->moduleName() + '.' + qmlValue->className(); + m_qualfiedTypeName = qmlValue->moduleName().toUtf8() + '.' + qmlValue->className().toUtf8(); } else { return; } @@ -506,7 +510,7 @@ NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, QString type, int maj, in } setupPropertyInfo(getTypes(objectValue, context())); setupLocalPropertyInfo(getTypes(objectValue, context(), true)); - m_defaultPropertyName = context()->defaultPropertyName(objectValue); + m_defaultPropertyName = context()->defaultPropertyName(objectValue).toUtf8(); m_isValid = true; setupPrototypes(); } @@ -516,28 +520,28 @@ NodeMetaInfoPrivate::NodeMetaInfoPrivate(Model *model, QString type, int maj, in const QmlJS::CppComponentValue *NodeMetaInfoPrivate::getCppComponentValue() const { - const QStringList nameComponents = m_qualfiedTypeName.split('.'); + const QList<TypeName> nameComponents = m_qualfiedTypeName.split('.'); if (nameComponents.size() < 2) return 0; - const QString type = nameComponents.last(); + const TypeName type = nameComponents.last(); // maybe 'type' is a cpp name const QmlJS::CppComponentValue *value = context()->valueOwner()->cppQmlTypes().objectByCppName(type); if (value) return value; - QString module; + TypeName module; for (int i = 0; i < nameComponents.size() - 1; ++i) { if (i != 0) - module += QLatin1Char('/'); + module += '/'; module += nameComponents.at(i); } // otherwise get the qml object value that's available in the document foreach (const QmlJS::Import &import, context()->imports(document())->all()) { - if (import.info.path() != module) + if (import.info.path() != QString::fromUtf8(module)) continue; - const Value *lookupResult = import.object->lookupMember(type, context()); + const Value *lookupResult = import.object->lookupMember(QString::fromUtf8(type), context()); const CppComponentValue *cppValue = value_cast<CppComponentValue>(lookupResult); if (cppValue && (m_majorVersion == -1 || m_majorVersion == cppValue->componentVersion().majorVersion()) @@ -583,21 +587,21 @@ void NodeMetaInfoPrivate::setupPropertyInfo(QList<PropertyInfo> propertyInfos) } } -bool NodeMetaInfoPrivate::isPropertyWritable(const QString &propertyName) const +bool NodeMetaInfoPrivate::isPropertyWritable(const PropertyName &propertyName) const { if (!isValid()) return false; if (propertyName.contains('.')) { - const QStringList parts = propertyName.split('.'); - const QString objectName = parts.first(); - const QString rawPropertyName = parts.last(); + const PropertyNameList parts = propertyName.split('.'); + const PropertyName objectName = parts.first(); + const PropertyName rawPropertyName = parts.last(); const QString objectType = propertyType(objectName); if (isValueType(objectType)) return true; - QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType)); + QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType.toUtf8())); if (objectInfo->isValid()) return objectInfo->isPropertyWritable(rawPropertyName); else @@ -614,21 +618,21 @@ bool NodeMetaInfoPrivate::isPropertyWritable(const QString &propertyName) const } -bool NodeMetaInfoPrivate::isPropertyList(const QString &propertyName) const +bool NodeMetaInfoPrivate::isPropertyList(const PropertyName &propertyName) const { if (!isValid()) return false; if (propertyName.contains('.')) { - const QStringList parts = propertyName.split('.'); - const QString objectName = parts.first(); - const QString rawPropertyName = parts.last(); + const PropertyNameList parts = propertyName.split('.'); + const PropertyName objectName = parts.first(); + const PropertyName rawPropertyName = parts.last(); const QString objectType = propertyType(objectName); if (isValueType(objectType)) return false; - QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType)); + QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType.toUtf8())); if (objectInfo->isValid()) return objectInfo->isPropertyList(rawPropertyName); else @@ -641,21 +645,21 @@ bool NodeMetaInfoPrivate::isPropertyList(const QString &propertyName) const return qmlObjectValue->isListProperty(propertyName); } -bool NodeMetaInfoPrivate::isPropertyPointer(const QString &propertyName) const +bool NodeMetaInfoPrivate::isPropertyPointer(const PropertyName &propertyName) const { if (!isValid()) return false; if (propertyName.contains('.')) { - const QStringList parts = propertyName.split('.'); - const QString objectName = parts.first(); - const QString rawPropertyName = parts.last(); + const PropertyNameList parts = propertyName.split('.'); + const PropertyName objectName = parts.first(); + const PropertyName rawPropertyName = parts.last(); const QString objectType = propertyType(objectName); if (isValueType(objectType)) return false; - QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType)); + QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType.toUtf8())); if (objectInfo->isValid()) return objectInfo->isPropertyPointer(rawPropertyName); else @@ -668,21 +672,21 @@ bool NodeMetaInfoPrivate::isPropertyPointer(const QString &propertyName) const return qmlObjectValue->isPointer(propertyName); } -bool NodeMetaInfoPrivate::isPropertyEnum(const QString &propertyName) const +bool NodeMetaInfoPrivate::isPropertyEnum(const PropertyName &propertyName) const { if (!isValid()) return false; if (propertyName.contains('.')) { - const QStringList parts = propertyName.split('.'); - const QString objectName = parts.first(); - const QString rawPropertyName = parts.last(); + const PropertyNameList parts = propertyName.split('.'); + const PropertyName objectName = parts.first(); + const PropertyName rawPropertyName = parts.last(); const QString objectType = propertyType(objectName); if (isValueType(objectType)) return false; - QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType)); + QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType.toUtf8())); if (objectInfo->isValid()) return objectInfo->isPropertyEnum(rawPropertyName); else @@ -695,21 +699,21 @@ bool NodeMetaInfoPrivate::isPropertyEnum(const QString &propertyName) const return qmlObjectValue->getEnum(propertyType(propertyName)).isValid(); } -QString NodeMetaInfoPrivate::propertyEnumScope(const QString &propertyName) const +QString NodeMetaInfoPrivate::propertyEnumScope(const PropertyName &propertyName) const { if (!isValid()) return QString(); if (propertyName.contains('.')) { - const QStringList parts = propertyName.split('.'); - const QString objectName = parts.first(); - const QString rawPropertyName = parts.last(); + const PropertyNameList parts = propertyName.split('.'); + const PropertyName objectName = parts.first(); + const PropertyName rawPropertyName = parts.last(); const QString objectType = propertyType(objectName); if (isValueType(objectType)) return QString(); - QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType)); + QSharedPointer<NodeMetaInfoPrivate> objectInfo(create(m_model, objectType.toUtf8())); if (objectInfo->isValid()) return objectInfo->propertyEnumScope(rawPropertyName); else @@ -766,7 +770,7 @@ bool NodeMetaInfoPrivate::cleverCheckType(const QString &otherType) const return typeName == convertedName; } -QVariant::Type NodeMetaInfoPrivate::variantTypeId(const QString &properyName) const +QVariant::Type NodeMetaInfoPrivate::variantTypeId(const PropertyName &properyName) const { QString typeName = propertyType(properyName); if (typeName == "string") @@ -799,7 +803,7 @@ QVariant::Type NodeMetaInfoPrivate::variantTypeId(const QString &properyName) co if (typeName == "var") return QVariant::UserType; - return QVariant::nameToType(typeName.toLatin1().data()); + return QVariant::nameToType(typeName.toUtf8().data()); } int NodeMetaInfoPrivate::majorVersion() const @@ -812,7 +816,7 @@ int NodeMetaInfoPrivate::minorVersion() const return m_minorVersion; } -QString NodeMetaInfoPrivate::qualfiedTypeName() const +TypeName NodeMetaInfoPrivate::qualfiedTypeName() const { return m_qualfiedTypeName; } @@ -895,10 +899,10 @@ QString NodeMetaInfoPrivate::importDirectoryPath() const QString NodeMetaInfoPrivate::lookupName() const { - QString className = m_qualfiedTypeName; + QString className = QString::fromUtf8(m_qualfiedTypeName); QString packageName; - QStringList packageClassName = m_qualfiedTypeName.split(QLatin1Char('.')); + QStringList packageClassName = className.split(QLatin1Char('.')); if (packageClassName.size() > 1) { className = packageClassName.takeLast(); packageName = packageClassName.join(QLatin1String(".")); @@ -922,10 +926,10 @@ bool NodeMetaInfoPrivate::isValid() const return m_isValid && context() && document(); } -QString NodeMetaInfoPrivate::propertyType(const QString &propertyName) const +TypeName NodeMetaInfoPrivate::propertyType(const PropertyName &propertyName) const { if (!m_properties.contains(propertyName)) - return QLatin1String("Property does not exist..."); + return TypeName("Property does not exist..."); return m_propertyTypes.at(m_properties.indexOf(propertyName)); } @@ -951,7 +955,7 @@ void NodeMetaInfoPrivate::setupPrototypes() foreach (const ObjectValue *ov, objects) { TypeDescription description; - description.className = ov->className(); + description.className = ov->className().toUtf8(); description.minorVersion = -1; description.majorVersion = -1; if (const CppComponentValue * qmlValue = value_cast<CppComponentValue>(ov)) { @@ -960,11 +964,11 @@ void NodeMetaInfoPrivate::setupPrototypes() LanguageUtils::FakeMetaObject::Export qtquickExport = qmlValue->metaObject()->exportInPackage("QtQuick"); LanguageUtils::FakeMetaObject::Export cppExport = qmlValue->metaObject()->exportInPackage("<cpp>"); if (qtquickExport.isValid()) - description.className = qtquickExport.package + '.' + qtquickExport.type; + description.className = qtquickExport.package.toUtf8() + '.' + qtquickExport.type.toUtf8(); else if (qmlValue->moduleName().isEmpty() && cppExport.isValid()) - description.className = cppExport.package + '.' + cppExport.type; + description.className = cppExport.package.toUtf8() + '.' + cppExport.type.toUtf8(); else if (!qmlValue->moduleName().isEmpty()) - description.className = qmlValue->moduleName() + '.' + description.className; + description.className = qmlValue->moduleName().toUtf8() + '.' + description.className; m_prototypes.append(description); } else { if (context()->lookupType(document(), QStringList() << ov->className())) @@ -1000,7 +1004,7 @@ NodeMetaInfo::NodeMetaInfo() : m_privateData(new Internal::NodeMetaInfoPrivate() } -NodeMetaInfo::NodeMetaInfo(Model *model, QString type, int maj, int min) : m_privateData(Internal::NodeMetaInfoPrivate::create(model, type, maj, min)) +NodeMetaInfo::NodeMetaInfo(Model *model, TypeName type, int maj, int min) : m_privateData(Internal::NodeMetaInfoPrivate::create(model, type, maj, min)) { } @@ -1032,22 +1036,22 @@ bool NodeMetaInfo::isFileComponent() const return m_privateData->isFileComponent(); } -bool NodeMetaInfo::hasProperty(const QString &propertyName) const +bool NodeMetaInfo::hasProperty(const PropertyName &propertyName) const { return propertyNames().contains(propertyName); } -QStringList NodeMetaInfo::propertyNames() const +PropertyNameList NodeMetaInfo::propertyNames() const { return m_privateData->properties(); } -QStringList NodeMetaInfo::directPropertyNames() const +PropertyNameList NodeMetaInfo::directPropertyNames() const { return m_privateData->localProperties(); } -QString NodeMetaInfo::defaultPropertyName() const +PropertyName NodeMetaInfo::defaultPropertyName() const { return m_privateData->defaultPropertyName(); } @@ -1057,37 +1061,37 @@ bool NodeMetaInfo::hasDefaultProperty() const return !defaultPropertyName().isEmpty(); } -QString NodeMetaInfo::propertyTypeName(const QString &propertyName) const +TypeName NodeMetaInfo::propertyTypeName(const PropertyName &propertyName) const { return m_privateData->propertyType(propertyName); } -bool NodeMetaInfo::propertyIsWritable(const QString &propertyName) const +bool NodeMetaInfo::propertyIsWritable(const PropertyName &propertyName) const { return m_privateData->isPropertyWritable(propertyName); } -bool NodeMetaInfo::propertyIsListProperty(const QString &propertyName) const +bool NodeMetaInfo::propertyIsListProperty(const PropertyName &propertyName) const { return m_privateData->isPropertyList(propertyName); } -bool NodeMetaInfo::propertyIsEnumType(const QString &propertyName) const +bool NodeMetaInfo::propertyIsEnumType(const PropertyName &propertyName) const { return m_privateData->isPropertyEnum(propertyName); } -QString NodeMetaInfo::propertyEnumScope(const QString &propertyName) const +QString NodeMetaInfo::propertyEnumScope(const PropertyName &propertyName) const { return m_privateData->propertyEnumScope(propertyName); } -QStringList NodeMetaInfo::propertyKeysForEnum(const QString &propertyName) const +QStringList NodeMetaInfo::propertyKeysForEnum(const PropertyName &propertyName) const { return m_privateData->keysForEnum(propertyTypeName(propertyName)); } -QVariant NodeMetaInfo::propertyCastedValue(const QString &propertyName, const QVariant &value) const +QVariant NodeMetaInfo::propertyCastedValue(const PropertyName &propertyName, const QVariant &value) const { QVariant variant = value; @@ -1139,7 +1143,7 @@ NodeMetaInfo NodeMetaInfo::directSuperClass() const return NodeMetaInfo(); } -QString NodeMetaInfo::typeName() const +TypeName NodeMetaInfo::typeName() const { return m_privateData->qualfiedTypeName(); } @@ -1181,7 +1185,7 @@ bool NodeMetaInfo::availableInVersion(int majorVersion, int minorVersion) const || (majorVersion == m_privateData->majorVersion() && m_privateData->minorVersion() >= minorVersion); } -bool NodeMetaInfo::isSubclassOf(const QString &type, int majorVersion, int minorVersion) const +bool NodeMetaInfo::isSubclassOf(const TypeName &type, int majorVersion, int minorVersion) const { if (!isValid()) { qWarning() << "NodeMetaInfo is invalid"; diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index 2d4ca4c495..c82fa8f1df 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -70,7 +70,7 @@ static inline QStringList importPaths() { // env import paths QByteArray envImportPath = qgetenv("QML_IMPORT_PATH"); if (!envImportPath.isEmpty()) { - paths = QString::fromLatin1(envImportPath) + paths = QString::fromUtf8(envImportPath) .split(Utils::HostOsInfo::pathListSeparator(), QString::SkipEmptyParts); } @@ -153,7 +153,7 @@ SubComponentManager::SubComponentManager(Model *model, QObject *parent) void SubComponentManager::addImport(int pos, const Import &import) { if (debug) - qDebug() << Q_FUNC_INFO << pos << import.file().toLatin1(); + qDebug() << Q_FUNC_INFO << pos << import.file().toUtf8(); if (import.isFileImport()) { QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.file()).toLocalFile()); @@ -213,7 +213,7 @@ void SubComponentManager::parseDirectories() parseDirectory(dirInfo.canonicalFilePath()); foreach (const QString subDir, QDir(QFileInfo(file).path()).entryList(QDir::Dirs | QDir::NoDot | QDir::NoDotDot)) { - parseDirectory(dirInfo.canonicalFilePath() + "/" + subDir, true, subDir); + parseDirectory(dirInfo.canonicalFilePath() + "/" + subDir, true, subDir.toUtf8()); } } @@ -221,7 +221,7 @@ void SubComponentManager::parseDirectories() if (import.isFileImport()) { QFileInfo dirInfo = QFileInfo(m_filePath.resolved(import.file()).toLocalFile()); if (dirInfo.exists() && dirInfo.isDir()) - parseDirectory(dirInfo.canonicalFilePath(), true, dirInfo.baseName()); + parseDirectory(dirInfo.canonicalFilePath(), true, dirInfo.baseName().toUtf8()); } else { QString url = import.url(); foreach (const QString &path, importPaths()) { @@ -237,7 +237,7 @@ void SubComponentManager::parseDirectories() } } -void SubComponentManager::parseDirectory(const QString &canonicalDirPath, bool addToLibrary, const QString& qualification) +void SubComponentManager::parseDirectory(const QString &canonicalDirPath, bool addToLibrary, const TypeName& qualification) { QDir designerDir(canonicalDirPath + Constants::QML_DESIGNER_SUBFOLDER); @@ -406,7 +406,7 @@ void SubComponentManager::registerQmlFile(const QFileInfo &fileInfo, const QStri if (addToLibrary) { // Add file components to the library ItemLibraryEntry itemLibraryEntry; - itemLibraryEntry.setType(componentName, -1, -1); + itemLibraryEntry.setType(componentName.toUtf8(), -1, -1); itemLibraryEntry.setName(baseComponentName); itemLibraryEntry.setCategory("QML Components"); if (!qualifier.isEmpty()) { diff --git a/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp b/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp index 785655578c..dd86adcb31 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractproperty.cpp @@ -56,7 +56,7 @@ AbstractProperty::AbstractProperty(): { } -AbstractProperty::AbstractProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) +AbstractProperty::AbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : m_propertyName(propertyName), m_internalNode(internalNode), m_model(model), @@ -126,7 +126,7 @@ AbstractView *AbstractProperty::view() const The QVariant is null if the property doesn't exists. */ -QString AbstractProperty::name() const +PropertyName AbstractProperty::name() const { if (m_propertyName == "id") { // the ID for a node is independent of the state, so it has to be set with ModelNode::setId Q_ASSERT_X(0, Q_FUNC_INFO, "id is not a property in the model"); @@ -367,7 +367,7 @@ bool AbstractProperty::isDynamic() const return !dynamicTypeName().isEmpty(); } -QString AbstractProperty::dynamicTypeName() const +TypeName AbstractProperty::dynamicTypeName() const { if (!isValid()) throw InvalidPropertyException(__LINE__, __FUNCTION__, __FILE__, m_propertyName); @@ -375,7 +375,7 @@ QString AbstractProperty::dynamicTypeName() const if (internalNode()->hasProperty(name())) return internalNode()->property(name())->dynamicTypeName(); - return QString(); + return TypeName(); } /*! @@ -405,7 +405,7 @@ uint qHash(const AbstractProperty &property) QDebug operator<<(QDebug debug, const AbstractProperty &property) { - return debug.nospace() << "AbstractProperty(" << (property.isValid() ? property.name() : QLatin1String("invalid")) << ')'; + return debug.nospace() << "AbstractProperty(" << (property.isValid() ? property.name() : PropertyName("invalid")) << ')'; } QTextStream& operator<<(QTextStream &stream, const AbstractProperty &property) diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp index e306199243..35fcec9fb7 100644 --- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp +++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp @@ -74,15 +74,15 @@ RewriterTransaction AbstractView::beginRewriterTransaction() return RewriterTransaction(this); } -ModelNode AbstractView::createModelNode(const QString &typeString, +ModelNode AbstractView::createModelNode(const TypeName &typeName, int majorVersion, int minorVersion, - const QList<QPair<QString, QVariant> > &propertyList, - const QList<QPair<QString, QVariant> > &auxPropertyList, + const QList<QPair<PropertyName, QVariant> > &propertyList, + const QList<QPair<PropertyName, QVariant> > &auxPropertyList, const QString &nodeSource, ModelNode::NodeSourceType nodeSourceType) { - return ModelNode(model()->d->createNode(typeString, majorVersion, minorVersion, propertyList, auxPropertyList, nodeSource, nodeSourceType), model(), this); + return ModelNode(model()->d->createNode(typeName, majorVersion, minorVersion, propertyList, auxPropertyList, nodeSource, nodeSourceType), model(), this); } @@ -387,7 +387,7 @@ void AbstractView::emitCustomNotification(const QString &identifier, const QList model()->d->notifyCustomNotification(this, identifier, nodeList, data); } -void AbstractView::emitInstancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList) +void AbstractView::emitInstancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList) { if (model() && nodeInstanceView() == this) model()->d->notifyInstancePropertyChange(propertyList); @@ -454,7 +454,7 @@ void AbstractView::setAcutalStateNode(const ModelNode &node) model()->d->notifyActualStateChanged(node); } -void AbstractView::changeRootNodeType(const QString &type, int majorVersion, int minorVersion) +void AbstractView::changeRootNodeType(const TypeName &type, int majorVersion, int minorVersion) { Internal::WriteLocker locker(m_model.data()); diff --git a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp index 9acb0bbc2e..482a3e45d2 100644 --- a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp @@ -50,7 +50,7 @@ BindingProperty::BindingProperty(const BindingProperty &property, AbstractView * } -BindingProperty::BindingProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) +BindingProperty::BindingProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : AbstractProperty(propertyName, internalNode, model, view) { } @@ -110,9 +110,9 @@ static ModelNode resolveBinding(const QString &binding, ModelNode currentNode, A currentNode = currentNode.parentProperty().toNodeAbstractProperty().parentModelNode(); else return ModelNode(); //binding not valid - } else if (currentNode.hasProperty(element)) { - if (currentNode.property(element).isNodeProperty()) { - currentNode = currentNode.nodeProperty(element).modelNode(); + } else if (currentNode.hasProperty(element.toUtf8())) { + if (currentNode.property(element.toUtf8()).isNodeProperty()) { + currentNode = currentNode.nodeProperty(element.toUtf8()).modelNode(); } else { currentNode = view->modelNodeForId(element); //id if (!currentNode.isValid()) @@ -167,7 +167,7 @@ AbstractProperty BindingProperty::resolveToProperty() const } if (node.isValid()) - return node.property(element); + return node.property(element.toUtf8()); else return AbstractProperty(); } @@ -199,7 +199,7 @@ QList<ModelNode> BindingProperty::resolveToModelNodeList() const return returnList; } -void BindingProperty::setDynamicTypeNameAndExpression(const QString &typeName, const QString &expression) +void BindingProperty::setDynamicTypeNameAndExpression(const TypeName &typeName, const QString &expression) { Internal::WriteLocker locker(model()); if (!isValid()) @@ -230,11 +230,4 @@ void BindingProperty::setDynamicTypeNameAndExpression(const QString &typeName, c model()->d->setDynamicBindingProperty(internalNode(), name(), typeName, expression); } -BindingProperty& BindingProperty::operator= (const QPair<QString, QString> &typeExpressionPair) -{ - setDynamicTypeNameAndExpression(typeExpressionPair.first, typeExpressionPair.second); - - return *this; -} - } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designercore/model/internalbindingproperty.cpp b/src/plugins/qmldesigner/designercore/model/internalbindingproperty.cpp index c08212f351..c599a78ff8 100644 --- a/src/plugins/qmldesigner/designercore/model/internalbindingproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalbindingproperty.cpp @@ -32,13 +32,13 @@ namespace QmlDesigner { namespace Internal { -InternalBindingProperty::InternalBindingProperty(const QString &name, const InternalNodePointer &propertyOwner) +InternalBindingProperty::InternalBindingProperty(const PropertyName &name, const InternalNodePointer &propertyOwner) : InternalProperty(name, propertyOwner) { } -InternalBindingProperty::Pointer InternalBindingProperty::create(const QString &name, const InternalNodePointer &propertyOwner) +InternalBindingProperty::Pointer InternalBindingProperty::create(const PropertyName &name, const InternalNodePointer &propertyOwner) { InternalBindingProperty *newPointer(new InternalBindingProperty(name, propertyOwner)); InternalBindingProperty::Pointer smartPointer(newPointer); @@ -67,7 +67,7 @@ bool InternalBindingProperty::isBindingProperty() const return true; } -void InternalBindingProperty::setDynamicExpression(const QString &type, const QString &expression) +void InternalBindingProperty::setDynamicExpression(const TypeName &type, const QString &expression) { setExpression(expression); setDynamicTypeName(type); diff --git a/src/plugins/qmldesigner/designercore/model/internalbindingproperty.h b/src/plugins/qmldesigner/designercore/model/internalbindingproperty.h index b834a8b617..247fc691bf 100644 --- a/src/plugins/qmldesigner/designercore/model/internalbindingproperty.h +++ b/src/plugins/qmldesigner/designercore/model/internalbindingproperty.h @@ -40,20 +40,20 @@ class InternalBindingProperty : public InternalProperty public: typedef QSharedPointer<InternalBindingProperty> Pointer; - static Pointer create(const QString &name, const InternalNodePointer &propertyOwner); + static Pointer create(const PropertyName &name, const InternalNodePointer &propertyOwner); bool isValid() const; QString expression() const; void setExpression(const QString &expression); - void setDynamicExpression(const QString &type, const QString &expression); + void setDynamicExpression(const TypeName &type, const QString &expression); bool isBindingProperty() const; protected: - InternalBindingProperty(const QString &name, const InternalNodePointer &propertyOwner); + InternalBindingProperty(const PropertyName &name, const InternalNodePointer &propertyOwner); private: QString m_expression; diff --git a/src/plugins/qmldesigner/designercore/model/internalnode.cpp b/src/plugins/qmldesigner/designercore/model/internalnode.cpp index a981757864..f73d210d8c 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalnode.cpp @@ -55,7 +55,7 @@ InternalNode::InternalNode() : { } -InternalNode::InternalNode(const QString &typeName,int majorVersion, int minorVersion, qint32 internalId): +InternalNode::InternalNode(const TypeName &typeName,int majorVersion, int minorVersion, qint32 internalId): m_typeName(typeName), m_majorVersion(majorVersion), m_minorVersion(minorVersion), @@ -65,7 +65,7 @@ InternalNode::InternalNode(const QString &typeName,int majorVersion, int minorVe } -InternalNode::Pointer InternalNode::create(const QString &type,int majorVersion, int minorVersion, qint32 internalId) +InternalNode::Pointer InternalNode::create(const TypeName &type,int majorVersion, int minorVersion, qint32 internalId) { InternalNode *newPointer(new InternalNode(type, majorVersion, minorVersion, internalId)); InternalNode::Pointer smartPointer(newPointer); @@ -84,12 +84,12 @@ void InternalNode::setInternalWeakPointer(const Pointer &pointer) m_internalPointer = pointer; } -QString InternalNode::type() const +TypeName InternalNode::type() const { return m_typeName; } -void InternalNode::setType(const QString &newType) +void InternalNode::setType(const TypeName &newType) { m_typeName = newType; } @@ -166,32 +166,32 @@ uint qHash(const InternalNodePointer& node) return ::qHash(node->internalId()); } -QVariant InternalNode::auxiliaryData(const QString &name) const +QVariant InternalNode::auxiliaryData(const PropertyName &name) const { return m_auxiliaryDataHash.value(name); } -void InternalNode::setAuxiliaryData(const QString &name, const QVariant &data) +void InternalNode::setAuxiliaryData(const PropertyName &name, const QVariant &data) { m_auxiliaryDataHash.insert(name, data); } -bool InternalNode::hasAuxiliaryData(const QString &name) const +bool InternalNode::hasAuxiliaryData(const PropertyName &name) const { return m_auxiliaryDataHash.contains(name); } -QHash<QString, QVariant> InternalNode::auxiliaryData() const +QHash<PropertyName, QVariant> InternalNode::auxiliaryData() const { return m_auxiliaryDataHash; } -InternalProperty::Pointer InternalNode::property(const QString &name) const +InternalProperty::Pointer InternalNode::property(const PropertyName &name) const { return m_namePropertyHash.value(name); } -InternalBindingProperty::Pointer InternalNode::bindingProperty(const QString &name) const +InternalBindingProperty::Pointer InternalNode::bindingProperty(const PropertyName &name) const { InternalProperty::Pointer property = m_namePropertyHash.value(name); if (property->isBindingProperty()) @@ -200,7 +200,7 @@ InternalBindingProperty::Pointer InternalNode::bindingProperty(const QString &na return InternalBindingProperty::Pointer(); } -InternalVariantProperty::Pointer InternalNode::variantProperty(const QString &name) const +InternalVariantProperty::Pointer InternalNode::variantProperty(const PropertyName &name) const { InternalProperty::Pointer property = m_namePropertyHash.value(name); if (property->isVariantProperty()) @@ -209,13 +209,13 @@ InternalVariantProperty::Pointer InternalNode::variantProperty(const QString &na return InternalVariantProperty::Pointer(); } -void InternalNode::addBindingProperty(const QString &name) +void InternalNode::addBindingProperty(const PropertyName &name) { InternalProperty::Pointer newProperty(InternalBindingProperty::create(name, internalPointer())); m_namePropertyHash.insert(name, newProperty); } -InternalNodeListProperty::Pointer InternalNode::nodeListProperty(const QString &name) const +InternalNodeListProperty::Pointer InternalNode::nodeListProperty(const PropertyName &name) const { InternalProperty::Pointer property = m_namePropertyHash.value(name); if (property && property->isNodeListProperty()) @@ -224,7 +224,7 @@ InternalNodeListProperty::Pointer InternalNode::nodeListProperty(const QString & return InternalNodeListProperty::Pointer(); } -InternalNodeAbstractProperty::Pointer InternalNode::nodeAbstractProperty(const QString &name) const +InternalNodeAbstractProperty::Pointer InternalNode::nodeAbstractProperty(const PropertyName &name) const { InternalProperty::Pointer property = m_namePropertyHash.value(name); if (property && property->isNodeAbstractProperty()) @@ -233,7 +233,7 @@ InternalNodeAbstractProperty::Pointer InternalNode::nodeAbstractProperty(const Q return InternalNodeProperty::Pointer(); } -InternalNodeProperty::Pointer InternalNode::nodeProperty(const QString &name) const +InternalNodeProperty::Pointer InternalNode::nodeProperty(const PropertyName &name) const { InternalProperty::Pointer property = m_namePropertyHash.value(name); if (property->isNodeProperty()) @@ -242,31 +242,31 @@ InternalNodeProperty::Pointer InternalNode::nodeProperty(const QString &name) co return InternalNodeProperty::Pointer(); } -void InternalNode::addVariantProperty(const QString &name) +void InternalNode::addVariantProperty(const PropertyName &name) { InternalProperty::Pointer newProperty(InternalVariantProperty::create(name, internalPointer())); m_namePropertyHash.insert(name, newProperty); } -void InternalNode::addNodeProperty(const QString &name) +void InternalNode::addNodeProperty(const PropertyName &name) { InternalProperty::Pointer newProperty(InternalNodeProperty::create(name, internalPointer())); m_namePropertyHash.insert(name, newProperty); } -void InternalNode::addNodeListProperty(const QString &name) +void InternalNode::addNodeListProperty(const PropertyName &name) { InternalProperty::Pointer newProperty(InternalNodeListProperty::create(name, internalPointer())); m_namePropertyHash.insert(name, newProperty); } -void InternalNode::removeProperty(const QString &name) +void InternalNode::removeProperty(const PropertyName &name) { InternalProperty::Pointer property = m_namePropertyHash.take(name); Q_ASSERT(!property.isNull()); } -QList<QString> InternalNode::propertyNameList() const +PropertyNameList InternalNode::propertyNameList() const { return m_namePropertyHash.keys(); } @@ -276,7 +276,7 @@ bool InternalNode::hasProperties() const return !m_namePropertyHash.isEmpty(); } -bool InternalNode::hasProperty(const QString &name) const +bool InternalNode::hasProperty(const PropertyName &name) const { return m_namePropertyHash.contains(name); } diff --git a/src/plugins/qmldesigner/designercore/model/internalnode_p.h b/src/plugins/qmldesigner/designercore/model/internalnode_p.h index e4a7e7ac46..b1edde9d94 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnode_p.h +++ b/src/plugins/qmldesigner/designercore/model/internalnode_p.h @@ -64,10 +64,10 @@ public: explicit InternalNode(); - static Pointer create(const QString &typeName, int majorVersion, int minorVersion, qint32 internalId); + static Pointer create(const TypeName &typeName, int majorVersion, int minorVersion, qint32 internalId); - QString type() const; - void setType(const QString &newType); + TypeName type() const; + void setType(const TypeName &newType); int minorVersion() const; int majorVersion() const; @@ -86,28 +86,28 @@ public: QString id() const; void setId(const QString& id); - QVariant auxiliaryData(const QString &name) const; - void setAuxiliaryData(const QString &name, const QVariant &data); - bool hasAuxiliaryData(const QString &name) const; - QHash<QString, QVariant> auxiliaryData() const; + QVariant auxiliaryData(const PropertyName &name) const; + void setAuxiliaryData(const PropertyName &name, const QVariant &data); + bool hasAuxiliaryData(const PropertyName &name) const; + QHash<PropertyName, QVariant> auxiliaryData() const; - InternalProperty::Pointer property(const QString &name) const; - InternalBindingProperty::Pointer bindingProperty(const QString &name) const; - InternalVariantProperty::Pointer variantProperty(const QString &name) const; - InternalNodeListProperty::Pointer nodeListProperty(const QString &name) const; - InternalNodeAbstractProperty::Pointer nodeAbstractProperty(const QString &name) const; - InternalNodeProperty::Pointer nodeProperty(const QString &name) const; + InternalProperty::Pointer property(const PropertyName &name) const; + InternalBindingProperty::Pointer bindingProperty(const PropertyName &name) const; + InternalVariantProperty::Pointer variantProperty(const PropertyName &name) const; + InternalNodeListProperty::Pointer nodeListProperty(const PropertyName &name) const; + InternalNodeAbstractProperty::Pointer nodeAbstractProperty(const PropertyName &name) const; + InternalNodeProperty::Pointer nodeProperty(const PropertyName &name) const; - void addBindingProperty(const QString &name); - void addNodeListProperty(const QString &name); - void addVariantProperty(const QString &name); - void addNodeProperty(const QString &name); + void addBindingProperty(const PropertyName &name); + void addNodeListProperty(const PropertyName &name); + void addVariantProperty(const PropertyName &name); + void addNodeProperty(const PropertyName &name); - QList<QString> propertyNameList() const; + PropertyNameList propertyNameList() const; bool hasProperties() const; - bool hasProperty(const QString &name) const; + bool hasProperty(const PropertyName &name) const; QList<InternalProperty::Pointer> propertyList() const; QList<InternalNodeAbstractProperty::Pointer> nodeAbstractPropertyList() const; @@ -128,14 +128,14 @@ public: protected: Pointer internalPointer() const; void setInternalWeakPointer(const Pointer &pointer); - void removeProperty(const QString &name); - explicit InternalNode(const QString &type, int majorVersion, int minorVersion, qint32 internalId); + void removeProperty(const PropertyName &name); + explicit InternalNode(const TypeName &type, int majorVersion, int minorVersion, qint32 internalId); private: - QString m_typeName; + TypeName m_typeName; QString m_id; - QHash<QString, QVariant> m_auxiliaryDataHash; + QHash<PropertyName, QVariant> m_auxiliaryDataHash; InternalNodeAbstractProperty::WeakPointer m_parentProperty; WeakPointer m_internalPointer; @@ -146,7 +146,7 @@ private: bool m_valid; qint32 m_internalId; - QHash<QString, InternalPropertyPointer> m_namePropertyHash; + QHash<PropertyName, InternalPropertyPointer> m_namePropertyHash; QStringList m_scriptFunctionList; QString m_nodeSource; diff --git a/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.cpp b/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.cpp index 0eeaa2dc87..68a437583c 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.cpp @@ -33,7 +33,7 @@ namespace QmlDesigner { namespace Internal { -InternalNodeAbstractProperty::InternalNodeAbstractProperty(const QString &name, const InternalNode::Pointer &propertyOwner) +InternalNodeAbstractProperty::InternalNodeAbstractProperty(const PropertyName &name, const InternalNode::Pointer &propertyOwner) : InternalProperty(name, propertyOwner) { } diff --git a/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.h b/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.h index bd3fb63fd0..0ac4c77a4a 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.h +++ b/src/plugins/qmldesigner/designercore/model/internalnodeabstractproperty.h @@ -58,7 +58,7 @@ public: using InternalProperty::remove; // keep the virtual remove(...) method around protected: - InternalNodeAbstractProperty(const QString &name, const InternalNodePointer &propertyOwner); + InternalNodeAbstractProperty(const PropertyName &name, const InternalNodePointer &propertyOwner); virtual void remove(const InternalNodePointer &node) = 0; virtual void add(const InternalNodePointer &node) = 0; }; diff --git a/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.cpp b/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.cpp index 10f08167dd..6911e08580 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.cpp @@ -34,12 +34,12 @@ namespace QmlDesigner { namespace Internal { -InternalNodeListProperty::InternalNodeListProperty(const QString &name, const InternalNodePointer &propertyOwner) +InternalNodeListProperty::InternalNodeListProperty(const PropertyName &name, const InternalNodePointer &propertyOwner) : InternalNodeAbstractProperty(name, propertyOwner) { } -InternalNodeListProperty::Pointer InternalNodeListProperty::create(const QString &name, const InternalNodePointer &propertyOwner) +InternalNodeListProperty::Pointer InternalNodeListProperty::create(const PropertyName &name, const InternalNodePointer &propertyOwner) { InternalNodeListProperty *newPointer(new InternalNodeListProperty(name, propertyOwner)); InternalProperty::Pointer smartPointer(newPointer); diff --git a/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.h b/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.h index 6034dae8c6..025d131746 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.h +++ b/src/plugins/qmldesigner/designercore/model/internalnodelistproperty.h @@ -43,7 +43,7 @@ class InternalNodeListProperty : public InternalNodeAbstractProperty public: typedef QSharedPointer<InternalNodeListProperty> Pointer; - static Pointer create(const QString &name, const InternalNodePointer &propertyOwner); + static Pointer create(const PropertyName &name, const InternalNodePointer &propertyOwner); bool isValid() const; @@ -60,7 +60,7 @@ public: void slide(int from, int to); protected: - InternalNodeListProperty(const QString &name, const InternalNodePointer &propertyOwner); + InternalNodeListProperty(const PropertyName &name, const InternalNodePointer &propertyOwner); void add(const InternalNodePointer &node); void remove(const InternalNodePointer &node); diff --git a/src/plugins/qmldesigner/designercore/model/internalnodeproperty.cpp b/src/plugins/qmldesigner/designercore/model/internalnodeproperty.cpp index 63209ead49..1e97caae01 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnodeproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalnodeproperty.cpp @@ -33,12 +33,12 @@ namespace QmlDesigner { namespace Internal { -InternalNodeProperty::InternalNodeProperty(const QString &name, const InternalNode::Pointer &propertyOwner) +InternalNodeProperty::InternalNodeProperty(const PropertyName &name, const InternalNode::Pointer &propertyOwner) : InternalNodeAbstractProperty(name, propertyOwner) { } -InternalNodeProperty::Pointer InternalNodeProperty::create(const QString &name, const InternalNode::Pointer &propertyOwner) +InternalNodeProperty::Pointer InternalNodeProperty::create(const PropertyName &name, const InternalNode::Pointer &propertyOwner) { InternalNodeProperty *newPointer = new InternalNodeProperty(name, propertyOwner); InternalNodeProperty::Pointer smartPointer(newPointer); diff --git a/src/plugins/qmldesigner/designercore/model/internalnodeproperty.h b/src/plugins/qmldesigner/designercore/model/internalnodeproperty.h index 7f25a84021..dbd195ff27 100644 --- a/src/plugins/qmldesigner/designercore/model/internalnodeproperty.h +++ b/src/plugins/qmldesigner/designercore/model/internalnodeproperty.h @@ -40,7 +40,7 @@ class InternalNodeProperty : public InternalNodeAbstractProperty public: typedef QSharedPointer<InternalNodeProperty> Pointer; - static Pointer create(const QString &name, const InternalNodePointer &propertyOwner); + static Pointer create(const PropertyName &name, const InternalNodePointer &propertyOwner); bool isValid() const; bool isEmpty() const; @@ -55,7 +55,7 @@ public: protected: - InternalNodeProperty(const QString &name, const InternalNodePointer &node); + InternalNodeProperty(const PropertyName &name, const InternalNodePointer &node); void add(const InternalNodePointer &node); void remove(const InternalNodePointer &node); diff --git a/src/plugins/qmldesigner/designercore/model/internalproperty.cpp b/src/plugins/qmldesigner/designercore/model/internalproperty.cpp index 7bd64a0caf..c5fc9e3438 100644 --- a/src/plugins/qmldesigner/designercore/model/internalproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalproperty.cpp @@ -54,7 +54,7 @@ InternalProperty::~InternalProperty() { } -InternalProperty::InternalProperty(const QString &name, const InternalNode::Pointer &propertyOwner) +InternalProperty::InternalProperty(const PropertyName &name, const InternalNode::Pointer &propertyOwner) : m_name(name), m_propertyOwner(propertyOwner) { @@ -79,7 +79,7 @@ bool InternalProperty::isValid() const return m_propertyOwner && !m_name.isEmpty(); } -QString InternalProperty::name() const +PropertyName InternalProperty::name() const { return m_name; } @@ -152,12 +152,12 @@ void InternalProperty::remove() m_propertyOwner.clear(); } -QString InternalProperty::dynamicTypeName() const +TypeName InternalProperty::dynamicTypeName() const { return m_dynamicType; } -void InternalProperty::setDynamicTypeName(const QString &name) +void InternalProperty::setDynamicTypeName(const TypeName &name) { m_dynamicType = name; } diff --git a/src/plugins/qmldesigner/designercore/model/internalproperty.h b/src/plugins/qmldesigner/designercore/model/internalproperty.h index 2fbb6e1c69..8aabd3fe65 100644 --- a/src/plugins/qmldesigner/designercore/model/internalproperty.h +++ b/src/plugins/qmldesigner/designercore/model/internalproperty.h @@ -67,7 +67,7 @@ public: virtual bool isValid() const; - QString name() const; + PropertyName name() const; virtual bool isBindingProperty() const; virtual bool isVariantProperty() const; @@ -85,19 +85,19 @@ public: virtual void remove(); - QString dynamicTypeName() const; + TypeName dynamicTypeName() const; void resetDynamicTypeName(); protected: // functions - InternalProperty(const QString &name, const InternalNodePointer &propertyOwner); + InternalProperty(const PropertyName &name, const InternalNodePointer &propertyOwner); Pointer internalPointer() const; void setInternalWeakPointer(const Pointer &pointer); - void setDynamicTypeName(const QString &name); + void setDynamicTypeName(const TypeName &name); private: WeakPointer m_internalPointer; - QString m_name; - QString m_dynamicType; + PropertyName m_name; + TypeName m_dynamicType; InternalNodeWeakPointer m_propertyOwner; }; diff --git a/src/plugins/qmldesigner/designercore/model/internalvariantproperty.cpp b/src/plugins/qmldesigner/designercore/model/internalvariantproperty.cpp index f01d6c470b..085b0daa9e 100644 --- a/src/plugins/qmldesigner/designercore/model/internalvariantproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/internalvariantproperty.cpp @@ -32,12 +32,12 @@ namespace QmlDesigner { namespace Internal { -InternalVariantProperty::InternalVariantProperty(const QString &name, const InternalNodePointer &node) +InternalVariantProperty::InternalVariantProperty(const PropertyName &name, const InternalNodePointer &node) : InternalProperty(name, node) { } -InternalVariantProperty::Pointer InternalVariantProperty::create(const QString &name, const InternalNodePointer &propertyOwner) +InternalVariantProperty::Pointer InternalVariantProperty::create(const PropertyName &name, const InternalNodePointer &propertyOwner) { InternalVariantProperty *newPointer(new InternalVariantProperty(name, propertyOwner)); InternalVariantProperty::Pointer smartPointer(newPointer); @@ -62,7 +62,7 @@ bool InternalVariantProperty::isVariantProperty() const return true; } -void InternalVariantProperty::setDynamicValue(const QString &type, const QVariant &value) +void InternalVariantProperty::setDynamicValue(const TypeName &type, const QVariant &value) { setValue(value); setDynamicTypeName(type); diff --git a/src/plugins/qmldesigner/designercore/model/internalvariantproperty.h b/src/plugins/qmldesigner/designercore/model/internalvariantproperty.h index afd07c529b..8aad7caf80 100644 --- a/src/plugins/qmldesigner/designercore/model/internalvariantproperty.h +++ b/src/plugins/qmldesigner/designercore/model/internalvariantproperty.h @@ -40,19 +40,19 @@ class InternalVariantProperty : public InternalProperty public: typedef QSharedPointer<InternalVariantProperty> Pointer; - static Pointer create(const QString &name, const InternalNodePointer &propertyOwner); + static Pointer create(const PropertyName &name, const InternalNodePointer &propertyOwner); bool isValid() const; QVariant value() const; void setValue(const QVariant &value); - void setDynamicValue(const QString &type, const QVariant &value); + void setDynamicValue(const TypeName &type, const QVariant &value); bool isVariantProperty() const; protected: - InternalVariantProperty(const QString &name, const InternalNodePointer &propertyOwner); + InternalVariantProperty(const PropertyName &name, const InternalNodePointer &propertyOwner); private: QVariant m_value; diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index ccec9fd6b1..3f2c6047db 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -118,7 +118,7 @@ void ModelPrivate::detachAllViews() } } -Model *ModelPrivate::create(QString type, int major, int minor, Model *metaInfoPropxyModel) +Model *ModelPrivate::create(const TypeName &type, int major, int minor, Model *metaInfoPropxyModel) { Model *model = new Model; @@ -194,16 +194,16 @@ void ModelPrivate::setFileUrl(const QUrl &fileUrl) } } -InternalNode::Pointer ModelPrivate::createNode(const QString &typeString, +InternalNode::Pointer ModelPrivate::createNode(const TypeName &typeName, int majorVersion, int minorVersion, - const QList<QPair<QString, QVariant> > &propertyList, - const QList<QPair<QString, QVariant> > &auxPropertyList, + const QList<QPair<PropertyName, QVariant> > &propertyList, + const QList<QPair<PropertyName, QVariant> > &auxPropertyList, const QString &nodeSource, ModelNode::NodeSourceType nodeSourceType, bool isRootNode) { - if (typeString.isEmpty()) + if (typeName.isEmpty()) throw InvalidArgumentException(__LINE__, __FUNCTION__, __FILE__, tr("invalid type")); qint32 internalId = 0; @@ -211,10 +211,10 @@ InternalNode::Pointer ModelPrivate::createNode(const QString &typeString, if (!isRootNode) internalId = m_internalIdCounter++; - InternalNode::Pointer newInternalNodePointer = InternalNode::create(typeString, majorVersion, minorVersion, internalId); + InternalNode::Pointer newInternalNodePointer = InternalNode::create(typeName, majorVersion, minorVersion, internalId); newInternalNodePointer->setNodeSourceType(nodeSourceType); - typedef QPair<QString, QVariant> PropertyPair; + typedef QPair<PropertyName, QVariant> PropertyPair; foreach (const PropertyPair &propertyPair, propertyList) { newInternalNodePointer->addVariantProperty(propertyPair.first); @@ -270,7 +270,7 @@ void ModelPrivate::removeNode(const InternalNode::Pointer &node) removeNodeFromModel(node); InternalNode::Pointer parentNode; - QString parentPropertyName; + PropertyName parentPropertyName; if (oldParentProperty) { parentNode = oldParentProperty->propertyOwner(); parentPropertyName = oldParentProperty->name(); @@ -330,7 +330,7 @@ void ModelPrivate::checkPropertyName(const QString &propertyName) } } -void ModelPrivate::notifyAuxiliaryDataChanged(const InternalNodePointer &internalNode, const QString &name, const QVariant &data) +void ModelPrivate::notifyAuxiliaryDataChanged(const InternalNodePointer &internalNode, const PropertyName &name, const QVariant &data) { bool resetModel = false; QString description; @@ -418,15 +418,15 @@ void ModelPrivate::notifyRootNodeTypeChanged(const QString &type, int majorVersi resetModelByRewriter(description); } -void ModelPrivate::notifyInstancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyPairList) +void ModelPrivate::notifyInstancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyPairList) { // no need to notify the rewriter or the instance view - typedef QPair<ModelNode, QString> ModelNodePropertyPair; + typedef QPair<ModelNode, PropertyName> ModelNodePropertyPair; foreach (const QWeakPointer<AbstractView> &view, m_viewList) { Q_ASSERT(view != 0); - QList<QPair<ModelNode, QString> > adaptedPropertyList; + QList<QPair<ModelNode, PropertyName> > adaptedPropertyList; foreach (const ModelNodePropertyPair &propertyPair, propertyPairList) { ModelNodePropertyPair newPair(ModelNode(propertyPair.first.internalNode(), model(), view.data()), propertyPair.second); adaptedPropertyList.append(newPair); @@ -811,7 +811,7 @@ void ModelPrivate::notifyPropertiesAboutToBeRemoved(const QList<InternalProperty resetModelByRewriter(description); } -void ModelPrivate::setAuxiliaryData(const InternalNode::Pointer& node, const QString &name, const QVariant &data) +void ModelPrivate::setAuxiliaryData(const InternalNode::Pointer& node, const PropertyName &name, const QVariant &data) { node->setAuxiliaryData(name, data); notifyAuxiliaryDataChanged(node, name,data); @@ -905,7 +905,7 @@ void ModelPrivate::notifyNodeAboutToBeRemoved(const InternalNode::Pointer &nodeP resetModelByRewriter(description); } -void ModelPrivate::notifyNodeRemoved(const InternalNodePointer &nodePointer, const InternalNodePointer &parentNodePointer, const QString &parentPropertyName, AbstractView::PropertyChangeFlags propertyChange) +void ModelPrivate::notifyNodeRemoved(const InternalNodePointer &nodePointer, const InternalNodePointer &parentNodePointer, const PropertyName &parentPropertyName, AbstractView::PropertyChangeFlags propertyChange) { bool resetModel = false; QString description; @@ -1042,7 +1042,7 @@ void ModelPrivate::notifyScriptFunctionsChanged(const InternalNodePointer &inter } -void ModelPrivate::notifyVariantPropertiesChanged(const InternalNodePointer &internalNodePointer, const QStringList& propertyNameList, AbstractView::PropertyChangeFlags propertyChange) +void ModelPrivate::notifyVariantPropertiesChanged(const InternalNodePointer &internalNodePointer, const PropertyNameList &propertyNameList, AbstractView::PropertyChangeFlags propertyChange) { bool resetModel = false; QString description; @@ -1050,9 +1050,7 @@ void ModelPrivate::notifyVariantPropertiesChanged(const InternalNodePointer &int try { if (rewriterView()) { QList<VariantProperty> propertyList; - foreach (const QString &propertyName, propertyNameList) { - Q_ASSERT(internalNodePointer->hasProperty(propertyName)); - Q_ASSERT(internalNodePointer->property(propertyName)->isVariantProperty()); + foreach (const PropertyName &propertyName, propertyNameList) { VariantProperty property(propertyName, internalNodePointer, model(), rewriterView()); propertyList.append(property); } @@ -1069,9 +1067,7 @@ void ModelPrivate::notifyVariantPropertiesChanged(const InternalNodePointer &int foreach (const QWeakPointer<AbstractView> &view, m_viewList) { QList<VariantProperty> propertyList; Q_ASSERT(view != 0); - foreach (const QString &propertyName, propertyNameList) { - Q_ASSERT(internalNodePointer->hasProperty(propertyName)); - Q_ASSERT(internalNodePointer->property(propertyName)->isVariantProperty()); + foreach (const PropertyName &propertyName, propertyNameList) { VariantProperty property(propertyName, internalNodePointer, model(), view.data()); propertyList.append(property); } @@ -1082,7 +1078,7 @@ void ModelPrivate::notifyVariantPropertiesChanged(const InternalNodePointer &int if (nodeInstanceView()) { QList<VariantProperty> propertyList; - foreach (const QString &propertyName, propertyNameList) { + foreach (const PropertyName &propertyName, propertyNameList) { Q_ASSERT(internalNodePointer->hasProperty(propertyName)); Q_ASSERT(internalNodePointer->property(propertyName)->isVariantProperty()); VariantProperty property(propertyName, internalNodePointer, model(), nodeInstanceView()); @@ -1097,7 +1093,7 @@ void ModelPrivate::notifyVariantPropertiesChanged(const InternalNodePointer &int resetModelByRewriter(description); } -void ModelPrivate::notifyNodeAboutToBeReparent(const InternalNodePointer &internalNodePointer, const InternalNodeAbstractPropertyPointer &newPropertyParent, const InternalNodePointer &oldParent, const QString &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange) +void ModelPrivate::notifyNodeAboutToBeReparent(const InternalNodePointer &internalNodePointer, const InternalNodeAbstractPropertyPointer &newPropertyParent, const InternalNodePointer &oldParent, const PropertyName &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange) { bool resetModel = false; QString description; @@ -1154,7 +1150,7 @@ void ModelPrivate::notifyNodeAboutToBeReparent(const InternalNodePointer &intern } -void ModelPrivate::notifyNodeReparent(const InternalNode::Pointer &internalNodePointer, const InternalNodeAbstractProperty::Pointer &newPropertyParent, const InternalNodePointer &oldParent, const QString &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange) +void ModelPrivate::notifyNodeReparent(const InternalNode::Pointer &internalNodePointer, const InternalNodeAbstractProperty::Pointer &newPropertyParent, const InternalNodePointer &oldParent, const PropertyName &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange) { bool resetModel = false; QString description; @@ -1383,7 +1379,7 @@ void ModelPrivate::removeProperty(const InternalProperty::Pointer &property) notifyPropertiesRemoved(propertyPairList); } -void ModelPrivate::setBindingProperty(const InternalNode::Pointer &internalNode, const QString &name, const QString &expression) +void ModelPrivate::setBindingProperty(const InternalNode::Pointer &internalNode, const PropertyName &name, const QString &expression) { AbstractView::PropertyChangeFlags propertyChange = AbstractView::NoAdditionalChanges; if (!internalNode->hasProperty(name)) { @@ -1396,7 +1392,7 @@ void ModelPrivate::setBindingProperty(const InternalNode::Pointer &internalNode, notifyBindingPropertiesChanged(QList<InternalBindingPropertyPointer>() << bindingProperty, propertyChange); } -void ModelPrivate::setVariantProperty(const InternalNode::Pointer &internalNode, const QString &name, const QVariant &value) +void ModelPrivate::setVariantProperty(const InternalNode::Pointer &internalNode, const PropertyName &name, const QVariant &value) { AbstractView::PropertyChangeFlags propertyChange = AbstractView::NoAdditionalChanges; if (!internalNode->hasProperty(name)) { @@ -1406,10 +1402,10 @@ void ModelPrivate::setVariantProperty(const InternalNode::Pointer &internalNode, internalNode->variantProperty(name)->setValue(value); internalNode->variantProperty(name)->resetDynamicTypeName(); - notifyVariantPropertiesChanged(internalNode, QStringList() << name, propertyChange); + notifyVariantPropertiesChanged(internalNode, PropertyNameList() << name, propertyChange); } -void ModelPrivate::setDynamicVariantProperty(const InternalNodePointer &internalNode, const QString &name, const QString &dynamicPropertyType, const QVariant &value) +void ModelPrivate::setDynamicVariantProperty(const InternalNodePointer &internalNode, const PropertyName &name, const TypeName &dynamicPropertyType, const QVariant &value) { AbstractView::PropertyChangeFlags propertyChange = AbstractView::NoAdditionalChanges; if (!internalNode->hasProperty(name)) { @@ -1418,10 +1414,10 @@ void ModelPrivate::setDynamicVariantProperty(const InternalNodePointer &internal } internalNode->variantProperty(name)->setDynamicValue(dynamicPropertyType, value); - notifyVariantPropertiesChanged(internalNode, QStringList() << name, propertyChange); + notifyVariantPropertiesChanged(internalNode, PropertyNameList() << name, propertyChange); } -void ModelPrivate::setDynamicBindingProperty(const InternalNodePointer &internalNode, const QString &name, const QString &dynamicPropertyType, const QString &expression) +void ModelPrivate::setDynamicBindingProperty(const InternalNodePointer &internalNode, const PropertyName &name, const TypeName &dynamicPropertyType, const QString &expression) { AbstractView::PropertyChangeFlags propertyChange = AbstractView::NoAdditionalChanges; if (!internalNode->hasProperty(name)) { @@ -1434,7 +1430,7 @@ void ModelPrivate::setDynamicBindingProperty(const InternalNodePointer &internal notifyBindingPropertiesChanged(QList<InternalBindingPropertyPointer>() << bindingProperty, propertyChange); } -void ModelPrivate::reparentNode(const InternalNode::Pointer &newParentNode, const QString &name, const InternalNode::Pointer &node, bool list) +void ModelPrivate::reparentNode(const InternalNode::Pointer &newParentNode, const PropertyName &name, const InternalNode::Pointer &node, bool list) { AbstractView::PropertyChangeFlags propertyChange = AbstractView::NoAdditionalChanges; if (!newParentNode->hasProperty(name)) { @@ -1447,7 +1443,7 @@ void ModelPrivate::reparentNode(const InternalNode::Pointer &newParentNode, cons InternalNodeAbstractProperty::Pointer oldParentProperty(node->parentProperty()); InternalNode::Pointer oldParentNode; - QString oldParentPropertyName; + PropertyName oldParentPropertyName; if (oldParentProperty && oldParentProperty->isValid()) { oldParentNode = node->parentProperty()->propertyOwner(); oldParentPropertyName = node->parentProperty()->name(); @@ -1476,7 +1472,7 @@ void ModelPrivate::clearParent(const InternalNodePointer &node) InternalNodeAbstractProperty::Pointer oldParentProperty(node->parentProperty()); InternalNode::Pointer oldParentNode; - QString oldParentPropertyName; + PropertyName oldParentPropertyName; if (oldParentProperty->isValid()) { oldParentNode = node->parentProperty()->propertyOwner(); oldParentPropertyName = node->parentProperty()->name(); @@ -1486,7 +1482,7 @@ void ModelPrivate::clearParent(const InternalNodePointer &node) notifyNodeReparent(node, InternalNodeAbstractProperty::Pointer(), oldParentNode, oldParentPropertyName, AbstractView::NoAdditionalChanges); } -void ModelPrivate::changeRootNodeType(const QString &type, int majorVersion, int minorVersion) +void ModelPrivate::changeRootNodeType(const TypeName &type, int majorVersion, int minorVersion) { Q_ASSERT(!rootNode().isNull()); rootNode()->setType(type); @@ -1508,7 +1504,7 @@ void ModelPrivate::setNodeSource(const InternalNodePointer &internalNode, const notifyNodeSourceChanged(internalNode, nodeSource); } -void ModelPrivate::changeNodeOrder(const InternalNode::Pointer &internalParentNode, const QString &listPropertyName, int from, int to) +void ModelPrivate::changeNodeOrder(const InternalNode::Pointer &internalParentNode, const PropertyName &listPropertyName, int from, int to) { InternalNodeListProperty::Pointer nodeList(internalParentNode->nodeListProperty(listPropertyName)); Q_ASSERT(!nodeList.isNull()); @@ -1653,7 +1649,7 @@ Model::~Model() } -Model *Model::create(QString type, int major, int minor, Model *metaInfoPropxyModel) +Model *Model::create(TypeName type, int major, int minor, Model *metaInfoPropxyModel) { return Internal::ModelPrivate::create(type, major, minor, metaInfoPropxyModel); } @@ -1798,12 +1794,12 @@ const MetaInfo Model::metaInfo() const return d->metaInfo(); } -bool Model::hasNodeMetaInfo(const QString &typeName, int majorVersion, int minorVersion) +bool Model::hasNodeMetaInfo(const TypeName &typeName, int majorVersion, int minorVersion) { return NodeMetaInfo(metaInfoProxyModel(), typeName, majorVersion, minorVersion).isValid(); } -NodeMetaInfo Model::metaInfo(const QString &typeName, int majorVersion, int minorVersion) +NodeMetaInfo Model::metaInfo(const TypeName &typeName, int majorVersion, int minorVersion) { return NodeMetaInfo(metaInfoProxyModel(), typeName, majorVersion, minorVersion); } diff --git a/src/plugins/qmldesigner/designercore/model/model_p.h b/src/plugins/qmldesigner/designercore/model/model_p.h index 27605e35c9..57ff11e4da 100644 --- a/src/plugins/qmldesigner/designercore/model/model_p.h +++ b/src/plugins/qmldesigner/designercore/model/model_p.h @@ -66,7 +66,7 @@ typedef QSharedPointer<InternalBindingProperty> InternalBindingPropertyPointer; typedef QSharedPointer<InternalVariantProperty> InternalVariantPropertyPointer; typedef QSharedPointer<InternalNodeAbstractProperty> InternalNodeAbstractPropertyPointer; typedef QSharedPointer<InternalNodeListProperty> InternalNodeListPropertyPointer; -typedef QPair<InternalNodePointer, QString> PropertyPair; +typedef QPair<InternalNodePointer, PropertyName> PropertyPair; class ModelPrivate; @@ -93,16 +93,16 @@ public: ModelPrivate(Model *model); ~ModelPrivate(); - static Model *create(QString type, int major, int minor, Model *metaInfoPropxyModel); + static Model *create(const TypeName &type, int major, int minor, Model *metaInfoPropxyModel); QUrl fileUrl() const; void setFileUrl(const QUrl &url); - InternalNodePointer createNode(const QString &typeString, + InternalNodePointer createNode(const TypeName &typeName, int majorVersion, int minorVersion, - const QList<QPair<QString, QVariant> > &propertyList, - const QList<QPair<QString, QVariant> > &auxPropertyList, + const QList<QPair<PropertyName, QVariant> > &propertyList, + const QList<QPair<PropertyName, QVariant> > &auxPropertyList, const QString &nodeSource, ModelNode::NodeSourceType nodeSourceType, bool isRootNode = false); @@ -128,26 +128,26 @@ public: void setModel(Model *q) { m_q = q; } void notifyNodeCreated(const InternalNodePointer &newInternalNodePointer); - void notifyNodeAboutToBeReparent(const InternalNodePointer &internalNodePointer, const InternalNodeAbstractPropertyPointer &newPropertyParent, const InternalNodePointer &oldParent, const QString &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange); - void notifyNodeReparent(const InternalNodePointer &internalNodePointer, const InternalNodeAbstractPropertyPointer &newPropertyParent, const InternalNodePointer &oldParent, const QString &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange); + void notifyNodeAboutToBeReparent(const InternalNodePointer &internalNodePointer, const InternalNodeAbstractPropertyPointer &newPropertyParent, const InternalNodePointer &oldParent, const PropertyName &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange); + void notifyNodeReparent(const InternalNodePointer &internalNodePointer, const InternalNodeAbstractPropertyPointer &newPropertyParent, const InternalNodePointer &oldParent, const PropertyName &oldPropertyName, AbstractView::PropertyChangeFlags propertyChange); void notifyNodeAboutToBeRemoved(const InternalNodePointer &nodePointer); - void notifyNodeRemoved(const InternalNodePointer &nodePointer, const InternalNodePointer &parentNodePointer, const QString &parentPropertyName, AbstractView::PropertyChangeFlags propertyChange); + void notifyNodeRemoved(const InternalNodePointer &nodePointer, const InternalNodePointer &parentNodePointer, const PropertyName &parentPropertyName, AbstractView::PropertyChangeFlags propertyChange); void notifyNodeIdChanged(const InternalNodePointer& nodePointer, const QString& newId, const QString& oldId); void notifyPropertiesRemoved(const QList<PropertyPair> &propertyList); void notifyPropertiesAboutToBeRemoved(const QList<InternalPropertyPointer> &propertyList); void notifyBindingPropertiesChanged(const QList<InternalBindingPropertyPointer> &propertyList, AbstractView::PropertyChangeFlags propertyChange); - void notifyVariantPropertiesChanged(const InternalNodePointer &internalNodePointer, const QStringList& propertyNameList, AbstractView::PropertyChangeFlags propertyChange); + void notifyVariantPropertiesChanged(const InternalNodePointer &internalNodePointer, const PropertyNameList &propertyNameList, AbstractView::PropertyChangeFlags propertyChange); void notifyScriptFunctionsChanged(const InternalNodePointer &internalNodePointer, const QStringList &scriptFunctionList); void notifyNodeOrderChanged(const InternalNodeListPropertyPointer &internalListPropertyPointer, const InternalNodePointer &internalNodePointer, int oldIndex); - void notifyAuxiliaryDataChanged(const InternalNodePointer &internalNode, const QString &name, const QVariant &data); + void notifyAuxiliaryDataChanged(const InternalNodePointer &internalNode, const PropertyName &name, const QVariant &data); void notifyNodeSourceChanged(const InternalNodePointer &internalNode, const QString &newNodeSource); void notifyRootNodeTypeChanged(const QString &type, int majorVersion, int minorVersion); void notifyCustomNotification(const AbstractView *senderView, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data); - void notifyInstancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void notifyInstancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void notifyInstancesCompleted(const QVector<ModelNode> &nodeList); void notifyInstancesInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void notifyInstancesRenderImageChanged(const QVector<ModelNode> &nodeList); @@ -168,7 +168,7 @@ public: void changeSelectedNodes(const QList<InternalNodePointer> &newSelectedsNodeList, const QList<InternalNodePointer> &oldSelectedsNodeList); - void setAuxiliaryData(const InternalNodePointer& node, const QString &name, const QVariant &data); + void setAuxiliaryData(const InternalNodePointer& node, const PropertyName &name, const QVariant &data); void resetModelByRewriter(const QString &description); @@ -182,19 +182,19 @@ public: //node state property manipulation - void addProperty(const InternalNodePointer &node, const QString &name); - void setPropertyValue(const InternalNodePointer &node,const QString &name, const QVariant &value); + void addProperty(const InternalNodePointer &node, const PropertyName &name); + void setPropertyValue(const InternalNodePointer &node,const PropertyName &name, const QVariant &value); void removeProperty(const InternalPropertyPointer &property); - void setBindingProperty(const InternalNodePointer &internalNode, const QString &name, const QString &expression); - void setVariantProperty(const InternalNodePointer &internalNode, const QString &name, const QVariant &value); - void setDynamicVariantProperty(const InternalNodePointer &internalNode, const QString &name, const QString &propertyType, const QVariant &value); - void setDynamicBindingProperty(const InternalNodePointer &internalNode, const QString &name, const QString &dynamicPropertyType, const QString &expression); - void reparentNode(const InternalNodePointer &internalNode, const QString &name, const InternalNodePointer &internalNodeToBeAppended, bool list = true); - void changeNodeOrder(const InternalNodePointer &internalParentNode, const QString &listPropertyName, int from, int to); + void setBindingProperty(const InternalNodePointer &internalNode, const PropertyName &name, const QString &expression); + void setVariantProperty(const InternalNodePointer &internalNode, const PropertyName &name, const QVariant &value); + void setDynamicVariantProperty(const InternalNodePointer &internalNode, const PropertyName &name, const TypeName &propertyType, const QVariant &value); + void setDynamicBindingProperty(const InternalNodePointer &internalNode, const PropertyName &name, const TypeName &dynamicPropertyType, const QString &expression); + void reparentNode(const InternalNodePointer &internalNode, const PropertyName &name, const InternalNodePointer &internalNodeToBeAppended, bool list = true); + void changeNodeOrder(const InternalNodePointer &internalParentNode, const PropertyName &listPropertyName, int from, int to); void checkPropertyName(const QString &propertyName); void clearParent(const InternalNodePointer &internalNode); - void changeRootNodeType(const QString &type, int majorVersion, int minorVersion); + void changeRootNodeType(const TypeName &type, int majorVersion, int minorVersion); void setScriptFunctions(const InternalNodePointer &internalNode, const QStringList &scriptFunctionList); void setNodeSource(const InternalNodePointer &internalNode, const QString &nodeSource); diff --git a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp index 122977fbe0..c72a330f77 100644 --- a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp @@ -140,10 +140,10 @@ static void syncNodeListProperties(ModelNode &outputNode, const ModelNode &input static ModelNode createNodeFromNode(const ModelNode &modelNode,const QHash<QString, QString> &idRenamingHash, AbstractView *view) { - QList<QPair<QString, QVariant> > propertyList; - QList<QPair<QString, QVariant> > variantPropertyList; + QList<QPair<PropertyName, QVariant> > propertyList; + QList<QPair<PropertyName, QVariant> > variantPropertyList; foreach (const VariantProperty &variantProperty, modelNode.variantProperties()) { - propertyList.append(QPair<QString, QVariant>(variantProperty.name(), variantProperty.value())); + propertyList.append(QPair<PropertyName, QVariant>(variantProperty.name(), variantProperty.value())); } NodeMetaInfo nodeMetaInfo = view->model()->metaInfo(modelNode.type()); ModelNode newNode(view->createModelNode(modelNode.type(), nodeMetaInfo.majorVersion(), nodeMetaInfo.minorVersion(), @@ -187,7 +187,7 @@ void ModelMerger::replaceModel(const ModelNode &modelNode) ModelNode rootNode(view()->rootModelNode()); - foreach (const QString &propertyName, rootNode.propertyNames()) + foreach (const PropertyName &propertyName, rootNode.propertyNames()) rootNode.removeProperty(propertyName); QHash<QString, QString> idRenamingHash; diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp index dbce22d4f0..b79f4ec26a 100644 --- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp @@ -132,11 +132,11 @@ ModelNode::~ModelNode() QString ModelNode::generateNewId() const { int counter = 1; - QString newId = QString("%1%2").arg(simplifiedTypeName().toLower()).arg(counter); + QString newId = QString("%1%2").arg(QString::fromUtf8(simplifiedTypeName()).toLower()).arg(counter); while (view()->hasId(newId)) { counter += 1; - newId = QString("%1%2").arg(simplifiedTypeName().toLower()).arg(counter); + newId = QString("%1%2").arg(QString::fromUtf8(simplifiedTypeName()).toLower()).arg(counter); } return newId; @@ -203,7 +203,7 @@ void ModelNode::setId(const QString& id) /*! \brief the fully-qualified type name of the node is represented as string \return type of the node as a string */ -QString ModelNode::type() const +TypeName ModelNode::type() const { if (!isValid()) { Q_ASSERT_X(isValid(), Q_FUNC_INFO, "model node is invalid"); @@ -263,14 +263,14 @@ int ModelNode::majorQtQuickVersion() const /*! \return the short-hand type name of the node. */ -QString ModelNode::simplifiedTypeName() const +TypeName ModelNode::simplifiedTypeName() const { if (!isValid()) { Q_ASSERT_X(isValid(), Q_FUNC_INFO, "model node is invalid"); throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); } - return type().split(QLatin1Char('.')).last(); + return type().split('.').last(); } /*! \brief Returns whether the node is valid @@ -366,7 +366,7 @@ void ModelNode::setParentProperty(NodeAbstractProperty parent) parent.reparentHere(*this); } -void ModelNode::setParentProperty(const ModelNode &newParentNode, const QString &propertyName) +void ModelNode::setParentProperty(const ModelNode &newParentNode, const PropertyName &propertyName) { setParentProperty(newParentNode.nodeAbstractProperty(propertyName)); } @@ -398,7 +398,7 @@ bool ModelNode::hasParentProperty() const \return BindingProperty named name */ -BindingProperty ModelNode::bindingProperty(const QString &name) const +BindingProperty ModelNode::bindingProperty(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -417,7 +417,7 @@ BindingProperty ModelNode::bindingProperty(const QString &name) const \return NodeProperty named name */ -NodeProperty ModelNode::nodeProperty(const QString &name) const +NodeProperty ModelNode::nodeProperty(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -436,7 +436,7 @@ NodeProperty ModelNode::nodeProperty(const QString &name) const \return NodeListProperty named name */ -NodeListProperty ModelNode::nodeListProperty(const QString &name) const +NodeListProperty ModelNode::nodeListProperty(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -444,7 +444,7 @@ NodeListProperty ModelNode::nodeListProperty(const QString &name) const return NodeListProperty(name, m_internalNode, model(), view()); } -NodeAbstractProperty ModelNode::nodeAbstractProperty(const QString &name) const +NodeAbstractProperty ModelNode::nodeAbstractProperty(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -463,7 +463,7 @@ NodeAbstractProperty ModelNode::nodeAbstractProperty(const QString &name) const \return VariantProperty named name */ -VariantProperty ModelNode::variantProperty(const QString &name) const +VariantProperty ModelNode::variantProperty(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -471,7 +471,7 @@ VariantProperty ModelNode::variantProperty(const QString &name) const return VariantProperty(name, m_internalNode, model(), view()); } -AbstractProperty ModelNode::property(const QString &name) const +AbstractProperty ModelNode::property(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -501,7 +501,7 @@ QList<AbstractProperty> ModelNode::properties() const QList<AbstractProperty> propertyList; - foreach (const QString &propertyName, internalNode()->propertyNameList()) { + foreach (const PropertyName &propertyName, internalNode()->propertyNameList()) { AbstractProperty property(propertyName, internalNode(), model(), view()); propertyList.append(property); } @@ -581,7 +581,7 @@ Does nothing if the node state does not set this property. \see addProperty property properties hasProperties */ -void ModelNode::removeProperty(const QString &name) +void ModelNode::removeProperty(const PropertyName &name) { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -790,7 +790,7 @@ The list of properties set in this state. \see addProperty property changePropertyValue removeProperty hasProperties */ -QStringList ModelNode::propertyNames() const +PropertyNameList ModelNode::propertyNames() const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -800,7 +800,7 @@ QStringList ModelNode::propertyNames() const /*! \brief test a if a property is set for this node \return true if property a property ins this or a ancestor state exists */ -bool ModelNode::hasProperty(const QString &name) const +bool ModelNode::hasProperty(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -808,27 +808,27 @@ bool ModelNode::hasProperty(const QString &name) const return internalNode()->hasProperty(name); } -bool ModelNode::hasVariantProperty(const QString &name) const +bool ModelNode::hasVariantProperty(const PropertyName &name) const { return hasProperty(name) && internalNode()->property(name)->isVariantProperty(); } -bool ModelNode::hasBindingProperty(const QString &name) const +bool ModelNode::hasBindingProperty(const PropertyName &name) const { return hasProperty(name) && internalNode()->property(name)->isBindingProperty(); } -bool ModelNode::hasNodeAbstracProperty(const QString &name) const +bool ModelNode::hasNodeAbstracProperty(const PropertyName &name) const { return hasProperty(name) && internalNode()->property(name)->isNodeAbstractProperty(); } -bool ModelNode::hasNodeProperty(const QString &name) const +bool ModelNode::hasNodeProperty(const PropertyName &name) const { return hasProperty(name) && internalNode()->property(name)->isNodeProperty(); } -bool ModelNode::hasNodeListProperty(const QString &name) const +bool ModelNode::hasNodeListProperty(const PropertyName &name) const { return hasProperty(name) && internalNode()->property(name)->isNodeListProperty(); } @@ -908,7 +908,7 @@ QVariant ModelNode::toVariant() const return QVariant::fromValue(*this); } -QVariant ModelNode::auxiliaryData(const QString &name) const +QVariant ModelNode::auxiliaryData(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -916,13 +916,13 @@ QVariant ModelNode::auxiliaryData(const QString &name) const return internalNode()->auxiliaryData(name); } -void ModelNode::setAuxiliaryData(const QString &name, const QVariant &data) const +void ModelNode::setAuxiliaryData(const PropertyName &name, const QVariant &data) const { Internal::WriteLocker locker(m_model.data()); m_model.data()->d->setAuxiliaryData(internalNode(), name, data); } -bool ModelNode::hasAuxiliaryData(const QString &name) const +bool ModelNode::hasAuxiliaryData(const PropertyName &name) const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -930,7 +930,7 @@ bool ModelNode::hasAuxiliaryData(const QString &name) const return internalNode()->hasAuxiliaryData(name); } -QHash<QString, QVariant> ModelNode::auxiliaryData() const +QHash<PropertyName, QVariant> ModelNode::auxiliaryData() const { if (!isValid()) throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); diff --git a/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp b/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp index 9e171dd1a6..8c97a2211e 100644 --- a/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp @@ -335,27 +335,27 @@ QmlDesigner::QmlRefactoring::PropertyType ModelToTextMerger::propertyType(const return (QmlDesigner::QmlRefactoring::PropertyType) -1; } -QStringList ModelToTextMerger::m_propertyOrder; +PropertyNameList ModelToTextMerger::m_propertyOrder; -QStringList ModelToTextMerger::getPropertyOrder() +PropertyNameList ModelToTextMerger::getPropertyOrder() { if (m_propertyOrder.isEmpty()) { m_propertyOrder - << QLatin1String("id") - << QLatin1String("name") - << QLatin1String("target") - << QLatin1String("property") - << QLatin1String("x") - << QLatin1String("y") - << QLatin1String("width") - << QLatin1String("height") - << QLatin1String("position") - << QLatin1String("color") - << QLatin1String("radius") - << QLatin1String("text") - << QString::null - << QLatin1String("states") - << QLatin1String("transitions") + << PropertyName("id") + << PropertyName("name") + << PropertyName("target") + << PropertyName("property") + << PropertyName("x") + << PropertyName("y") + << PropertyName("width") + << PropertyName("height") + << PropertyName("position") + << PropertyName("color") + << PropertyName("radius") + << PropertyName("text") + << PropertyName() + << PropertyName("states") + << PropertyName("transitions") ; } diff --git a/src/plugins/qmldesigner/designercore/model/modeltotextmerger.h b/src/plugins/qmldesigner/designercore/model/modeltotextmerger.h index d12481edb2..13955ad9f2 100644 --- a/src/plugins/qmldesigner/designercore/model/modeltotextmerger.h +++ b/src/plugins/qmldesigner/designercore/model/modeltotextmerger.h @@ -53,7 +53,7 @@ namespace Internal { class ModelToTextMerger { typedef AbstractView::PropertyChangeFlags PropertyChangeFlags; - static QStringList m_propertyOrder; + static PropertyNameList m_propertyOrder; public: ModelToTextMerger(RewriterView *reWriterView); @@ -90,7 +90,7 @@ protected: { return m_rewriteActions; } static QmlDesigner::QmlRefactoring::PropertyType propertyType(const AbstractProperty &property, const QString &textValue = QString()); - static QStringList getPropertyOrder(); + static PropertyNameList getPropertyOrder(); static bool isInHierarchy(const AbstractProperty &property); diff --git a/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp b/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp index c48e4ade24..c829a9ed86 100644 --- a/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/nodeabstractproperty.cpp @@ -49,7 +49,7 @@ NodeAbstractProperty::NodeAbstractProperty(const NodeAbstractProperty &property, { } -NodeAbstractProperty::NodeAbstractProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view) +NodeAbstractProperty::NodeAbstractProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model *model, AbstractView *view) : AbstractProperty(propertyName, internalNode, model, view) { } @@ -161,7 +161,7 @@ uint qHash(const NodeAbstractProperty &property) QDebug operator<<(QDebug debug, const NodeAbstractProperty &property) { - return debug.nospace() << "NodeAbstractProperty(" << (property.isValid() ? property.name() : QLatin1String("invalid")) << ')'; + return debug.nospace() << "NodeAbstractProperty(" << (property.isValid() ? property.name() : PropertyName("invalid")) << ')'; } QTextStream& operator<<(QTextStream &stream, const NodeAbstractProperty &property) diff --git a/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp b/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp index 9916a186ce..1a325c71ff 100644 --- a/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/nodelistproperty.cpp @@ -50,7 +50,7 @@ NodeListProperty::NodeListProperty(const NodeListProperty &property, AbstractVie } -NodeListProperty::NodeListProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : +NodeListProperty::NodeListProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : NodeAbstractProperty(propertyName, internalNode, model, view) { } diff --git a/src/plugins/qmldesigner/designercore/model/nodeproperty.cpp b/src/plugins/qmldesigner/designercore/model/nodeproperty.cpp index 6bc08a6545..5340263d17 100644 --- a/src/plugins/qmldesigner/designercore/model/nodeproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/nodeproperty.cpp @@ -42,7 +42,7 @@ NodeProperty::NodeProperty() { } -NodeProperty::NodeProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) +NodeProperty::NodeProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : NodeAbstractProperty(propertyName, internalNode, model, view) { diff --git a/src/plugins/qmldesigner/designercore/model/plaintexteditmodifier.cpp b/src/plugins/qmldesigner/designercore/model/plaintexteditmodifier.cpp index 0a1112a0a5..5cf32b1a2e 100644 --- a/src/plugins/qmldesigner/designercore/model/plaintexteditmodifier.cpp +++ b/src/plugins/qmldesigner/designercore/model/plaintexteditmodifier.cpp @@ -60,7 +60,7 @@ PlainTextEditModifier::~PlainTextEditModifier() void PlainTextEditModifier::save(QIODevice *device) { - device->write(m_textEdit->toPlainText().toLatin1()); + device->write(m_textEdit->toPlainText().toUtf8()); } void PlainTextEditModifier::replace(int offset, int length, const QString &replacement) diff --git a/src/plugins/qmldesigner/designercore/model/propertycontainer.cpp b/src/plugins/qmldesigner/designercore/model/propertycontainer.cpp index 54750f79e5..562f80c895 100644 --- a/src/plugins/qmldesigner/designercore/model/propertycontainer.cpp +++ b/src/plugins/qmldesigner/designercore/model/propertycontainer.cpp @@ -48,14 +48,14 @@ PropertyContainer::PropertyContainer() { } -PropertyContainer::PropertyContainer(const QString &name, const QString &type, const QVariant &value) +PropertyContainer::PropertyContainer(const PropertyName &name, const QString &type, const QVariant &value) : m_name(name), m_type(type), m_value(value) { Q_ASSERT_X(!name.isEmpty(), Q_FUNC_INFO, "Name of property cannot be empty"); Q_ASSERT_X(!type.isEmpty(), Q_FUNC_INFO, "Type of property cannot be empty"); } -void PropertyContainer::set(const QString &name, const QString &type, const QVariant &value) +void PropertyContainer::set(const PropertyName &name, const QString &type, const QVariant &value) { m_name = name; m_type = type; @@ -67,7 +67,7 @@ bool PropertyContainer::isValid() const return !m_name.isEmpty() && m_value.isValid(); } -QString PropertyContainer::name() const +PropertyName PropertyContainer::name() const { return m_name; } diff --git a/src/plugins/qmldesigner/designercore/model/propertyparser.cpp b/src/plugins/qmldesigner/designercore/model/propertyparser.cpp index c03f244072..b7cbaa6f23 100644 --- a/src/plugins/qmldesigner/designercore/model/propertyparser.cpp +++ b/src/plugins/qmldesigner/designercore/model/propertyparser.cpp @@ -191,7 +191,7 @@ QVariant read(const QString &typeStr, const QString &str, const MetaInfo &) QVariant read(const QString &typeStr, const QString &str) { - int type = QMetaType::type(typeStr.toLatin1().constData()); + int type = QMetaType::type(typeStr.toUtf8().constData()); if (type == 0) { qWarning() << "Type " << typeStr << " is unknown to QMetaType system. Cannot create properly typed QVariant for value " diff --git a/src/plugins/qmldesigner/designercore/model/qmlanchors.cpp b/src/plugins/qmldesigner/designercore/model/qmlanchors.cpp index 6b2e3cc362..f73b1a7b34 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlanchors.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlanchors.cpp @@ -39,21 +39,19 @@ namespace QmlDesigner { -static QString lineTypeToString(AnchorLine::Type lineType) +static PropertyName lineTypeToString(AnchorLine::Type lineType) { - QString typeString; - switch (lineType) { - case AnchorLine::Left: return QLatin1String("left"); - case AnchorLine::Top: return QLatin1String("top"); - case AnchorLine::Right: return QLatin1String("right"); - case AnchorLine::Bottom: return QLatin1String("bottom"); - case AnchorLine::HorizontalCenter: return QLatin1String("horizontalCenter"); - case AnchorLine::VerticalCenter: return QLatin1String("verticalCenter"); - case AnchorLine::Baseline: return QLatin1String("baseline"); - case AnchorLine::Fill: return QLatin1String("fill"); - case AnchorLine::Center: return QLatin1String("centerIn"); - default: return QString(); + case AnchorLine::Left: return PropertyName("left"); + case AnchorLine::Top: return PropertyName("top"); + case AnchorLine::Right: return PropertyName("right"); + case AnchorLine::Bottom: return PropertyName("bottom"); + case AnchorLine::HorizontalCenter: return PropertyName("horizontalCenter"); + case AnchorLine::VerticalCenter: return PropertyName("verticalCenter"); + case AnchorLine::Baseline: return PropertyName("baseline"); + case AnchorLine::Fill: return PropertyName("fill"); + case AnchorLine::Center: return PropertyName("centerIn"); + default: return PropertyName(); } } @@ -91,27 +89,27 @@ static AnchorLine::Type propertyNameToLineType(const QString & string) return AnchorLine::Invalid; } -static QString marginPropertyName(AnchorLine::Type lineType) +static PropertyName marginPropertyName(AnchorLine::Type lineType) { switch (lineType) { - case AnchorLine::Left: return QLatin1String("anchors.leftMargin"); - case AnchorLine::Top: return QLatin1String("anchors.topMargin"); - case AnchorLine::Right: return QLatin1String("anchors.rightMargin"); - case AnchorLine::Bottom: return QLatin1String("anchors.bottomMargin"); - case AnchorLine::HorizontalCenter: return QLatin1String("anchors.horizontalCenterOffset"); - case AnchorLine::VerticalCenter: return QLatin1String("anchors.verticalCenterOffset"); - default: return QString(); + case AnchorLine::Left: return PropertyName("anchors.leftMargin"); + case AnchorLine::Top: return PropertyName("anchors.topMargin"); + case AnchorLine::Right: return PropertyName("anchors.rightMargin"); + case AnchorLine::Bottom: return PropertyName("anchors.bottomMargin"); + case AnchorLine::HorizontalCenter: return PropertyName("anchors.horizontalCenterOffset"); + case AnchorLine::VerticalCenter: return PropertyName("anchors.verticalCenterOffset"); + default: return PropertyName(); } } -static QString anchorPropertyName(AnchorLine::Type lineType) +static PropertyName anchorPropertyName(AnchorLine::Type lineType) { - const QString typeString = lineTypeToString(lineType); + const PropertyName typeString = lineTypeToString(lineType); if (typeString.isEmpty()) - return QString(); + return PropertyName(); else - return QString("anchors.%1").arg(typeString); + return PropertyName("anchors.") + typeString; } @@ -186,7 +184,7 @@ void QmlAnchors::setAnchor(AnchorLine::Type sourceAnchorLine, removeAnchor(sourceAnchorLine); } - const QString propertyName = anchorPropertyName(sourceAnchorLine); + const PropertyName propertyName = anchorPropertyName(sourceAnchorLine); QString targetExpression = targetQmlItemNode.modelNode().validId(); if (targetQmlItemNode.modelNode() == qmlItemNode().modelNode().parentProperty().parentModelNode()) targetExpression = "parent"; @@ -204,10 +202,10 @@ bool detectHorizontalCycle(const ModelNode &node, QList<ModelNode> knownNodeList knownNodeList.append(node); - static QStringList validAnchorLines(QStringList() << "right" << "left" << "horizontalCenter"); - static QStringList anchorNames(QStringList() << "anchors.right" << "anchors.left" << "anchors.horizontalCenter"); + static PropertyNameList validAnchorLines(PropertyNameList() << "right" << "left" << "horizontalCenter"); + static PropertyNameList anchorNames(PropertyNameList() << "anchors.right" << "anchors.left" << "anchors.horizontalCenter"); - foreach (const QString &anchorName, anchorNames) { + foreach (const PropertyName &anchorName, anchorNames) { if (node.hasBindingProperty(anchorName)) { AbstractProperty targetProperty = node.bindingProperty(anchorName).resolveToProperty(); if (targetProperty.isValid()) { @@ -221,8 +219,8 @@ bool detectHorizontalCycle(const ModelNode &node, QList<ModelNode> knownNodeList } - static QStringList anchorShortcutNames(QStringList() << "anchors.fill" << "anchors.centerIn"); - foreach (const QString &anchorName, anchorShortcutNames) { + static PropertyNameList anchorShortcutNames(PropertyNameList() << "anchors.fill" << "anchors.centerIn"); + foreach (const PropertyName &anchorName, anchorShortcutNames) { if (node.hasBindingProperty(anchorName)) { ModelNode targetNode = node.bindingProperty(anchorName).resolveToModelNode(); @@ -244,10 +242,10 @@ bool detectVerticalCycle(const ModelNode &node, QList<ModelNode> knownNodeList) knownNodeList.append(node); - static QStringList validAnchorLines(QStringList() << "top" << "bottom" << "verticalCenter" << "baseline"); - static QStringList anchorNames(QStringList() << "anchors.top" << "anchors.bottom" << "anchors.verticalCenter" << "anchors.baseline"); + static PropertyNameList validAnchorLines(PropertyNameList() << "top" << "bottom" << "verticalCenter" << "baseline"); + static PropertyNameList anchorNames(PropertyNameList() << "anchors.top" << "anchors.bottom" << "anchors.verticalCenter" << "anchors.baseline"); - foreach (const QString &anchorName, anchorNames) { + foreach (const PropertyName &anchorName, anchorNames) { if (node.hasBindingProperty(anchorName)) { AbstractProperty targetProperty = node.bindingProperty(anchorName).resolveToProperty(); if (targetProperty.isValid()) { @@ -261,8 +259,8 @@ bool detectVerticalCycle(const ModelNode &node, QList<ModelNode> knownNodeList) } - static QStringList anchorShortcutNames(QStringList() << "anchors.fill" << "anchors.centerIn"); - foreach (const QString &anchorName, anchorShortcutNames) { + static PropertyNameList anchorShortcutNames(PropertyNameList() << "anchors.fill" << "anchors.centerIn"); + foreach (const PropertyName &anchorName, anchorShortcutNames) { if (node.hasBindingProperty(anchorName)) { ModelNode targetNode = node.bindingProperty(anchorName).resolveToModelNode(); @@ -309,7 +307,7 @@ AnchorLine::Type QmlAnchors::possibleAnchorLines(AnchorLine::Type sourceAnchorLi AnchorLine QmlAnchors::instanceAnchor(AnchorLine::Type sourceAnchorLine) const { - QPair<QString, qint32> targetAnchorLinePair; + QPair<PropertyName, qint32> targetAnchorLinePair; if (qmlItemNode().nodeInstance().hasAnchor("anchors.fill") && (sourceAnchorLine & AnchorLine::Fill)) { targetAnchorLinePair = qmlItemNode().nodeInstance().anchor("anchors.fill"); targetAnchorLinePair.first = lineTypeToString(sourceAnchorLine); // TODO: looks wrong @@ -335,7 +333,7 @@ void QmlAnchors::removeAnchor(AnchorLine::Type sourceAnchorLine) { RewriterTransaction transaction = qmlItemNode().qmlModelView()->beginRewriterTransaction(); if (qmlItemNode().isInBaseState()) { - const QString propertyName = anchorPropertyName(sourceAnchorLine); + const PropertyName propertyName = anchorPropertyName(sourceAnchorLine); if (qmlItemNode().nodeInstance().hasAnchor("anchors.fill") && (sourceAnchorLine & AnchorLine::Fill)) { qmlItemNode().modelNode().removeProperty("anchors.fill"); qmlItemNode().modelNode().bindingProperty("anchors.top").setExpression("parent.top"); @@ -378,7 +376,7 @@ void QmlAnchors::removeAnchors() bool QmlAnchors::instanceHasAnchor(AnchorLine::Type sourceAnchorLine) const { - const QString propertyName = anchorPropertyName(sourceAnchorLine); + const PropertyName propertyName = anchorPropertyName(sourceAnchorLine); if (sourceAnchorLine & AnchorLine::Fill) return qmlItemNode().nodeInstance().hasAnchor(propertyName) || qmlItemNode().nodeInstance().hasAnchor("anchors.fill"); @@ -403,7 +401,7 @@ bool QmlAnchors::instanceHasAnchors() const void QmlAnchors::setMargin(AnchorLine::Type sourceAnchorLineType, double margin) const { - QString propertyName = marginPropertyName(sourceAnchorLineType); + PropertyName propertyName = marginPropertyName(sourceAnchorLineType); qmlItemNode().setVariantProperty(propertyName, qRound(margin)); } @@ -420,7 +418,7 @@ double QmlAnchors::instanceMargin(AnchorLine::Type sourceAnchorLineType) const void QmlAnchors::removeMargin(AnchorLine::Type sourceAnchorLineType) { if (qmlItemNode().isInBaseState()) { - QString propertyName = marginPropertyName(sourceAnchorLineType); + PropertyName propertyName = marginPropertyName(sourceAnchorLineType); qmlItemNode().modelNode().removeProperty(propertyName); } } diff --git a/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp b/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp index 3f2d7a91f4..aec42974ba 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlchangeset.cpp @@ -60,7 +60,7 @@ bool QmlModelStateOperation::isValid() const || modelNode().metaInfo().isSubclassOf("<cpp>.QQuickStateOperation", -1, -1)); } -void QmlPropertyChanges::removeProperty(const QString &name) +void QmlPropertyChanges::removeProperty(const PropertyName &name) { RewriterTransaction transaction(qmlModelView()->beginRewriterTransaction()); if (name == "name") diff --git a/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp index 3e41936cf9..75dffde67f 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlitemnode.cpp @@ -308,7 +308,7 @@ QList<QmlModelState> QmlModelStateGroup::allStates() const return returnList; } -QString QmlItemNode::simplifiedTypeName() const +TypeName QmlItemNode::simplifiedTypeName() const { return modelNode().simplifiedTypeName(); } @@ -325,7 +325,7 @@ QmlModelState QmlModelStateGroup::addState(const QString &name) PropertyListType propertyList; - propertyList.append(qMakePair(QString("name"), QVariant(name))); + propertyList.append(qMakePair(PropertyName("name"), QVariant(name))); ModelNode newState = QmlObjectNode(modelNode()).qmlModelView()->createQmlState(propertyList); modelNode().nodeListProperty("states").reparentHere(newState); diff --git a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp index e0356c8be3..3a3d16c2c7 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp @@ -83,7 +83,7 @@ QmlModelStateGroup QmlModelView::rootStateGroup() const return QmlModelStateGroup(rootModelNode()); } -QmlObjectNode QmlModelView::createQmlObjectNode(const QString &typeString, +QmlObjectNode QmlModelView::createQmlObjectNode(const TypeName &typeString, int majorVersion, int minorVersion, const PropertyListType &propertyList) @@ -91,7 +91,7 @@ QmlObjectNode QmlModelView::createQmlObjectNode(const QString &typeString, return QmlObjectNode(createModelNode(typeString, majorVersion, minorVersion, propertyList)); } -QmlItemNode QmlModelView::createQmlItemNode(const QString &typeString, +QmlItemNode QmlModelView::createQmlItemNode(const TypeName &typeString, int majorVersion, int minorVersion, const PropertyListType &propertyList) @@ -127,9 +127,9 @@ QmlItemNode QmlModelView::createQmlItemNodeFromImage(const QString &imageName, c if (!model()->imports().contains(newImport)) model()->changeImports(QList<Import>() << newImport, QList<Import>()); - QList<QPair<QString, QVariant> > propertyPairList; - propertyPairList.append(qMakePair(QString("x"), QVariant( round(position.x(), 4)))); - propertyPairList.append(qMakePair(QString("y"), QVariant( round(position.y(), 4)))); + QList<QPair<PropertyName, QVariant> > propertyPairList; + propertyPairList.append(qMakePair(PropertyName("x"), QVariant( round(position.x(), 4)))); + propertyPairList.append(qMakePair(PropertyName("y"), QVariant( round(position.y(), 4)))); QString relativeImageName = imageName; @@ -139,7 +139,7 @@ QmlItemNode QmlModelView::createQmlItemNodeFromImage(const QString &imageName, c relativeImageName = fileDir.relativeFilePath(imageName); } - propertyPairList.append(qMakePair(QString("source"), QVariant(relativeImageName))); + propertyPairList.append(qMakePair(PropertyName("source"), QVariant(relativeImageName))); newNode = createQmlItemNode("QtQuick.Image", -1, -1, propertyPairList); parentNode.nodeAbstractProperty("data").reparentHere(newNode); @@ -213,9 +213,9 @@ QmlItemNode QmlModelView::createQmlItemNode(const ItemLibraryEntry &itemLibraryE } } - QList<QPair<QString, QVariant> > propertyPairList; - propertyPairList.append(qMakePair(QString("x"), QVariant(round(position.x(), 4)))); - propertyPairList.append(qMakePair(QString("y"), QVariant(round(position.y(), 4)))); + QList<QPair<PropertyName, QVariant> > propertyPairList; + propertyPairList.append(qMakePair(PropertyName("x"), QVariant(round(position.x(), 4)))); + propertyPairList.append(qMakePair(PropertyName("y"), QVariant(round(position.y(), 4)))); if (itemLibraryEntry.qml().isEmpty()) { foreach (const PropertyContainer &property, itemLibraryEntry.properties()) @@ -387,13 +387,7 @@ void QmlModelView::rootNodeTypeChanged(const QString &/*type*/, int, int /*minor void QmlModelView::scriptFunctionsChanged(const ModelNode &/*node*/, const QStringList &/*scriptFunctionList*/) {} void QmlModelView::selectedNodesChanged(const QList<ModelNode> &/*selectedNodeList*/, const QList<ModelNode> &/*lastSelectedNodeList*/) {} -void QmlModelView::instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList) -{ - typedef QPair<ModelNode, QString> ModelNodePropertyPair; - foreach (const ModelNodePropertyPair &propertyPair, propertyList) { - nodeInstancePropertyChanged(propertyPair.first, propertyPair.second); - } -} + void QmlModelView::instancesCompleted(const QVector<ModelNode> &/*completedNodeList*/) { } @@ -448,30 +442,7 @@ void QmlModelView::actualStateChanged(const ModelNode & /*node*/) } -void QmlModelView::nodeInstancePropertyChanged(const ModelNode &node, const QString &propertyName) -{ - QmlObjectNode qmlObjectNode(node); - - if (!qmlObjectNode.isValid()) - return; - - if (isTransformProperty(propertyName)) - transformChanged(qmlObjectNode, propertyName); - else if (propertyName == "parent") - parentChanged(qmlObjectNode); - else - otherPropertyChanged(qmlObjectNode, propertyName); -} - -void QmlModelView::transformChanged(const QmlObjectNode &/*qmlObjectNode*/, const QString &/*propertyName*/) -{ -} - -void QmlModelView::parentChanged(const QmlObjectNode &/*qmlObjectNode*/) -{ -} - -void QmlModelView::otherPropertyChanged(const QmlObjectNode &/*qmlObjectNode*/, const QString &/*propertyName*/) +void QmlModelView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > & /*propertyList*/) { } diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index 3d0af0bb6a..d8259a5ef2 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -43,7 +43,7 @@ namespace QmlDesigner { -void QmlObjectNode::setVariantProperty(const QString &name, const QVariant &value) +void QmlObjectNode::setVariantProperty(const PropertyName &name, const QVariant &value) { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -59,7 +59,7 @@ void QmlObjectNode::setVariantProperty(const QString &name, const QVariant &valu } } -void QmlObjectNode::setBindingProperty(const QString &name, const QString &expression) +void QmlObjectNode::setBindingProperty(const PropertyName &name, const QString &expression) { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -95,13 +95,13 @@ instanciated instance of this object. \return the value of this property based on the instance */ -QVariant QmlObjectNode::instanceValue(const QString &name) const +QVariant QmlObjectNode::instanceValue(const PropertyName &name) const { return nodeInstance().property(name); } -bool QmlObjectNode::hasProperty(const QString &name) const +bool QmlObjectNode::hasProperty(const PropertyName &name) const { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -115,7 +115,7 @@ bool QmlObjectNode::hasProperty(const QString &name) const return modelNode().hasProperty(name); } -bool QmlObjectNode::hasBindingProperty(const QString &name) const +bool QmlObjectNode::hasBindingProperty(const PropertyName &name) const { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -129,22 +129,22 @@ bool QmlObjectNode::hasBindingProperty(const QString &name) const return modelNode().hasBindingProperty(name); } -NodeAbstractProperty QmlObjectNode::nodeAbstractProperty(const QString &name) const +NodeAbstractProperty QmlObjectNode::nodeAbstractProperty(const PropertyName &name) const { return modelNode().nodeAbstractProperty(name); } -NodeProperty QmlObjectNode::nodeProperty(const QString &name) const +NodeProperty QmlObjectNode::nodeProperty(const PropertyName &name) const { return modelNode().nodeProperty(name); } -NodeListProperty QmlObjectNode::nodeListProperty(const QString &name) const +NodeListProperty QmlObjectNode::nodeListProperty(const PropertyName &name) const { return modelNode().nodeListProperty(name); } -bool QmlObjectNode::propertyAffectedByCurrentState(const QString &name) const +bool QmlObjectNode::propertyAffectedByCurrentState(const PropertyName &name) const { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -158,7 +158,7 @@ bool QmlObjectNode::propertyAffectedByCurrentState(const QString &name) const return currentState().propertyChanges(modelNode()).modelNode().hasProperty(name); } -QVariant QmlObjectNode::modelValue(const QString &name) const +QVariant QmlObjectNode::modelValue(const PropertyName &name) const { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -177,7 +177,7 @@ QVariant QmlObjectNode::modelValue(const QString &name) const return propertyChanges.modelNode().variantProperty(name).value(); } -QString QmlObjectNode::expression(const QString &name) const +QString QmlObjectNode::expression(const PropertyName &name) const { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -338,7 +338,7 @@ QList<QmlModelState> QmlObjectNode::allDefinedStates() const */ -void QmlObjectNode::removeVariantProperty(const QString &name) +void QmlObjectNode::removeVariantProperty(const PropertyName &name) { if (!isValid()) throw new InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__); @@ -380,7 +380,7 @@ bool QmlObjectNode::isAncestorOf(const QmlObjectNode &objectNode) const return modelNode().isAncestorOf(objectNode.modelNode()); } -QVariant QmlObjectNode::instanceValue(const ModelNode &modelNode, const QString &name) +QVariant QmlObjectNode::instanceValue(const ModelNode &modelNode, const PropertyName &name) { QmlModelView *modelView = qobject_cast<QmlModelView*>(modelNode.view()); if (!modelView) @@ -389,12 +389,12 @@ QVariant QmlObjectNode::instanceValue(const ModelNode &modelNode, const QString return modelView->instanceForModelNode(modelNode).property(name); } -QString QmlObjectNode::instanceType(const QString &name) const +TypeName QmlObjectNode::instanceType(const PropertyName &name) const { return nodeInstance().instanceType(name); } -bool QmlObjectNode::instanceHasBinding(const QString &name) const +bool QmlObjectNode::instanceHasBinding(const PropertyName &name) const { QmlModelView *modelView = qobject_cast<QmlModelView*>(modelNode().view()); if (!modelView) @@ -457,7 +457,7 @@ bool QmlObjectNode::hasDefaultProperty() const return modelNode().metaInfo().hasDefaultProperty(); } -QString QmlObjectNode::defaultProperty() const +PropertyName QmlObjectNode::defaultProperty() const { return modelNode().metaInfo().defaultPropertyName(); } diff --git a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp index ba6ce14543..21d343a953 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp @@ -281,7 +281,7 @@ QmlModelState QmlModelState::duplicate(const QString &name) const // QmlModelState newState(stateGroup().addState(name)); PropertyListType propertyList; - propertyList.append(qMakePair(QString("name"), QVariant(name))); + propertyList.append(qMakePair(PropertyName("name"), QVariant(name))); QmlModelState newState ( qmlModelView()->createQmlState(propertyList) ); foreach (const ModelNode &childNode, modelNode().nodeListProperty("changes").toModelNodeList()) { diff --git a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp index 5a6f0dbf2a..12fb422844 100644 --- a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.cpp @@ -63,7 +63,7 @@ inline static QString doubleToString(double d) return string; } -QmlTextGenerator::QmlTextGenerator(const QStringList &propertyOrder, int indentDepth): +QmlTextGenerator::QmlTextGenerator(const PropertyNameList &propertyOrder, int indentDepth): m_propertyOrder(propertyOrder), m_indentDepth(indentDepth) { @@ -104,7 +104,7 @@ QString QmlTextGenerator::toQml(const AbstractProperty &property, int indentDept const QVariant value = variantProperty.value(); const QString stringValue = value.toString(); - if (property.name() == QLatin1String("id")) + if (property.name() == "id") return stringValue; if (false) { @@ -186,11 +186,11 @@ QString QmlTextGenerator::propertiesToQml(const ModelNode &node, int indentDepth QString topPart; QString bottomPart; - QStringList nodePropertyNames = node.propertyNames(); + PropertyNameList nodePropertyNames = node.propertyNames(); bool addToTop = true; - foreach (const QString &propertyName, m_propertyOrder) { - if (QLatin1String("id") == propertyName) { + foreach (const PropertyName &propertyName, m_propertyOrder) { + if (propertyName == "id") { // the model handles the id property special, so: if (!node.id().isEmpty()) { QString idLine(indentDepth, QLatin1Char(' ')); @@ -215,7 +215,7 @@ QString QmlTextGenerator::propertiesToQml(const ModelNode &node, int indentDepth } } - foreach (const QString &propertyName, nodePropertyNames) { + foreach (const PropertyName &propertyName, nodePropertyNames) { bottomPart.prepend(propertyToQml(node.property(propertyName), indentDepth)); } diff --git a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.h b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.h index 99c3918c50..4f5ba555dc 100644 --- a/src/plugins/qmldesigner/designercore/model/qmltextgenerator.h +++ b/src/plugins/qmldesigner/designercore/model/qmltextgenerator.h @@ -42,7 +42,7 @@ namespace Internal { class QmlTextGenerator { public: - explicit QmlTextGenerator(const QStringList &propertyOrder, int indentDepth = 0); + explicit QmlTextGenerator(const PropertyNameList &propertyOrder, int indentDepth = 0); QString operator()(const AbstractProperty &property) const { return toQml(property, m_indentDepth); } @@ -59,7 +59,7 @@ private: static QString escape(const QString &value); private: - QStringList m_propertyOrder; + PropertyNameList m_propertyOrder; int m_indentDepth; }; diff --git a/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp b/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp index cb3e4a8113..0bfff4195a 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp @@ -57,12 +57,12 @@ static inline QString toInfo(const Import &import) } if (import.hasVersion()) - txt += QString::fromLatin1("with version \"%1\"").arg(import.version()); + txt += QString::fromUtf8("with version \"%1\"").arg(import.version()); else txt += QLatin1String("without version"); if (import.hasAlias()) - txt += QString::fromLatin1("aliassed as \"%1\"").arg(import.alias()); + txt += QString::fromUtf8("aliassed as \"%1\"").arg(import.alias()); else txt += QLatin1String("unaliassed"); @@ -129,7 +129,7 @@ QString AddPropertyRewriteAction::info() const bool ChangeIdRewriteAction::execute(QmlDesigner::QmlRefactoring &refactoring, ModelNodePositionStorage &positionStore) { const int nodeLocation = positionStore.nodeOffset(m_node); - static const QLatin1String idPropertyName("id"); + static const PropertyName idPropertyName("id"); bool result = false; if (m_oldId.isEmpty()) { @@ -281,7 +281,7 @@ bool RemovePropertyRewriteAction::execute(QmlDesigner::QmlRefactoring &refactori QString RemovePropertyRewriteAction::info() const { - return QString("RemovePropertyRewriteAction for property \"%1\"").arg(m_property.name()); + return QString("RemovePropertyRewriteAction for property \"%1\"").arg(QLatin1String(m_property.name())); } bool ReparentNodeRewriteAction::execute(QmlDesigner::QmlRefactoring &refactoring, ModelNodePositionStorage &positionStore) @@ -291,7 +291,7 @@ bool ReparentNodeRewriteAction::execute(QmlDesigner::QmlRefactoring &refactoring const bool isArrayBinding = m_targetProperty.isNodeListProperty(); bool result = false; - QString targetPropertyName; + PropertyName targetPropertyName; if (!m_targetProperty.isDefaultProperty()) targetPropertyName = m_targetProperty.name(); diff --git a/src/plugins/qmldesigner/designercore/model/rewriteactioncompressor.h b/src/plugins/qmldesigner/designercore/model/rewriteactioncompressor.h index e1495528a8..938835c9a6 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriteactioncompressor.h +++ b/src/plugins/qmldesigner/designercore/model/rewriteactioncompressor.h @@ -40,7 +40,7 @@ namespace Internal { class RewriteActionCompressor { public: - RewriteActionCompressor(const QStringList &propertyOrder): m_propertyOrder(propertyOrder) {} + RewriteActionCompressor(const PropertyNameList &propertyOrder): m_propertyOrder(propertyOrder) {} void operator()(QList<RewriteAction *> &actions) const; @@ -55,7 +55,7 @@ private: void compressAddReparentActions(QList<RewriteAction *> &actions) const; private: - QStringList m_propertyOrder; + PropertyNameList m_propertyOrder; }; } // namespace Internal diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index 4014ffe549..1b16be516b 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -375,7 +375,7 @@ void RewriterView::scriptFunctionsChanged(const ModelNode & /*node*/, const QStr { } -void RewriterView::instancePropertyChange(const QList<QPair<ModelNode, QString> > & /*propertyList*/) +void RewriterView::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > & /*propertyList*/) { } diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index a5d01cf947..aac9de667c 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -41,6 +41,7 @@ #include "rewriterview.h" #include "variantproperty.h" #include "nodemetainfo.h" +#include "qmldesignercorelib_global.h" #include <languageutils/componentversion.h> #include <qmljs/qmljsevaluate.h> @@ -243,9 +244,9 @@ static inline QVariant convertDynamicPropertyValueToVariant(const QString &astVa } } -static bool isComponentType(const QString &type) +static bool isComponentType(const QmlDesigner::TypeName &type) { - return type == QLatin1String("Component") || type == QLatin1String("Qt.Component") || type == QLatin1String("QtQuick.Component"); + return type == "Component" || type == "Qt.Component" || type == "QtQuick.Component"; } static bool isCustomParserType(const QString &type) @@ -257,14 +258,14 @@ static bool isCustomParserType(const QString &type) } -static bool isPropertyChangesType(const QString &type) +static bool isPropertyChangesType(const QmlDesigner::TypeName &type) { - return type == QLatin1String("PropertyChanges") || type == QLatin1String("QtQuick.PropertyChanges") || type == QLatin1String("Qt.PropertyChanges"); + return type == "PropertyChanges" || type == "QtQuick.PropertyChanges" || type == "Qt.PropertyChanges"; } -static bool propertyIsComponentType(const QmlDesigner::NodeAbstractProperty &property, const QString &type, QmlDesigner::Model *model) +static bool propertyIsComponentType(const QmlDesigner::NodeAbstractProperty &property, const QmlDesigner::TypeName &type, QmlDesigner::Model *model) { - if (model->metaInfo(type, -1, -1).isSubclassOf(QLatin1String("QtQuick.Component"), -1, -1) && !isComponentType(type)) + if (model->metaInfo(type, -1, -1).isSubclassOf("QtQuick.Component", -1, -1) && !isComponentType(type)) return false; //If the type is already a subclass of Component keep it return property.parentModelNode().isValid() && @@ -855,10 +856,15 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, m_rewriterView->positionStorage()->setNodeOffset(modelNode, astObjectType->identifierToken.offset); - QString typeName, defaultPropertyName; + QString typeNameString; + QString defaultPropertyNameString; int majorVersion; int minorVersion; - context->lookup(astObjectType, typeName, majorVersion, minorVersion, defaultPropertyName); + context->lookup(astObjectType, typeNameString, majorVersion, minorVersion, defaultPropertyNameString); + + TypeName typeName = typeNameString.toUtf8(); + PropertyName defaultPropertyName = defaultPropertyNameString.toUtf8(); + if (defaultPropertyName.isEmpty()) //fallback and use the meta system of the model defaultPropertyName = modelNode.metaInfo().defaultPropertyName(); @@ -898,9 +904,9 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, context->enterScope(astNode); - QSet<QString> modelPropertyNames = QSet<QString>::fromList(modelNode.propertyNames()); + QSet<PropertyName> modelPropertyNames = QSet<PropertyName>::fromList(modelNode.propertyNames()); if (!modelNode.id().isEmpty()) - modelPropertyNames.insert(QLatin1String("id")); + modelPropertyNames.insert("id"); QList<UiObjectMember *> defaultPropertyItems; for (UiObjectMemberList *iter = astInitializer->members; iter; iter = iter->next) { @@ -911,14 +917,14 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, if (UiArrayBinding *array = cast<UiArrayBinding *>(member)) { const QString astPropertyName = toString(array->qualifiedId); if (isPropertyChangesType(typeName) || context->lookupProperty(QString(), array->qualifiedId)) { - AbstractProperty modelProperty = modelNode.property(astPropertyName); + AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); QList<UiObjectMember *> arrayMembers; for (UiArrayMemberList *iter = array->members; iter; iter = iter->next) if (UiObjectMember *member = iter->member) arrayMembers.append(member); syncArrayProperty(modelProperty, arrayMembers, context, differenceHandler); - modelPropertyNames.remove(astPropertyName); + modelPropertyNames.remove(astPropertyName.toUtf8()); } else { qWarning() << "Skipping invalid array property" << astPropertyName << "for node type" << modelNode.type(); @@ -932,7 +938,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, context, differenceHandler); foreach (const QString &prop, props) - modelPropertyNames.remove(prop); + modelPropertyNames.remove(prop.toUtf8()); } else { defaultPropertyItems.append(member); } @@ -945,12 +951,12 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, const ObjectValue *containingObject = 0; QString name; if (context->lookupProperty(QString(), binding->qualifiedId, &propertyType, &containingObject, &name) || isPropertyChangesType(typeName)) { - AbstractProperty modelProperty = modelNode.property(astPropertyName); + AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); if (context->isArrayProperty(propertyType, containingObject, name)) syncArrayProperty(modelProperty, QList<QmlJS::AST::UiObjectMember*>() << member, context, differenceHandler); else syncNodeProperty(modelProperty, binding, context, differenceHandler); - modelPropertyNames.remove(astPropertyName); + modelPropertyNames.remove(astPropertyName.toUtf8()); } else { qWarning() << "Skipping invalid node property" << astPropertyName << "for node type" << modelNode.type(); @@ -971,15 +977,15 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, astValue = textAt(context->doc(), property->statement->firstSourceLocation(), property->statement->lastSourceLocation()); - const QString &astType = property->memberType.toString(); - AbstractProperty modelProperty = modelNode.property(astName); + const TypeName &astType = property->memberType.toUtf8(); + AbstractProperty modelProperty = modelNode.property(astName.toUtf8()); if (!property->statement || isLiteralValue(property->statement)) { const QVariant variantValue = convertDynamicPropertyValueToVariant(astValue, astType); syncVariantProperty(modelProperty, variantValue, astType, differenceHandler); } else { syncExpressionProperty(modelProperty, astValue, astType, differenceHandler); } - modelPropertyNames.remove(astName); + modelPropertyNames.remove(astName.toUtf8()); } else { qWarning() << "Found an unknown QML value."; } @@ -1005,11 +1011,11 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, } } - foreach (const QString &modelPropertyName, modelPropertyNames) { + foreach (const PropertyName &modelPropertyName, modelPropertyNames) { AbstractProperty modelProperty = modelNode.property(modelPropertyName); // property deleted. - if (modelPropertyName == QLatin1String("id")) + if (modelPropertyName == "id") differenceHandler.idsDiffer(modelNode, QString()); else differenceHandler.propertyAbsentFromQml(modelProperty); @@ -1018,7 +1024,7 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, context->leaveScope(); } -QString TextToModelMerger::syncScriptBinding(ModelNode &modelNode, +QmlDesigner::PropertyName TextToModelMerger::syncScriptBinding(ModelNode &modelNode, const QString &prefix, UiScriptBinding *script, ReadingContext *context, @@ -1041,46 +1047,46 @@ QString TextToModelMerger::syncScriptBinding(ModelNode &modelNode, if (astPropertyName == QLatin1String("id")) { syncNodeId(modelNode, astValue, differenceHandler); - return astPropertyName; + return astPropertyName.toUtf8(); } if (isSignalPropertyName(astPropertyName)) - return QString(); + return PropertyName(); if (isLiteralValue(script)) { if (isPropertyChangesType(modelNode.type())) { - AbstractProperty modelProperty = modelNode.property(astPropertyName); + AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); const QVariant variantValue(deEscape(stripQuotes(astValue))); - syncVariantProperty(modelProperty, variantValue, QString(), differenceHandler); - return astPropertyName; + syncVariantProperty(modelProperty, variantValue, TypeName(), differenceHandler); + return astPropertyName.toUtf8(); } else { const QVariant variantValue = context->convertToVariant(astValue, prefix, script->qualifiedId); if (variantValue.isValid()) { - AbstractProperty modelProperty = modelNode.property(astPropertyName); - syncVariantProperty(modelProperty, variantValue, QString(), differenceHandler); - return astPropertyName; + AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); + syncVariantProperty(modelProperty, variantValue, TypeName(), differenceHandler); + return astPropertyName.toUtf8(); } else { qWarning() << "Skipping invalid variant property" << astPropertyName << "for node type" << modelNode.type(); - return QString(); + return PropertyName(); } } } const QVariant enumValue = context->convertToEnum(script->statement, prefix, script->qualifiedId); if (enumValue.isValid()) { // It is a qualified enum: - AbstractProperty modelProperty = modelNode.property(astPropertyName); - syncVariantProperty(modelProperty, enumValue, QString(), differenceHandler); // TODO: parse type - return astPropertyName; + AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); + syncVariantProperty(modelProperty, enumValue, TypeName(), differenceHandler); // TODO: parse type + return astPropertyName.toUtf8(); } else { // Not an enum, so: if (isPropertyChangesType(modelNode.type()) || context->lookupProperty(prefix, script->qualifiedId)) { - AbstractProperty modelProperty = modelNode.property(astPropertyName); - syncExpressionProperty(modelProperty, astValue, QString(), differenceHandler); // TODO: parse type - return astPropertyName; + AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); + syncExpressionProperty(modelProperty, astValue, TypeName(), differenceHandler); // TODO: parse type + return astPropertyName.toUtf8(); } else { qWarning() << "Skipping invalid expression property" << astPropertyName << "for node type" << modelNode.type(); - return QString(); + return PropertyName(); } } } @@ -1110,10 +1116,13 @@ void TextToModelMerger::syncNodeProperty(AbstractProperty &modelProperty, ReadingContext *context, DifferenceHandler &differenceHandler) { - QString typeName, dummy; + QString typeNameString; + QString dummy; int majorVersion; int minorVersion; - context->lookup(binding->qualifiedTypeNameId, typeName, majorVersion, minorVersion, dummy); + context->lookup(binding->qualifiedTypeNameId, typeNameString, majorVersion, minorVersion, dummy); + + TypeName typeName = typeNameString.toUtf8(); if (typeName.isEmpty()) { qWarning() << "Skipping node with unknown type" << toString(binding->qualifiedTypeNameId); @@ -1128,13 +1137,14 @@ void TextToModelMerger::syncNodeProperty(AbstractProperty &modelProperty, typeName, majorVersion, minorVersion, - binding, context); + binding, + context); } } void TextToModelMerger::syncExpressionProperty(AbstractProperty &modelProperty, const QString &javascript, - const QString &astType, + const TypeName &astType, DifferenceHandler &differenceHandler) { if (modelProperty.isBindingProperty()) { @@ -1166,7 +1176,7 @@ void TextToModelMerger::syncArrayProperty(AbstractProperty &modelProperty, void TextToModelMerger::syncVariantProperty(AbstractProperty &modelProperty, const QVariant &astValue, - const QString &astType, + const TypeName &astType, DifferenceHandler &differenceHandler) { if (modelProperty.isVariantProperty()) { @@ -1211,7 +1221,7 @@ void TextToModelMerger::syncNodeListProperty(NodeListProperty &modelListProperty } } -ModelNode TextToModelMerger::createModelNode(const QString &typeName, +ModelNode TextToModelMerger::createModelNode(const TypeName &typeName, int majorVersion, int minorVersion, bool isImplicitComponent, @@ -1292,7 +1302,7 @@ void ModelValidator::importAbsentInQMl(const QmlDesigner::Import &import) void ModelValidator::bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &javascript, - const QString &astType) + const TypeName &astType) { Q_UNUSED(modelProperty) Q_UNUSED(javascript) @@ -1304,7 +1314,7 @@ void ModelValidator::bindingExpressionsDiffer(BindingProperty &modelProperty, void ModelValidator::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &/*javascript*/, - const QString &/*astType*/) + const TypeName &/*astType*/) { Q_UNUSED(modelProperty) Q_ASSERT(modelProperty.isBindingProperty()); @@ -1320,7 +1330,7 @@ void ModelValidator::shouldBeNodeListProperty(AbstractProperty &modelProperty, Q_ASSERT(0); } -void ModelValidator::variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) +void ModelValidator::variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName) { Q_UNUSED(modelProperty) Q_UNUSED(qmlVariantValue) @@ -1335,7 +1345,7 @@ void ModelValidator::variantValuesDiffer(VariantProperty &modelProperty, const Q Q_ASSERT(0); } -void ModelValidator::shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &/*qmlVariantValue*/, const QString &/*dynamicTypeName*/) +void ModelValidator::shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &/*qmlVariantValue*/, const TypeName &/*dynamicTypeName*/) { Q_UNUSED(modelProperty) @@ -1344,7 +1354,7 @@ void ModelValidator::shouldBeVariantProperty(AbstractProperty &modelProperty, co } void ModelValidator::shouldBeNodeProperty(AbstractProperty &modelProperty, - const QString &/*typeName*/, + const TypeName &/*typeName*/, int /*majorVersion*/, int /*minorVersion*/, UiObjectMember * /*astNode*/, @@ -1374,7 +1384,7 @@ ModelNode ModelValidator::listPropertyMissingModelNode(NodeListProperty &/*model void ModelValidator::typeDiffers(bool /*isRootNode*/, ModelNode &modelNode, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember * /*astNode*/, @@ -1420,7 +1430,7 @@ void ModelAmender::importAbsentInQMl(const QmlDesigner::Import &import) void ModelAmender::bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &javascript, - const QString &astType) + const TypeName &astType) { if (astType.isEmpty()) modelProperty.setExpression(javascript); @@ -1430,7 +1440,7 @@ void ModelAmender::bindingExpressionsDiffer(BindingProperty &modelProperty, void ModelAmender::shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &javascript, - const QString &astType) + const TypeName &astType) { ModelNode theNode = modelProperty.parentModelNode(); BindingProperty newModelProperty = theNode.bindingProperty(modelProperty.name()); @@ -1454,7 +1464,7 @@ void ModelAmender::shouldBeNodeListProperty(AbstractProperty &modelProperty, -void ModelAmender::variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicType) +void ModelAmender::variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicType) { // qDebug()<< "ModelAmender::variantValuesDiffer for property"<<modelProperty.name() // << "in node" << modelProperty.parentModelNode().id() @@ -1467,7 +1477,7 @@ void ModelAmender::variantValuesDiffer(VariantProperty &modelProperty, const QVa modelProperty.setDynamicTypeNameAndValue(dynamicType, qmlVariantValue); } -void ModelAmender::shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) +void ModelAmender::shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName) { ModelNode theNode = modelProperty.parentModelNode(); VariantProperty newModelProperty = theNode.variantProperty(modelProperty.name()); @@ -1479,7 +1489,7 @@ void ModelAmender::shouldBeVariantProperty(AbstractProperty &modelProperty, cons } void ModelAmender::shouldBeNodeProperty(AbstractProperty &modelProperty, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, UiObjectMember *astNode, @@ -1527,10 +1537,14 @@ ModelNode ModelAmender::listPropertyMissingModelNode(NodeListProperty &modelProp if (!astObjectType || !astInitializer) return ModelNode(); - QString typeName, fullTypeName, dummy; + QString typeNameString; + QString fullTypeName; + QString dummy; int majorVersion; int minorVersion; - context->lookup(astObjectType, typeName, majorVersion, minorVersion, dummy); + context->lookup(astObjectType, typeNameString, majorVersion, minorVersion, dummy); + + TypeName typeName = typeNameString.toUtf8(); if (typeName.isEmpty()) { qWarning() << "Skipping node with unknown type" << toString(astObjectType); @@ -1567,7 +1581,7 @@ ModelNode ModelAmender::listPropertyMissingModelNode(NodeListProperty &modelProp void ModelAmender::typeDiffers(bool isRootNode, ModelNode &modelNode, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.h b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.h index 2299f8e9c6..81c4797d6f 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.h +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.h @@ -79,7 +79,7 @@ public: QmlJS::AST::UiObjectMember *astNode, ReadingContext *context, DifferenceHandler &differenceHandler); - QString syncScriptBinding(ModelNode &modelNode, + QmlDesigner::PropertyName syncScriptBinding(ModelNode &modelNode, const QString &prefix, QmlJS::AST::UiScriptBinding *script, ReadingContext *context, @@ -92,7 +92,7 @@ public: DifferenceHandler &differenceHandler); void syncExpressionProperty(AbstractProperty &modelProperty, const QString &javascript, - const QString &astType, + const TypeName &astType, DifferenceHandler &differenceHandler); void syncArrayProperty(AbstractProperty &modelProperty, const QList<QmlJS::AST::UiObjectMember *> &arrayMembers, @@ -100,13 +100,13 @@ public: DifferenceHandler &differenceHandler); void syncVariantProperty(AbstractProperty &modelProperty, const QVariant &astValue, - const QString &astType, + const TypeName &astType, DifferenceHandler &differenceHandler); void syncNodeListProperty(NodeListProperty &modelListProperty, const QList<QmlJS::AST::UiObjectMember *> arrayMembers, ReadingContext *context, DifferenceHandler &differenceHandler); - ModelNode createModelNode(const QString &typeName, + ModelNode createModelNode(const TypeName &typeName, int majorVersion, int minorVersion, bool isImplicitComponent, @@ -157,17 +157,17 @@ public: virtual void importAbsentInQMl(const QmlDesigner::Import &import) = 0; virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &javascript, - const QString &astType) = 0; + const TypeName &astType) = 0; virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &javascript, - const QString &astType) = 0; + const TypeName &astType) = 0; virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QList<QmlJS::AST::UiObjectMember *> arrayMembers, ReadingContext *context) = 0; - virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) = 0; - virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName) = 0; + virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName) = 0; + virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName) = 0; virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, @@ -178,7 +178,7 @@ public: QmlJS::AST::UiObjectMember *arrayMember) = 0; virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, @@ -204,17 +204,17 @@ public: virtual void importAbsentInQMl(const QmlDesigner::Import &import); virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &javascript, - const QString &astType); + const TypeName &astType); virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &javascript, - const QString &astType); + const TypeName &astType); virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QList<QmlJS::AST::UiObjectMember *> arrayMembers, ReadingContext *context); - virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName); - virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName); + virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName); + virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName); virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, @@ -225,7 +225,7 @@ public: QmlJS::AST::UiObjectMember *arrayMember); virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, @@ -248,17 +248,17 @@ public: virtual void importAbsentInQMl(const QmlDesigner::Import &import); virtual void bindingExpressionsDiffer(BindingProperty &modelProperty, const QString &javascript, - const QString &astType); + const TypeName &astType); virtual void shouldBeBindingProperty(AbstractProperty &modelProperty, const QString &javascript, - const QString &astType); + const TypeName &astType); virtual void shouldBeNodeListProperty(AbstractProperty &modelProperty, const QList<QmlJS::AST::UiObjectMember *> arrayMembers, ReadingContext *context); - virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicType); - virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const QString &dynamicTypeName); + virtual void variantValuesDiffer(VariantProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicType); + virtual void shouldBeVariantProperty(AbstractProperty &modelProperty, const QVariant &qmlVariantValue, const TypeName &dynamicTypeName); virtual void shouldBeNodeProperty(AbstractProperty &modelProperty, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, @@ -269,7 +269,7 @@ public: QmlJS::AST::UiObjectMember *arrayMember); virtual void typeDiffers(bool isRootNode, ModelNode &modelNode, - const QString &typeName, + const TypeName &typeName, int majorVersion, int minorVersion, QmlJS::AST::UiObjectMember *astNode, diff --git a/src/plugins/qmldesigner/designercore/model/variantproperty.cpp b/src/plugins/qmldesigner/designercore/model/variantproperty.cpp index a8418b5e8f..17f661be87 100644 --- a/src/plugins/qmldesigner/designercore/model/variantproperty.cpp +++ b/src/plugins/qmldesigner/designercore/model/variantproperty.cpp @@ -50,7 +50,7 @@ VariantProperty::VariantProperty(const VariantProperty &property, AbstractView * } -VariantProperty::VariantProperty(const QString &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : +VariantProperty::VariantProperty(const PropertyName &propertyName, const Internal::InternalNodePointer &internalNode, Model* model, AbstractView *view) : AbstractProperty(propertyName, internalNode, model, view) { } @@ -95,7 +95,7 @@ VariantProperty& VariantProperty::operator= (const QVariant &value) return *this; } -void VariantProperty::setDynamicTypeNameAndValue(const QString &type, const QVariant &value) +void VariantProperty::setDynamicTypeNameAndValue(const TypeName &type, const QVariant &value) { Internal::WriteLocker locker(model()); if (!isValid()) @@ -120,16 +120,6 @@ void VariantProperty::setDynamicTypeNameAndValue(const QString &type, const QVar model()->d->setDynamicVariantProperty(internalNode(), name(), type, value); } -VariantProperty& VariantProperty::operator= (const QPair<QString, QVariant> &typeValuePair) -{ - setDynamicTypeNameAndValue(typeValuePair.first, typeValuePair.second); - return *this; -} - - - - - QDebug operator<<(QDebug debug, const VariantProperty &VariantProperty) { return debug.nospace() << "VariantProperty(" << VariantProperty.name() << ')'; diff --git a/src/plugins/qmldesigner/designercore/model/viewlogger.cpp b/src/plugins/qmldesigner/designercore/model/viewlogger.cpp index 584ff80b2e..8f0bc670f6 100644 --- a/src/plugins/qmldesigner/designercore/model/viewlogger.cpp +++ b/src/plugins/qmldesigner/designercore/model/viewlogger.cpp @@ -205,9 +205,9 @@ void ViewLogger::scriptFunctionsChanged(const ModelNode &node, const QStringList m_output << time() << indent("function scripts changed:") << node << endl; } -void ViewLogger::instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList) +void ViewLogger::instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList) { - typedef QPair<ModelNode, QString> PropertyPair; + typedef QPair<ModelNode, PropertyName> PropertyPair; m_output << time() << indent("instancePropertyChange:") << endl; foreach (const PropertyPair &propertyPair, propertyList) diff --git a/src/plugins/qmldesigner/designercore/model/viewlogger.h b/src/plugins/qmldesigner/designercore/model/viewlogger.h index 58ca0c167c..4cfbbc2708 100644 --- a/src/plugins/qmldesigner/designercore/model/viewlogger.h +++ b/src/plugins/qmldesigner/designercore/model/viewlogger.h @@ -72,7 +72,7 @@ public: void customNotification(const AbstractView *view, const QString &identifier, const QList<ModelNode> &nodeList, const QList<QVariant> &data); void scriptFunctionsChanged(const ModelNode &node, const QStringList &scriptFunctionList); - void instancePropertyChange(const QList<QPair<ModelNode, QString> > &propertyList); + void instancePropertyChange(const QList<QPair<ModelNode, PropertyName> > &propertyList); void instancesCompleted(const QVector<ModelNode> &completedNodeList); void instanceInformationsChange(const QMultiHash<ModelNode, InformationName> &informationChangeHash); void instancesRenderImageChanged(const QVector<ModelNode> &nodeList); diff --git a/src/plugins/qmldesigner/designercore/pluginmanager/widgetpluginpath.cpp b/src/plugins/qmldesigner/designercore/pluginmanager/widgetpluginpath.cpp index bdd91667a2..e161303884 100644 --- a/src/plugins/qmldesigner/designercore/pluginmanager/widgetpluginpath.cpp +++ b/src/plugins/qmldesigner/designercore/pluginmanager/widgetpluginpath.cpp @@ -196,7 +196,7 @@ QStandardItem *WidgetPluginPath::createModelItem() for (PluginDataList::iterator it = m_plugins.begin(); it != end; ++it) { QStandardItem *pluginItem = new QStandardItem(QFileInfo(it->path).fileName()); if (instance(*it)) { - pluginItem->appendRow(new QStandardItem(QString::fromLatin1(it->instanceGuard->metaObject()->className()))); + pluginItem->appendRow(new QStandardItem(QString::fromUtf8(it->instanceGuard->metaObject()->className()))); pathItem->appendRow(pluginItem); } else { pluginItem->setToolTip(it->errorMessage); diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index 3e7811f2e3..46a9f778f4 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -345,7 +345,7 @@ void DesignModeWidget::setup() QByteArray sheet = Utils::FileReader::fetchQrc(":/qmldesigner/stylesheet.css"); sheet += Utils::FileReader::fetchQrc(":/qmldesigner/scrollbar.css"); sheet += "QLabel { background-color: #4f4f4f; }"; - navigationView.widget->setStyleSheet(QString::fromLatin1(sheet)); + navigationView.widget->setStyleSheet(QString::fromUtf8(sheet)); } } diff --git a/src/plugins/qmldesigner/styledoutputpaneplaceholder.cpp b/src/plugins/qmldesigner/styledoutputpaneplaceholder.cpp index fcf1d3b123..89ca973e9b 100644 --- a/src/plugins/qmldesigner/styledoutputpaneplaceholder.cpp +++ b/src/plugins/qmldesigner/styledoutputpaneplaceholder.cpp @@ -41,7 +41,7 @@ StyledOutputpanePlaceHolder::StyledOutputpanePlaceHolder(Core::IMode *mode, QSpl { QByteArray sheet = Utils::FileReader::fetchQrc(":/qmldesigner/outputpane-style.css"); sheet += Utils::FileReader::fetchQrc(":/qmldesigner/scrollbar.css"); - m_customStylesheet = QString::fromLatin1(sheet); + m_customStylesheet = QString::fromUtf8(sheet); } void StyledOutputpanePlaceHolder::childEvent(QChildEvent *event) |