1. 16 Jan, 2018 4 commits
  2. 15 Jan, 2018 3 commits
  3. 10 Jan, 2018 5 commits
    • Milian Wolff's avatar
      Performance: Reuse the global icon loader · 94ed49ac
      Milian Wolff authored
      Summary:
      I just found a noticeable GUI hang when showing a problem widget
      for a missing include path. There, the profiler pointed me at
      KIconLoader which was reconstructed whenever we query for the icon
      representing the severity of a problem.
      
      By reusing the global icon loader, we can get the information from
      the cache which is significantly faster.
      
      Reviewers: #kdevelop
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D9783
      94ed49ac
    • Milian Wolff's avatar
      Cache ProblemPointers per translation unit · f2a6941e
      Milian Wolff authored
      Summary:
      For visibility purposes, all 'inclue file not found' errors are
      associated with all files in a TU, since these usually completely
      break the interpretation of a file. But in some situations, this
      triggers a severe performance degradation:
      
      When the TU has a deep include stack depth and a file is not found
      somewhere at the bottom of the stack, then it will have one child
      diagnostic for every "included from ..." file higher up in the stack.
      Now if we would repeatedly build and intern the KDevelop::Problem
      representation for these diagnostics, for every file in the TU, we
      sometimes ended up spending *minutes* to create all the problems
      in ParseSession::problemsForFile!
      
      To workaround this situation, cache the ProblemPointer in the
      ParseSessionData for a given translation unit. This way, we will
      only convert a given diagnostic and its child diagnostics once per TU
      instead of once per file contained in a TU.
      
      In my case this brings down the time spent in problemsForFile for a
      single TU from ~7min (sic!) down to ~12s. While the latter is still
      a lot, this is already much more bearable.
      
      BUG: 386720
      
      Reviewers: #kdevelop
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D9772
      f2a6941e
    • Laurent Montel's avatar
      Remove unused file · 3881efbd
      Laurent Montel authored
      (cherry picked from commit d212fa1d)
      3881efbd
    • Laurent Montel's avatar
      Remove unused file · 64c12511
      Laurent Montel authored
      (cherry picked from commit c2031c5d)
      64c12511
    • Friedrich W. H. Kossebau's avatar
      Only set CMAKE_AUTOMOC_MACRO_NAMES with KF5 < 5.42 · 4a9455fd
      Friedrich W. H. Kossebau authored
      Reviewers: #kdevelop, flherne, kfunk
      
      Reviewed By: #kdevelop, kfunk
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D9778
      4a9455fd
  4. 09 Jan, 2018 3 commits
    • Milian Wolff's avatar
      Format comments before setting them on the DUChain · 9761e029
      Milian Wolff authored
      Summary:
      This removes the /// and /* ... */ prefixes. Not only does this
      make the stuff way more readable, it also fixes our JSON tests...
      
      Return proper non-C++ specific includes/defines for non-project files
      
      When we query the includes/defines for a file outside of any project
      we always returned the C++ compiler includes/defines. This was because
      we never tried to guess the language type then, since we operated only
      on ProjectBaseItems pointers which are obviously nullptr for files
      outside of any project. Instead, operate on QString path
      representations like elsewhere in the IADM already. This allows us to
      guess the language type even for C, ObjC and Cuda files when they are
      not part of a project.
      
      No unit test is added, but I found this while working on a separate
      feature that has a proper unit test attached.
      
      Handle _Complex types
      
      We just create a delayed type that holds the string representation.
      This is enough to get the type displayed in the tooltips and it also
      removes the pesky warnings from the command line about unhandled
      types.
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D9472
      
      (cherry picked from commit 96b95928)
      9761e029
    • Milian Wolff's avatar
      Format comments before setting them on the DUChain · 2f2ac007
      Milian Wolff authored
      This removes the /// and /* ... */ prefixes. Not only does this
      make the stuff way more readable, it also fixes our JSON tests...
      
      (cherry picked from commit c31f2027)
      2f2ac007
    • Milian Wolff's avatar
      Set toolbar/toolbutton font on quickopen line edit · 56416bdd
      Milian Wolff authored
      Summary:
      The quickopen line edit is shown in the toolbar and thus should
      follow the font style of the other tool bar actions. So far,
      it did not do that. Now we manually force the toolbar font to
      ensure the font style is homogeneous.
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D9481
      
      (cherry picked from commit d0705822)
      56416bdd
  5. 06 Jan, 2018 1 commit
  6. 04 Jan, 2018 1 commit
  7. 01 Jan, 2018 1 commit
  8. 21 Dec, 2017 1 commit
  9. 12 Dec, 2017 1 commit
  10. 11 Dec, 2017 1 commit
  11. 10 Dec, 2017 2 commits
  12. 09 Dec, 2017 1 commit
  13. 08 Dec, 2017 1 commit
  14. 06 Dec, 2017 1 commit
  15. 05 Dec, 2017 2 commits
  16. 04 Dec, 2017 1 commit
  17. 30 Nov, 2017 1 commit
  18. 27 Nov, 2017 3 commits
  19. 25 Nov, 2017 1 commit
  20. 23 Nov, 2017 6 commits