diff options
author | Eike Ziller <eike.ziller@nokia.com> | 2011-07-15 14:29:07 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-07-15 14:29:07 +0200 |
commit | e5ca4b346282d17e4c30e4ac41c46dc94fd53d76 (patch) | |
tree | b2a4868eb1f45bc4b5a728ec15782d14e9b86457 /src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp | |
parent | ab8713d7921ba915efb4e2f1f40ad0b3ce1a12f2 (diff) | |
parent | dbc0fa091926926ff6e26d3fcae74a596512798b (diff) | |
download | qt-creator-e5ca4b346282d17e4c30e4ac41c46dc94fd53d76.tar.gz |
Merge remote-tracking branch 'origin/2.3'
Conflicts:
qtcreator.pri
share/qtcreator/dumper/dumper.py
share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h
src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
src/plugins/valgrind/valgrind.pro
tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp
Change-Id: Ic2d347012d89d697e6382f156e64f9619da88300
Diffstat (limited to 'src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index db2467886c..64cb00d08c 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -365,6 +365,7 @@ private: QString lookupName() const; QStringList lookupNameComponent() const; const QmlJS::Interpreter::QmlObjectValue *getNearestQmlObjectValue() const; + QString fullQualifiedImportAliasType() const; QString m_qualfiedTypeName; int m_majorVersion; @@ -486,7 +487,16 @@ const QmlJS::Interpreter::QmlObjectValue *NodeMetaInfoPrivate::getQmlObjectValue const QString package = getUrlFromType(m_qualfiedTypeName); const QString type = m_qualfiedTypeName.split('.').last(); + LanguageUtils::ComponentVersion version(9999, 9999); + //get the correct version + Document::Ptr doc = lookupContext()->document(); + const Interpreter::Context *context = lookupContext()->context(); + Interpreter::ImportInfo importInfo = context->imports(doc.data())->info(fullQualifiedImportAliasType(), context); + + if (importInfo.isValid()) + version = importInfo.version(); + QList<Interpreter::QmlObjectValue *> qmlObjectValues = lookupContext()->valueOwner()->cppQmlTypes().typesForImport(package, version); const Interpreter::QmlObjectValue *qmlValue = 0; foreach (Interpreter::QmlObjectValue *value, qmlObjectValues) { @@ -832,14 +842,11 @@ QString NodeMetaInfoPrivate::lookupName() const QStringList NodeMetaInfoPrivate::lookupNameComponent() const { - if (m_model && m_model->rewriterView()) { - QString tempString = model()->rewriterView()->convertTypeToImportAlias(m_qualfiedTypeName); - + QString tempString = fullQualifiedImportAliasType(); return tempString.split('.'); - } - return QStringList(); } + bool NodeMetaInfoPrivate::isValid() const { return m_isValid && lookupContext() && document(); @@ -890,6 +897,13 @@ const QmlJS::Interpreter::QmlObjectValue *NodeMetaInfoPrivate::getNearestQmlObje return getQmlObjectValue(); } +QString NodeMetaInfoPrivate::fullQualifiedImportAliasType() const +{ + if (m_model && m_model->rewriterView()) + return model()->rewriterView()->convertTypeToImportAlias(m_qualfiedTypeName); + return m_qualfiedTypeName; +} + } //namespace Internal NodeMetaInfo::NodeMetaInfo() : m_privateData(new Internal::NodeMetaInfoPrivate()) |