From de0ed107a220fc9bcbc46023e10d0144e96cea45 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 29 Sep 2015 10:46:11 +0200 Subject: [PATCH] QmlDesigner: Adding layouts to doResetProperty() Those have to be hard coded in our code. Change-Id: I2bdaec0716aeca56df9476f124a47e2dfc1658cb Reviewed-by: Tim Jenssen --- .../qmlprivategate/qmlprivategate_56.cpp | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp index a8d1e716813..a0c107b3ab6 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp @@ -154,16 +154,48 @@ void registerCustomData(QObject *object) QVariant getResetValue(QObject *object, const PropertyName &propertyName) { - return QQuickDesignerSupportProperties::getResetValue(object, propertyName); + if (propertyName == "Layout.rowSpan") + return 1; + else if (propertyName == "Layout.columnSpan") + return 1; + else if (propertyName == "Layout.fillHeight") + return false; + else if (propertyName == "Layout.fillWidth") + return false; + else + return QQuickDesignerSupportProperties::getResetValue(object, propertyName); +} + +static void setProperty(QObject *object, QQmlContext *context, const PropertyName &propertyName, const QVariant &value) +{ + QQmlProperty property(object, propertyName, context); + property.write(value); } void doResetProperty(QObject *object, QQmlContext *context, const PropertyName &propertyName) { - QQuickDesignerSupportProperties::doResetProperty(object, context, propertyName); + if (propertyName == "Layout.rowSpan") + setProperty(object, context, propertyName, getResetValue(object, propertyName)); + else if (propertyName == "Layout.columnSpan") + setProperty(object, context, propertyName, getResetValue(object, propertyName)); + else if (propertyName == "Layout.fillHeight") + setProperty(object, context, propertyName, getResetValue(object, propertyName)); + else if (propertyName == "Layout.fillWidth") + setProperty(object, context, propertyName, getResetValue(object, propertyName)); + else + QQuickDesignerSupportProperties::doResetProperty(object, context, propertyName); } bool hasValidResetBinding(QObject *object, const PropertyName &propertyName) { + if (propertyName == "Layout.rowSpan") + return true; + else if (propertyName == "Layout.columnSpan") + return true; + else if (propertyName == "Layout.fillHeight") + return true; + else if (propertyName == "Layout.fillWidth") + return true; return QQuickDesignerSupportProperties::hasValidResetBinding(object, propertyName); }