summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-07-15 14:29:07 +0200
committerEike Ziller <eike.ziller@nokia.com>2011-07-15 14:29:07 +0200
commite5ca4b346282d17e4c30e4ac41c46dc94fd53d76 (patch)
treeb2a4868eb1f45bc4b5a728ec15782d14e9b86457 /src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
parentab8713d7921ba915efb4e2f1f40ad0b3ce1a12f2 (diff)
parentdbc0fa091926926ff6e26d3fcae74a596512798b (diff)
downloadqt-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.cpp24
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())