static void feed_list_node_load_feedlist (nodePtr node) { GSList *iter; iter = node->children; while (iter) { node = (nodePtr)iter->data; feed_list_node_add (node); if (IS_FOLDER (node) || IS_NODE_SOURCE (node)) feed_list_node_load_feedlist (node); iter = g_slist_next(iter); } }
void node_reparent (nodePtr node, nodePtr new_parent) { nodePtr old_parent; g_assert (NULL != new_parent); g_assert (NULL != node); debug2 (DEBUG_GUI, "Reparenting node '%s' to a parent '%s'", node_get_title(node), node_get_title(new_parent)); old_parent = node->parent; if (NULL != old_parent) old_parent->children = g_slist_remove (old_parent->children, node); new_parent->children = g_slist_insert (new_parent->children, node, -1); node->parent = new_parent; feed_list_node_remove_node (node); feed_list_node_add (node); }