aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/bindingeditor/bindingeditor.cpp23
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);