src/hbwidgets/itemviews/hbtreeview.cpp
branchGCC_SURGE
changeset 15 f378acbc9cfb
parent 6 c3690ec91ef8
--- a/src/hbwidgets/itemviews/hbtreeview.cpp	Thu Jul 15 14:03:49 2010 +0100
+++ b/src/hbwidgets/itemviews/hbtreeview.cpp	Thu Jul 22 16:36:53 2010 +0100
@@ -178,19 +178,16 @@
 
     if (d->isParentValid(parent)) {
         if (isExpanded(parent) || parent == d->mModelIterator->rootIndex()) {
-            int lastStartPoint = 0;
             for (int i = start; i <= end; ++i) {
-                QModelIndex newParent = d->treeModelIterator()->index(i, parent);
+                HbAbstractItemView::rowsInserted(parent, i, i);
+                // if there is expanded parent under expanding parent, handle it recursively
+                QModelIndex newParent = d->treeModelIterator()->model()->index(i, 0, parent);
                 int childCount = d->treeModelIterator()->childCount(newParent);
                 if (childCount > 0 && isExpanded(newParent)) {
-                    HbAbstractItemView::rowsInserted(parent, lastStartPoint, i);
-                    lastStartPoint = i;
                     rowsInserted(newParent, 0, childCount - 1);
-                }
+                } 
             }
 
-            HbAbstractItemView::rowsInserted(parent, lastStartPoint, end);
-
             if (d->animationEnabled(true)) {
                 if (d->mInSetExpanded) {
                     d->startAppearEffect("treeviewitem", "expand", parent, start, end);
@@ -537,7 +534,7 @@
 
 /*!
     Returns indentation of tree view items. 
-    The returned value is either default value or set by setIndentation().
+    The returned value is either default value or value set by setIndentation().
 
     Default value is -1. In this case indentation from style sheet is used.