summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmleditor/qmlcodecompletion.cpp7
-rw-r--r--src/plugins/qmleditor/qmllookupcontext.cpp7
2 files changed, 12 insertions, 2 deletions
diff --git a/src/plugins/qmleditor/qmlcodecompletion.cpp b/src/plugins/qmleditor/qmlcodecompletion.cpp
index e0e5dac2c0..7b6bf6a295 100644
--- a/src/plugins/qmleditor/qmlcodecompletion.cpp
+++ b/src/plugins/qmleditor/qmlcodecompletion.cpp
@@ -78,9 +78,10 @@ int QmlCodeCompletion::startCompletion(TextEditor::ITextEditable *editor)
if (!qmlDocument->program())
qmlDocument = m_modelManager->snapshot().value(qmlDocument->fileName());
- if (qmlDocument->program()) {
+ // FIXME: this completion strategy is not going to work when the document was never parsed correctly.
+ if (qmlDocument && qmlDocument->program()) {
QmlJS::AST::UiProgram *program = qmlDocument->program();
-// qDebug() << "*** program:" << program;
+// qDebug() << "*** program:" << program;
if (program) {
QmlExpressionUnderCursor expressionUnderCursor;
@@ -90,7 +91,9 @@ int QmlCodeCompletion::startCompletion(TextEditor::ITextEditable *editor)
QmlLookupContext context(expressionUnderCursor.expressionScopes(), qmlDocument, m_modelManager->snapshot());
QmlResolveExpression resolver(context);
+// qDebug()<<"*** expression under cursor:"<<expressionUnderCursor.expressionNode();
QList<QmlSymbol*> symbols = resolver.visibleSymbols(expressionUnderCursor.expressionNode());
+// qDebug()<<"***"<<symbols.size()<<"visible symbols";
foreach (QmlSymbol *symbol, symbols) {
QString word;
diff --git a/src/plugins/qmleditor/qmllookupcontext.cpp b/src/plugins/qmleditor/qmllookupcontext.cpp
index 5cd065bff6..5bbc044899 100644
--- a/src/plugins/qmleditor/qmllookupcontext.cpp
+++ b/src/plugins/qmleditor/qmllookupcontext.cpp
@@ -94,6 +94,8 @@ QmlSymbol *QmlLookupContext::resolveType(const QString &name, const QString &fil
if (!import)
continue;
+ // TODO: handle Qt imports
+
if (!(import->fileName))
continue;
@@ -107,6 +109,7 @@ QmlSymbol *QmlLookupContext::resolveType(const QString &name, const QString &fil
}
}
+ // TODO: handle Qt imports, hack for now:
return resolveBuildinType(name);
}
@@ -297,5 +300,9 @@ QList<QmlSymbol*> QmlLookupContext::visibleTypes()
}
}
+ // TODO: handle Qt imports, hack for now:
+ foreach (const QString &name, qmlMetaTypes)
+ result.append(resolveBuildinType(name));
+
return result;
}