1. 25 Feb, 2019 1 commit
  2. 21 Feb, 2019 1 commit
    • Rolf Eike Beer's avatar
      optimize CMakeBuildDirChooser::buildDirSettings() · 5bf2c3aa
      Rolf Eike Beer authored
      Summary:
      -if we have a match for a key, no other key can match
      -match the start of a new line as QByteArray instead of QString, most lines will
       not match and all keys are plain ASCII, this saves a lot of needless
       conversions and memory allocations
      -modify the original line instead of doing a copy, the original one will not
       be used again anyway.
      
      Test Plan: Open and build a CMake-based project.
      
      Reviewers: mwolff
      
      Reviewed By: mwolff
      
      Subscribers: mwolff, apol, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D18857
      5bf2c3aa
  3. 19 Feb, 2019 1 commit
  4. 16 Feb, 2019 1 commit
  5. 15 Feb, 2019 5 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.
      d284d5bb
    • 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.
      35277af9
    • 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.
      d9b4c14c
    • 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
      QuickOpenEmbeddedWidgetInterface.
      12e3583f
    • 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.
      518e7871
  6. 13 Feb, 2019 5 commits
  7. 11 Feb, 2019 3 commits
    • Aleix Pol Gonzalez's avatar
      Fix meson build · be86956d
      Aleix Pol Gonzalez authored
      CCMAIL: daniel@mensinger-ka.de
      be86956d
    • Aleix Pol Gonzalez's avatar
      Make sure we use the same compiler settings as the project is by default · 62ae1929
      Aleix Pol Gonzalez authored
      Summary:
      Instead of trusting the user to configure it beforehand, make it
      possible to check which compiler is being used in the build manager and
      uses it to figure out the initial compilation settings.
      This includes a QStringList IBSM::findCompiler(item) method to get the
      path to the used compiler. I wonder if we should be providing the
      sysroot as well.
      
      Test Plan:
      Been playing around with the androidqt branch that uses docker
      to implement the SDK instead of just expecting the user to install it himself.
      
      Reviewers: #kdevelop, mwolff
      
      Reviewed By: #kdevelop, mwolff
      
      Subscribers: mschwarz, aaronpuchert, mwolff, kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D11136
      62ae1929
    • René J.V. Bertin's avatar
      Don't call clear() on a shared pointer we don't own · fba39d4a
      René J.V. Bertin authored
      As per the documentation this will delete the pointer itself when the
      QSharedPointer refcount drops to 0 That can happen while the target
      QProcess instance is still running, and will happen occasionally (on
      Mac), causing a crash.
      The ChooseCMakeInterfaceJob instance will be deleted soon after a failed
      connection attempt so there is no need to clear the server pointer here.
      
      BUG: 403644
      fba39d4a
  8. 10 Feb, 2019 3 commits
    • Igor Kushnir's avatar
      Debugger plugin fixes · 02b042a9
      Igor Kushnir authored
      Summary:
      Rename Qt logging category: common -> debuggercommon
      
      The old name was too generic and undescriptive. This resulted in
      the following confusing lines in KDevelop output:
        kdevelop.plugins.common: Change session  QObject(0x0)
        kdevelop.plugins.common: Will reparse arch
      
      MIDebugger: print a specific process error message
      
      Information in the messageboxes is general and sometimes insufficient
      to understand why the process could not be started. In such cases
      a warning-level error message can be useful. For example:
        Debugger ERRORED QProcess::FailedToStart "execvp: Exec format error"
        Debugger ERRORED QProcess::WriteError "Error writing to process"
      
      GdbDebugger: pass correct string in userCommandOutput()
      
      When Shell script was not empty, both the shell path and the debugger
      executable were duplicated in the string sent to userCommandOutput()
      because they are prepended to arguments in if(!shell.isEmpty()) branch.
      
      Test Plan:
      Run test_gdb, test_gdbprinters, test_lldb and test_lldbformatters.
      The number of failed and skipped tests did not change with these fixes.
      
      Reviewers: mwolff
      
      Reviewed By: mwolff
      
      Subscribers: mwolff, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D18325
      02b042a9
    • Thomas Schöps's avatar
      Clang CodeCompletion: No auto-completion for numbers · e86c5a72
      Thomas Schöps authored
      Summary: When typing a number, code-completion is undesirable in my opinion, since most likely no completion item applies and it only distracts, obstructs the view, or is triggered accidentally. Thus, this patch prevents code completion from automatically getting triggered for numbers. It does not cover all cases (code completion will still show something for floating-point numbers that start with a dot, such as .1f) but should cover the most common cases. Manual completion with Ctrl+Space is still possible.
      
      Test Plan: Tested manually.
      
      Reviewers: #kdevelop, mwolff
      
      Reviewed By: #kdevelop, mwolff
      
      Subscribers: mwolff, brauch, kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D17915
      e86c5a72
    • Rolf Eike Beer's avatar
      CMakeBuildDirChooser: avoid calling deprecated KUrlRequester::setPath() · 4a219756
      Rolf Eike Beer authored
      Test Plan: Builds without warning now.
      
      Subscribers: kdevelop-devel
      
      Tags: #kdevelop
      
      Differential Revision: https://phabricator.kde.org/D18856
      4a219756
  9. 09 Feb, 2019 1 commit
  10. 08 Feb, 2019 1 commit
  11. 07 Feb, 2019 1 commit
  12. 06 Feb, 2019 7 commits
  13. 05 Feb, 2019 4 commits
  14. 04 Feb, 2019 1 commit
  15. 03 Feb, 2019 3 commits
  16. 02 Feb, 2019 1 commit
  17. 01 Feb, 2019 1 commit
    • Milian Wolff's avatar
      Properly cleanup FileManagerListJob when folder items are deleted · 06b526e8
      Milian Wolff authored
      This is an alternative approach to fix the issue described in
      https://phabricator.kde.org/D15899
      
      The approach used here is generic and does not require any users
      of the API to know about the potential pitfalls, it actually
      decreases coupling a bit!
      
      The old approach to cleanup the list jobs only worked when we
      called AbstractFileManagerPluginPrivate::removeFolder, but that
      wouldn't work when a folder item gets deleted directly - e.g.
      from the CMakeManager or any other code. Now, we listen to
      the model signal when a row is about to be removed and cleanup
      the item pointers in the list job. While doing so, we must make
      take into account that the pointer may already be partially destroyed,
      since only the ProjectBaseItem dtor will call takeRow, at which point
      the overriden methods in ProjectFolderItem e.g. won't be available
      anymore.
      
      Additionally, it turned out that the fallback for a similar handler
      of partially destroyed classes in
      AbstractFileManagerPluginPrivate::jobFinished only removed the job
      from a copied list, since it was using foreach, and didn't even take
      the list by reference...
      
      Finally, the test is expanded to reliably trigger the crashy behavior
      explained in the review request on phabricator.
      
      BUG: 260741
      06b526e8