Use new-style assistant popups
(Integration of the assistantpopup-ng branch)
Idea:
Instead of showing a highly annoying popup on problems (say: missing
declaration, missing include, etc.), we now just mark the corresponding
range as problematic. The user explicitly can check what's going on by
either
- hovering the problematic range (yellow/red underlined text)
- or just pressing and holding 'Alt', for activating the code browser as usual.
KDevelop will either show the error message + assistants (in
case there is an error, or just the normal code navigation if there
isn't).
To select a solution, the traditional way of invoking Alt+1, Alt+2, ...
can be used.
"Static assistants" (update signature assistant, rename assistant) now
create fake problems at the location where they are useful.
Squashed commits, since the history in the assistantpopup-ng branch was
too messy. Partial history:
- Show problem context on magic modifier
- Kill AssistantPopup
- Remove ProblemTextHintProvider, now covered by context browser.
- Also prevent showing another tooltip for the currently active problem.
- Show help in navigation context
- Show context for nearby problems
- Show the problem navigation context for problems close to the current cursor position.
- Only consider a problem "close" if there are no non-space characters between it and the current cursor position
- Navigation widget: rework linebreak handling: replace <br> by <p>
- Cleanup: remove AssistantNavigationContext
Differential Revision: https://phabricator.kde.org/D1100