1. 03 Jul, 2019 1 commit
  2. 02 Jul, 2019 2 commits
  3. 27 Jun, 2019 1 commit
  4. 26 Jun, 2019 7 commits
  5. 24 Jun, 2019 10 commits
  6. 21 Jun, 2019 1 commit
  7. 17 Jun, 2019 3 commits
  8. 16 Jun, 2019 1 commit
  9. 19 Mar, 2019 1 commit
  10. 02 Mar, 2019 1 commit
  11. 16 Feb, 2019 1 commit
  12. 15 Feb, 2019 10 commits
    • Milian Wolff's avatar
      Introduce QuickOpenEmbeddedWidgetCombiner · d284d5bb
      Milian Wolff authored
      This mouthful of a class is essentially just a QWidget with a
      QVBoxLayout which you can add widgets to. The fun comes from
      implementing the QuickOpenEmbeddedWidgetInterface too, by
      delegating to the child widgets that got added.
      Overall, this allows us to navigate via Alt+Arrow keyboard actions
      between combined widgets, as you'd get when you have both, an error
      and a declaration at a given cursor declaration.
    • Milian Wolff's avatar
      Add 'back' to QuickOpenEmbeddedWidgetInterface · 35277af9
      Milian Wolff authored
      The AbstractNavigationWidget already supported this, and it was
      picked up by KTextEditor. But our own quickopen embedded widget
      interface didn't allow going 'back' via Alt + Backspace yet. This
      patch fixes this.
    • Milian Wolff's avatar
    • Milian Wolff's avatar
      tie DUContext::createNavigationWidget to AbstractNavigationWidget · d9b4c14c
      Milian Wolff authored
      We always return instances of this type anyways, so enforce it in
      the API and simplify the usage code accordingly.
    • Milian Wolff's avatar
      Fix up/down keyboard navigation for 'Show documentation' links · f633da0d
      Milian Wolff authored
      The navigation widget relies on a crude HTML "parser" which
      counts "lines". Yes. Only '<br/>' is considered a newline, even
      though due to line wrapping we can have obviously more lines. Well,
      without rewriting all of that, also count '</p>' as introducing a
      new line. This allows us to jump to the 'Show documentation' link
      To make this work reliably, we also fixup the generated HTML to be
      valid and not nest '<p>' tags. Furthermore, we prevent the ugly
      line indication marker '<->' being shown when we try to down past
      the last paragraph.
    • Milian Wolff's avatar
      Lock duchain in AbstractIncludeNavigationContext::html · 38e910ba
      Milian Wolff authored
      Fixes assertion when trying to navigate in project file
      quick open navigation widget:
      #9  0x00007fc05e472c28 in qt_assert(char const*, char const*, int) () from /usr/lib/libQt5Core.so.5
      #10 0x00007fc061696c26 in KDevelop::TopDUContext::importedParentContexts (this=0x561284615030) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/topducontext.cpp:1015
      #11 0x00007fc0617883cc in KDevelop::pickContextWithData (duchains=..., maxDepth=2, type=@0x561287177ac0: KDevelop::StandardParsingEnvironment, forcePick=true) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/navigation/abstractincludenavigationcontext.cpp:60
      #12 0x00007fc061788815 in KDevelop::AbstractIncludeNavigationContext::html (this=0x561287177aa0, shorten=false) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/navigation/abstractincludenavigationcontext.cpp:90
      #13 0x00007fc0617752fb in KDevelop::AbstractNavigationContext::down (this=0x561287177aa0) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/navigation/abstractnavigationcontext.cpp:282
    • Milian Wolff's avatar
      cleanup: remove html prefix/suffix feature from navigation widget · 12e3583f
      Milian Wolff authored
      This was *only* being used by the project file quickopen feature,
      and you only saw it when clicking into the quickopen list, or when
      pressing alt. I doubt anyone ever did that. And it was madness
      anyways: we decreased the font size in a hacky non-html compliant
      way which actually made it quite hard to read for me. So the only
      thing we lose is the project name... which is an acceptable
      tradeoff. This feature messed up the whole API considerably, removing
      it makes me very happy.
      We can bring back the project name in the future by introducing a
      generic wrapper-widget that supports the
    • Milian Wolff's avatar
      Remove dead code: AbstractNavigationContext::fontSize{Prefix,Suffix} · 518e7871
      Milian Wolff authored
      These functions never return any non-null string, so just remove them.
    • Milian Wolff's avatar
      Reinstantiate c3c30113 "fix memleaks in duchain unittests" · 333455ce
      Milian Wolff authored
      We also lost this, thanks to Nicolas for pointing this out!
    • Milian Wolff's avatar
      Reinstantiate code from 3c51faa2 · ba7f235b
      Milian Wolff authored
      Fixes test_duchain-clang's testSameFunctionDefinition. My git foo
      isn't good enough to figure out where this got lost?
  13. 21 Jan, 2019 1 commit
    • Thomas Schöps's avatar
      Properly display argument names of template functions · 49d503f8
      Thomas Schöps authored and Milian Wolff's avatar Milian Wolff committed
      When hovering over a C++ template function, the function argument names were
      shown incorrectly. For example, for the following function definition:
          template <int a>
          void foo(char b, char c) {}
      The function would be displayed like this in the tooltip:
          void foo(char a, char b)
      This is because argument names, different from argument types, are fetched from
      argumentContext->localDeclarations() for display. In case of template functions,
      both the template arguments and the function arguments are in this list, which
      was not accounted for. This diff changes the behavior to count the function
      arguments from the end of the local declarations instead of the start, which
      fixes the bug. (Note: I am not sure whether it is possible that the local
      declarations list also contains other entries. I did not observe this during
      some short testing. Also, not sure what the situation is for other languages
      than C++.)
      Test Plan: Some manual testing.
      Reviewers: #kdevelop, mwolff
      Reviewed By: #kdevelop, mwolff
      Subscribers: aacid, mwolff, kdevelop-devel
      Tags: #kdevelop
      Differential Revision: https://phabricator.kde.org/D18218