From 5d5bf860d4729b1114308efa28d015bcfca2fcfe Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Wed, 8 Oct 2014 17:42:18 +0200 Subject: [PATCH] Reparent items in widget hierarchy instead of deleting and creating a new item... --HG-- branch : dfighter-tools --- .../src/plugins/gui_editor/widget_hierarchy.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/code/studio/src/plugins/gui_editor/widget_hierarchy.cpp b/code/studio/src/plugins/gui_editor/widget_hierarchy.cpp index 5605d6439..1439fea9e 100644 --- a/code/studio/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/studio/src/plugins/gui_editor/widget_hierarchy.cpp @@ -269,21 +269,16 @@ namespace GUIEditor if( ( newParent == NULL ) || ( item == NULL ) ) return; - // Remove old item + // Remove item from old parent QTreeWidgetItem *p = item->parent(); if( p != NULL ) p->setExpanded( false ); - id = item->data( 0, Qt::DisplayRole ).toString(); - delete item; - item = NULL; + p->removeChild( item ); // Remove reference to old item widgetHierarchyMap.erase( oldid ); - // Add new item - item = new QTreeWidgetItem(); - item->setData( 0, Qt::DisplayRole, id ); - item->setSelected( true ); + // Add item to new parent newParent->addChild( item ); // Add reference to new item