Refuse to add properties from unselected nodes

... and select property after adding it to the model.

Change-Id: I4210e9b1e27b3d396ba5f421629a2b90d2771f50
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Knud Dollereder
2023-09-15 14:16:20 +02:00
parent 5ca59da1af
commit b18b7920bb
2 changed files with 16 additions and 7 deletions

View File

@@ -144,11 +144,15 @@ void BindingModel::setCurrentProperty(const AbstractProperty &property)
void BindingModel::updateItem(const BindingProperty &property)
{
if (auto *item = itemForProperty(property))
if (auto *item = itemForProperty(property)) {
item->updateProperty(property);
else
appendRow(new BindingModelItem(property));
} else {
ModelNode node = property.parentModelNode();
if (connectionView()->isSelectedModelNode(node)) {
appendRow(new BindingModelItem(property));
setCurrentProperty(property);
}
}
m_delegate->update(currentProperty(), m_connectionView);
}

View File

@@ -151,10 +151,15 @@ void DynamicPropertiesModel::updateItem(const AbstractProperty &property)
if (!property.isDynamic())
return;
if (auto *item = itemForProperty(property))
if (auto *item = itemForProperty(property)) {
item->updateProperty(property);
else
addProperty(property);
} else {
ModelNode node = property.parentModelNode();
if (selectedNodes().contains(node)) {
addProperty(property);
setCurrentProperty(property);
}
}
}
void DynamicPropertiesModel::removeItem(const AbstractProperty &property)