[Uml-devel] kdesdk/umbrello/umbrello

Jonathan Riddell jri at jriddell.org
Tue Jul 22 11:47:02 UTC 2003


CVS commit by jriddell: 

Prevent it creating a second list view item when adding an attribute or operation via the list view.


  M +11 -7     umllistview.cpp   1.35
  M +5 -0      umllistview.h   1.19


--- kdesdk/umbrello/umbrello/umllistview.cpp  #1.34:1.35
@@ -524,4 +524,5 @@ void UMLListView::slotObjectChanged() {
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 void UMLListView::childObjectAdded(UMLObject* obj) {
+        if (!m_bCreatingChildObject) {
         UMLObject *parent = const_cast<UMLObject*>(dynamic_cast<const UMLObject*>(sender()));
 
@@ -529,9 +530,9 @@ void UMLListView::childObjectAdded(UMLOb
         UMLListViewItem *newItem = new UMLListViewItem(parentItem, obj->getName(), convert_OT_LVT(obj->getBaseType()), obj);
 
-        connect(obj,SIGNAL(modified()),this,SLOT(slotObjectChanged()));
-
         ensureItemVisible(newItem);
         setSelected(newItem, true);
         m_doc->getDocWindow()->showDocumentation(obj, false);
+        }
+        connect(obj,SIGNAL(modified()),this,SLOT(slotObjectChanged()));
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -733,4 +734,5 @@ void UMLListView::init() {
         loading = false;
         m_bIgnoreCancelRename = true;
+        m_bCreatingChildObject = false;
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1608,4 +1610,5 @@ void UMLListView::createUMLObject( UMLLi
 
 void UMLListView::createChildUMLObject( UMLListViewItem * item, Uml::UMLObject_Type type ) {
+        m_bCreatingChildObject = true;
         QString name = item -> text( 0 );
         UMLObject * object = static_cast<UMLListViewItem *>( item -> parent() ) -> getUMLObject();
@@ -1630,4 +1633,5 @@ void UMLListView::createChildUMLObject( 
         pData -> setID( object -> getID() );
         pData -> setLabel( name );
+        m_bCreatingChildObject = false;
 }
 

--- kdesdk/umbrello/umbrello/umllistview.h  #1.18:1.19
@@ -214,4 +214,9 @@ class UMLListView : public KListView {
         bool loading, m_bStartedCut, m_bIgnoreCancelRename;
 
+        /**
+         * Used when creating an attribute or an operation to stop it adding a second listViewItem
+         */
+        bool m_bCreatingChildObject;
+
         struct Pixmaps {
                 QPixmap Home;






More information about the umbrello-devel mailing list