1. 29 May, 2015 1 commit
  2. 26 May, 2015 1 commit
  3. 20 May, 2015 1 commit
  4. 11 May, 2015 1 commit
  5. 10 May, 2015 1 commit
  6. 09 Apr, 2015 1 commit
  7. 06 Apr, 2015 1 commit
  8. 23 Mar, 2015 1 commit
    • Ralf Habacker's avatar
      Fix 'Dangling pointer issue on document close'. · 49aaa21f
      Ralf Habacker authored
      Guard access to UMLObject::m_pSecondary with QPointer.
      Also use dynamic_cast instead of static_cast for access
      to m_pSecondary to make sure the cast returns zero on
      invalid types. Using static_casts may result into
      invalid casted objects.
      
      BUG:345388
      FIXED-IN:2.15.97 (KDE 15.03.97)
      49aaa21f
  9. 09 Dec, 2014 1 commit
  10. 27 Oct, 2014 1 commit
    • Oliver Kellogg's avatar
      Address http://bugs.kde.org/attachment.cgi?id=88780 · cd9b676b
      Oliver Kellogg authored and Ralf Habacker's avatar Ralf Habacker committed
      (In reply to Mark Stanton from comment #0)
      > [...] The display doesn't resize and the app crashes.
      > I may have tried this before the project had fully loaded. [...]
      
      The backtrace confirms this, apparently you double clicked on a class widget
      on a diagram while Umbrello was still busy in UMLDoc::resolveTypes().
      By the way, Umbrello is finished loading when you see "Ready." in the lower
      left corner of Umbrello's main window.
      
      The following changes fend off double clicks on diagram objects while the
      program is still busy in loadFromXMI() or resolveTypes():
      
      umbrello/umldoc.cpp
      - In default constructor, initialize m_bTypesAreResolved to true.
      - In function closeDocument() remove assignment to m_bTypesAreResolved.
      - In function openDocument(),
        - Add a few missing KIO::NetAccess::removeTempFile() calls in return-on-
          error situations;
        - Set m_bTypesAreResolved false before loadFromXMI()/loadFromMDL() calls;
        - Set m_bLoading false and m_bTypesAreResolved true before returning.
      - In function loading() return true also when m_bTypesAreResolved is false.
      - In function resolveTypes() postpone setting of m_bTypesAreResolved to true
        until type resolution has actually completed.
      
      umbrello/umlscene.cpp
      - In function mousePressEvent() call m_pToolBarState->mouseDoubleClick()
        only if m_doc->loading() returns false.
      
      CCBUG: 339278
      cd9b676b
  11. 22 Sep, 2014 1 commit
    • Oliver Kellogg's avatar
      Address http://bugs.kde.org/attachment.cgi?id=88780 · 4ee55eae
      Oliver Kellogg authored
      (In reply to Mark Stanton from comment #0)
      > [...] The display doesn't resize and the app crashes.
      > I may have tried this before the project had fully loaded. [...]
      
      The backtrace confirms this, apparently you double clicked on a class widget
      on a diagram while Umbrello was still busy in UMLDoc::resolveTypes().
      By the way, Umbrello is finished loading when you see "Ready." in the lower
      left corner of Umbrello's main window.
      
      The following changes fend off double clicks on diagram objects while the
      program is still busy in loadFromXMI() or resolveTypes():
      
      umbrello/umldoc.cpp
      - In default constructor, initialize m_bTypesAreResolved to true.
      - In function closeDocument() remove assignment to m_bTypesAreResolved.
      - In function openDocument(),
        - Add a few missing KIO::NetAccess::removeTempFile() calls in return-on-
          error situations;
        - Set m_bTypesAreResolved false before loadFromXMI()/loadFromMDL() calls;
        - Set m_bLoading false and m_bTypesAreResolved true before returning.
      - In function loading() return true also when m_bTypesAreResolved is false.
      - In function resolveTypes() postpone setting of m_bTypesAreResolved to true
        until type resolution has actually completed.
      
      umbrello/umlscene.cpp
      - In function mousePressEvent() call m_pToolBarState->mouseDoubleClick()
        only if m_doc->loading() returns false.
      
      CCBUG: 339278
      4ee55eae
  12. 31 Aug, 2014 1 commit
  13. 26 Aug, 2014 1 commit
  14. 25 Jul, 2014 1 commit
    • Oliver Kellogg's avatar
      (In reply to Oliver Kellogg from comment #73) · 811994e7
      Oliver Kellogg authored
      > Created attachment 87920 [details]
      > Demo file for the format generated by Embarcadero's "Describe" UML tool
      > [...]
      > Umbrello does not complain on loading - but nothing is actually imported.
      
      The following changes add support for loading the demo file:
      
      umbrello/{association,classifier,enum,operation,package}.cpp function load()
      - Support special tags used by Embarcadero Describe.
      
      umbrello/object_factory.cpp function makeObjectFromXMI()
      - Support association special tag <UML:Aggregation> used by Embarcadero.
      
      umbrello/umldoc.cpp
      - In function loadFromXMI(), support <UML:Model> equivalent tag <UML:Project>
        used by Embarcadero Describe.
      - In function loadUMLObjectsFromXMI(), support <UML:Namespace.ownedElement>
        equivalent tag <UML:Element.ownedElement> used by Embarcadero Describe.
      
      umbrello/umlobject.cpp fuction loadFromXMI()
      - Generate new UniqueID for all cases of non existent xmi id.
      - Downgrade non existence of xmi.id from error to warning.
      
      CCBUG:56184
      811994e7
  15. 19 Jul, 2014 1 commit
  16. 09 Jul, 2014 1 commit
  17. 04 Jul, 2014 1 commit
  18. 03 Jul, 2014 2 commits
  19. 23 Jun, 2014 1 commit
    • Oliver Kellogg's avatar
      umbrello/package.{h,cpp} · 264265da
      Oliver Kellogg authored
      - Remove unused functions  appendClasses(), appendInterfaces()
      
      umbrello/umldoc.{h,cpp}
      - Remove unused functions classes(), interfaces()
      264265da
  20. 22 Jun, 2014 1 commit
  21. 19 Jun, 2014 1 commit
    • Oliver Kellogg's avatar
      umbrello/umldoc.cpp · 8f5cdde1
      Oliver Kellogg authored
      - In function openDocument(), at tests of `filetype' extension,
        - Simplify tests by using QString::endsWith() in lieu of indexOf(QRegExp())
        - Add test for extension ".tar.gz";
      - At function createDiagramName(), fix doc of @param name.
      
      umbrello/umllistview.cpp
      - At start of function slotDiagramCreated(), replace condition for premature
        return `m_doc->loading()' by `findItem(id)'.
        Reason: On importing Rose MDL files, diagram listview items are not created
        at all if (m_doc->loading()) is in effect.
      - At function setDocument(), fix typo in doc.
      8f5cdde1
  22. 26 May, 2014 1 commit
  23. 24 May, 2014 1 commit
  24. 19 May, 2014 2 commits
  25. 08 May, 2014 2 commits
    • Joris Steyn's avatar
      Fix XMI 1.1 load/save issues · b24b9d48
      Joris Steyn authored
      There were two problems causing the XMI file in the bug report to be
      saved incorrectly, resulting in crashes after opening again. One problem
      was association objects not being added to the document correctly. The other
      problem was the nesting in the list view items: The classifiers were
      nested in a folder that did not exist in the XMI. Fixed this by adding
      the classifiers to the parent of the non-existent folder.
      
      BUG: 334069
      FIXED-IN: 4.13.1
      b24b9d48
    • Joris Steyn's avatar
      Fix XMI 1.1 load/save issues · e13d3493
      Joris Steyn authored
      There were two problems causing the XMI file in the bug report to be
      saved incorrectly, resulting in crashes after opening again. One problem
      was association objects not being added to the document correctly. The other
      problem was the nesting in the list view items: The classifiers were
      nested in a folder that did not exist in the XMI. Fixed this by adding
      the classifiers to the parent of the non-existent folder.
      
      BUG: 334069
      FIXED-IN: 4.13.1
      e13d3493
  26. 20 Apr, 2014 2 commits
    • Oliver Kellogg's avatar
      Initial work on loading UML2/XMI2 files, e.g. · c0d58b3b
      Oliver Kellogg authored
        https://bugs.kde.org/attachment.cgi?id=86180 (Eclipse UML2)
      and
        http://www.omg.org/spec/UML/20110701/Infrastructure.xmi
      
      umbrello/model_utils.{h,cpp}
      - New function getXmiId(QDomElement) encapsulates access to xmi.id (XMI-1)
        and xmi:id (XMI-2)
      
      umbrello/{umlobject,folder,operation}.cpp
      - Replace direct accesses to QDomElement::attribute("xmi.id") by
        Model_Utils::getXmiId()
      
      umbrello/{folder,package}.cpp
      - In function load(QDomElement&), decode UML2 tags packagedElement and
        ownedElement.
      
      umbrello/umldoc.cpp
      - In function loadFromXMI(QIODevice&, short), decode outerTag values
        "Model" and "Package" for UML2;
      - In function loadUMLObjectsFromXMI(QDomElement&),
        - decode UML2 tags packagedElement and ownedElement;
        - admit XMI2 syntax "xmi:id" to the check for xmi.id presence.
      
      umbrello/classifier.cpp
      - In function makeChildObject(const QString&), support UML2 tags
        ownedOperation and ownedAttribute.
      
      CCBUG:56184
      c0d58b3b
    • Oliver Kellogg's avatar
      umbrello/umldoc.h · a9d4efc3
      Oliver Kellogg authored
      - Add ENC_WINDOWS for use by encoding(QIODevice&)
      
      umbrello/umldoc.cpp
      - short UMLDoc::encoding(QIODevice & file) :
        - Introduce variable 'enc' with initial value ENC_UNKNOWN
        - In loop advancing over comments and processing instructions, if
          node.isProcessingInstruction() then analyze the
          node.toProcessingInstruction().data(); if attribute "encoding" is
          found then extract its value. Assign ENC_UNICODE to enc if value is
          "UTF-8"; assign ENC_WINDOWS to enc if value is "windows-1252"; else
          assign ENC_OLD_ENC to enc (indicating a not yet implemented encoding.)
        - Change uWarning() messages added in commit 732b50aa to uDebug()
        - For premature returns, return variable 'enc' instead of ENC_UNKNOWN.
          Reason: Returning ENC_UNKNOWN here is overly strict, it precludes any
          further attempts at loading foreign XMI files. Rather, use the encoding
          attribute from the processing instruction if found.
      - bool UMLDoc::loadFromXMI(QIODevice & file, short encode) :
        Extend check which makes sure it is an XMI file to permit "xmi:XMI" as
        root.tagName()
      
      CCBUG:56184
      a9d4efc3
  27. 19 Apr, 2014 1 commit
  28. 05 Mar, 2014 2 commits
  29. 12 Jan, 2014 1 commit
  30. 03 Jan, 2014 1 commit
    • Joris Steyn's avatar
      Fix various issues related to the command history · c4e71ef2
      Joris Steyn authored
      Summary of changes:
       * Track removal of umlobjects, widgets and diagrams in command history
       * Creating (and removing) diagrams can be undone
       * Commands always use IDs instead of pointers (potential fix for many related bugs)
       * Use macro's for moving and deleting multiple widgets
       * Clipboard actions use the command history (widget/umlobject creation)
       * Restore the CmdSetStereotype command
       * Cleanup useless change font/change multiplicity
      
      UR commands reference diagrams and widgets by ID instead of keeping a pointer
      to the objects. Pointers are unfit for the purpose of the commands because both
      creation and removal of the objects can be undone - invalidating the pointers.
      
      Because one UMLObject can have multiple widgets, the widgets can not be
      identified by only the id(). To fix that issue, the localID from ObjectWidget
      has been moved to UMLWidget. This does not change the existing behaviour of
      ObjectWidgets but allows the UR commands to identify widgets that share the
      same id.
      
      REVIEW: 114744
      c4e71ef2
  31. 19 Dec, 2013 1 commit
  32. 17 Dec, 2013 1 commit
    • Joris Steyn's avatar
      Refactor decoding of clip data · efd686cd
      Joris Steyn authored
      Decoding of UMLObjects now uses the same code path on all clips. Fixes that
      recently went to clip1 are now also active for clip2 (diagrams). List view
      items are never decoded, but created in response of a signal of new UMLObjects.
      
      When pasting clip2 in the same file, only the diagram gets duplicated and not
      all contained UMLObjects, like described in feature request 85807.
      
      BUG: 327910
      BUG: 327670
      CCBUG: 85807
      efd686cd
  33. 21 Nov, 2013 1 commit
  34. 11 Nov, 2013 1 commit
  35. 10 Nov, 2013 1 commit