diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/qmldesigner/components/bindingeditor/bindingeditor.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/components/bindingeditor/bindingeditor.cpp b/src/plugins/qmldesigner/components/bindingeditor/bindingeditor.cpp index fe3871c6c16..82947e8c981 100644 --- a/src/plugins/qmldesigner/components/bindingeditor/bindingeditor.cpp +++ b/src/plugins/qmldesigner/components/bindingeditor/bindingeditor.cpp @@ -35,6 +35,9 @@ #include <nodelistproperty.h> #include <propertyeditorvalue.h> +#include <bindingproperty.h> +#include <variantproperty.h> + namespace QmlDesigner { static BindingEditor *s_lastBindingEditor = nullptr; @@ -172,6 +175,26 @@ void BindingEditor::prepareBindings() binding.properties.append(QString::fromUtf8(propertyName)); } + //dynamic properties: + for (const BindingProperty &bindingProperty : objnode.bindingProperties()) { + if (bindingProperty.isValid()) { + if (bindingProperty.isDynamic()) { + if (bindingProperty.dynamicTypeName() == m_backendValueTypeName) { + binding.properties.append(QString::fromUtf8(bindingProperty.name())); + } + } + } + } + for (const VariantProperty &variantProperty : objnode.variantProperties()) { + if (variantProperty.isValid()) { + if (variantProperty.isDynamic()) { + if (variantProperty.dynamicTypeName() == m_backendValueTypeName) { + binding.properties.append(QString::fromUtf8(variantProperty.name())); + } + } + } + } + if (!binding.properties.isEmpty() && objnode.hasId()) { binding.item = objnode.displayName(); bindings.append(binding); |
