From 3e1234c81a56260f475b88fa9f79fecab50ff53f Mon Sep 17 00:00:00 2001
From: Tim Jenssen <tim.jenssen@digia.com>
Date: Tue, 5 Aug 2014 16:52:49 +0200
Subject: [PATCH] QmlDesigner: disable none default properties in navigator

Change-Id: Ia5c6e4c34ef40145f0fa7618a1ceb5afb1f666b3
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
---
 .../components/navigator/navigatortreemodel.cpp        | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
index a32f2504fa2..de243e667cd 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
@@ -50,6 +50,8 @@
 
 #include <QtDebug>
 
+#define DISABLE_VISIBLE_PROPERTIES
+
 namespace QmlDesigner {
 
 static PropertyNameList visibleProperties(const ModelNode &node)
@@ -84,7 +86,9 @@ static QList<ModelNode> acceptedModelNodeChildren(const ModelNode &parentNode)
     if (parentNode.metaInfo().hasDefaultProperty())
         properties.append(parentNode.metaInfo().defaultPropertyName());
 
+#ifndef DISABLE_VISIBLE_PROPERTIES
     properties.append(visibleProperties(parentNode));
+#endif
 
     foreach (const PropertyName &propertyName, properties) {
         AbstractProperty property(parentNode.property(propertyName));
@@ -201,7 +205,9 @@ static bool computeTarget(const QModelIndex &rowModelIndex,
         ModelNode targetNode = navigatorTreeModel->nodeForIndex(targetItemIndex);
         if (!targetNode.metaInfo().hasDefaultProperty())
             return false;
+#ifndef DISABLE_VISIBLE_PROPERTIES
         *targetRowNumber -= visibleProperties(targetNode).count();
+#endif
         targetPropertyName = targetNode.metaInfo().defaultPropertyName();
     } else {
         targetItemIndex = rowModelIndex.parent();
@@ -280,6 +286,7 @@ ItemRow NavigatorTreeModel::createItemRow(const ModelNode &node)
         visibilityItem->setCheckable(false);
 
     QMap<QString, QStandardItem *> propertyItems;
+#ifndef DISABLE_VISIBLE_PROPERTIES
     foreach (const QString &propertyName, visibleProperties(node)) {
         QStandardItem *propertyItem = new QStandardItem;
         propertyItem->setSelectable(false);
@@ -290,6 +297,7 @@ ItemRow NavigatorTreeModel::createItemRow(const ModelNode &node)
         propertyItems.insert(propertyName, propertyItem);
         idItem->appendRow(propertyItem);
     }
+#endif
 
 #   ifdef _LOCK_ITEMS_
     ItemRow newRow =  ItemRow(idItem, lockItem, visibilityItem, propertyItems);
@@ -340,7 +348,9 @@ static void findTargetItem(const NodeListProperty &listProperty,
             *targetItem = parentRow.propertyItems.value(listProperty.name());
         } else  { // default property
             *targetItem = parentRow.idItem;
+#ifndef DISABLE_VISIBLE_PROPERTIES
             newRowNumber += visibleProperties(listProperty.parentModelNode()).count();
+#endif
         }
     } else {
         *targetItem = currentItemRow.idItem->parent();
-- 
GitLab