GtkQTreeModel: insert all children on rowsInserted

In the case of a QSortFilterProxy model, when rows which were
previously filtered are re-inserted, no rowsInserted signal is
emitted on their children. To handle this case, we need to
explicitly re-insert any children.

Change-Id: If46288356a8697477643671d142fe846aa656ae1
Tuleap: #651
diff --git a/src/models/gtkqtreemodel.cpp b/src/models/gtkqtreemodel.cpp
index d00d920..9ce7356 100644
--- a/src/models/gtkqtreemodel.cpp
+++ b/src/models/gtkqtreemodel.cpp
@@ -345,6 +345,11 @@
                 GtkTreePath *path = gtk_q_tree_model_get_path(GTK_TREE_MODEL(retval), &iter);
                 gtk_tree_model_row_inserted(GTK_TREE_MODEL(retval), path, &iter);
                 gtk_tree_path_free(path);
+
+                // in certain cases (eg: proxy models), its possible for rows to be inserted that
+                // already have children; however no rowsInserted will be emitted for the children,
+                // in these cases we check for the existence of chilren and insert them
+                insert_children(idx, retval);
             }
         }
     );