forked from qt-creator/qt-creator
QmlJSEditor: Clear old values when updating outline
Fixes: QTCREATORBUG-21335 Change-Id: I46b1ad52f62edf7865a44ade298ff2233ca4554a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
@@ -497,6 +497,7 @@ QModelIndex QmlOutlineModel::enterObjectDefinition(AST::UiObjectDefinition *objD
|
|||||||
} else {
|
} else {
|
||||||
// it's a grouped propery like 'anchors'
|
// it's a grouped propery like 'anchors'
|
||||||
data.insert(ItemTypeRole, NonElementBindingType);
|
data.insert(ItemTypeRole, NonElementBindingType);
|
||||||
|
data.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
icon = Icons::scriptBindingIcon();
|
icon = Icons::scriptBindingIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,6 +517,7 @@ QModelIndex QmlOutlineModel::enterObjectBinding(AST::UiObjectBinding *objBinding
|
|||||||
|
|
||||||
bindingData.insert(Qt::DisplayRole, asString(objBinding->qualifiedId));
|
bindingData.insert(Qt::DisplayRole, asString(objBinding->qualifiedId));
|
||||||
bindingData.insert(ItemTypeRole, ElementBindingType);
|
bindingData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
bindingData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
|
|
||||||
QmlOutlineItem *bindingItem = enterNode(bindingData, objBinding, objBinding->qualifiedId, Icons::scriptBindingIcon());
|
QmlOutlineItem *bindingItem = enterNode(bindingData, objBinding, objBinding->qualifiedId, Icons::scriptBindingIcon());
|
||||||
|
|
||||||
@@ -545,6 +547,7 @@ QModelIndex QmlOutlineModel::enterArrayBinding(AST::UiArrayBinding *arrayBinding
|
|||||||
|
|
||||||
bindingData.insert(Qt::DisplayRole, asString(arrayBinding->qualifiedId));
|
bindingData.insert(Qt::DisplayRole, asString(arrayBinding->qualifiedId));
|
||||||
bindingData.insert(ItemTypeRole, ElementBindingType);
|
bindingData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
bindingData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
|
|
||||||
QmlOutlineItem *item = enterNode(bindingData, arrayBinding, arrayBinding->qualifiedId, Icons::scriptBindingIcon());
|
QmlOutlineItem *item = enterNode(bindingData, arrayBinding, arrayBinding->qualifiedId, Icons::scriptBindingIcon());
|
||||||
|
|
||||||
@@ -617,6 +620,7 @@ QModelIndex QmlOutlineModel::enterFunctionDeclaration(AST::FunctionDeclaration *
|
|||||||
objectData.insert(Qt::DisplayRole, functionDisplayName(functionDeclaration->name,
|
objectData.insert(Qt::DisplayRole, functionDisplayName(functionDeclaration->name,
|
||||||
functionDeclaration->formals));
|
functionDeclaration->formals));
|
||||||
objectData.insert(ItemTypeRole, ElementBindingType);
|
objectData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
objectData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
|
|
||||||
QmlOutlineItem *item = enterNode(objectData, functionDeclaration, nullptr,
|
QmlOutlineItem *item = enterNode(objectData, functionDeclaration, nullptr,
|
||||||
Icons::functionDeclarationIcon());
|
Icons::functionDeclarationIcon());
|
||||||
@@ -648,6 +652,7 @@ QModelIndex QmlOutlineModel::enterFieldMemberExpression(AST::FieldMemberExpressi
|
|||||||
|
|
||||||
objectData.insert(Qt::DisplayRole, display);
|
objectData.insert(Qt::DisplayRole, display);
|
||||||
objectData.insert(ItemTypeRole, ElementBindingType);
|
objectData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
objectData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
|
|
||||||
QmlOutlineItem *item = enterNode(objectData, expression, nullptr,
|
QmlOutlineItem *item = enterNode(objectData, expression, nullptr,
|
||||||
m_icons->functionDeclarationIcon());
|
m_icons->functionDeclarationIcon());
|
||||||
@@ -666,6 +671,7 @@ QModelIndex QmlOutlineModel::enterTestCase(AST::ObjectPattern *objectLiteral)
|
|||||||
|
|
||||||
objectData.insert(Qt::DisplayRole, QLatin1String("testcase"));
|
objectData.insert(Qt::DisplayRole, QLatin1String("testcase"));
|
||||||
objectData.insert(ItemTypeRole, ElementBindingType);
|
objectData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
objectData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
|
|
||||||
QmlOutlineItem *item = enterNode(objectData, objectLiteral, nullptr,
|
QmlOutlineItem *item = enterNode(objectData, objectLiteral, nullptr,
|
||||||
Icons::objectDefinitionIcon());
|
Icons::objectDefinitionIcon());
|
||||||
@@ -686,6 +692,7 @@ QModelIndex QmlOutlineModel::enterTestCaseProperties(AST::PatternPropertyList *p
|
|||||||
if (auto propertyName = AST::cast<const AST::IdentifierPropertyName *>(assignment->name)) {
|
if (auto propertyName = AST::cast<const AST::IdentifierPropertyName *>(assignment->name)) {
|
||||||
objectData.insert(Qt::DisplayRole, propertyName->id.toString());
|
objectData.insert(Qt::DisplayRole, propertyName->id.toString());
|
||||||
objectData.insert(ItemTypeRole, ElementBindingType);
|
objectData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
objectData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
QmlOutlineItem *item;
|
QmlOutlineItem *item;
|
||||||
if (assignment->initializer->kind == AST::Node::Kind_FunctionExpression)
|
if (assignment->initializer->kind == AST::Node::Kind_FunctionExpression)
|
||||||
item = enterNode(objectData, assignment, nullptr, Icons::functionDeclarationIcon());
|
item = enterNode(objectData, assignment, nullptr, Icons::functionDeclarationIcon());
|
||||||
@@ -702,6 +709,7 @@ QModelIndex QmlOutlineModel::enterTestCaseProperties(AST::PatternPropertyList *p
|
|||||||
if (auto propertyName = AST::cast<const AST::IdentifierPropertyName *>(getterSetter->name)) {
|
if (auto propertyName = AST::cast<const AST::IdentifierPropertyName *>(getterSetter->name)) {
|
||||||
objectData.insert(Qt::DisplayRole, propertyName->id.toString());
|
objectData.insert(Qt::DisplayRole, propertyName->id.toString());
|
||||||
objectData.insert(ItemTypeRole, ElementBindingType);
|
objectData.insert(ItemTypeRole, ElementBindingType);
|
||||||
|
objectData.insert(AnnotationRole, QString()); // clear possible former annotation
|
||||||
QmlOutlineItem *item;
|
QmlOutlineItem *item;
|
||||||
item = enterNode(objectData, getterSetter, nullptr, Icons::functionDeclarationIcon());
|
item = enterNode(objectData, getterSetter, nullptr, Icons::functionDeclarationIcon());
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user