When pasting a folder in the tree view, a UMLPackage is pasted instead of a folder. The contents are added to the tree view twice where only one of the two can be dragged into a diagram. Saving this results in a bad XMI file; the original folder contents can not be loaded. Reproducible: Always Steps to Reproduce: 1. Add a folder (tree view popup menu "New -> Folder") 2. Add an object to the new folder (for example class) 3. Copy the folder 4. Paste the folder Actual Results: Several errors can be observed: * pasted folder has no stereotype, so becomes a regular package (no folder icon) * contents are added twice; in the new folder and in the view's root * items in the new folder have wrong ID Expected Results: Umbrello should create an exact duplicate of the folder and all its contents. New IDs should be assigned to all new objects.
Git commit f65315dade54e4ba2f85c1c415112ff18ddcd9d2 by Joris Steyn. Committed on 13/10/2013 at 17:42. Pushed by jorissteyn into branch 'master'. Fix broken icon on pasted folder The stereotype of an object should be taken into account when determining the baseType. Otherwise, a pasted folder will be a UMLPackage instead of UMLFolder. M +6 -3 umbrello/clipboard/umldragdata.cpp M +0 -8 umbrello/umllistviewitem.cpp http://commits.kde.org/umbrello/f65315dade54e4ba2f85c1c415112ff18ddcd9d2
Git commit e264e22cbf563505b69989f58018b816a93ad3e3 by Joris Steyn. Committed on 13/11/2013 at 20:14. Pushed by jorissteyn into branch 'master'. Fix copy/paste of folders Copying folders in the tree view now works as described. Nested folders and pasting to other instances of Umbrello work fine as well. Ideally, when copying a folder, the XMI clip only contains the UML:Package node and all child items are contained and loaded from Namespace.ownedElements. But, loadFromXMI() does not support that. This fix makes a paste operation ignore ownedElements completely and uses the "flat" list of all children to create the objects. M +3 -4 umbrello/clipboard/umlclipboard.cpp M +49 -1 umbrello/clipboard/umldragdata.cpp http://commits.kde.org/umbrello/e264e22cbf563505b69989f58018b816a93ad3e3