Tool tips without help ID were HTML escaped but never shown in a HTML
tool tip. Just always make them rich text. Line endings in plain text
must be changed to "<br/>" as well.
Change-Id: I9fd378e2c9a58ddf5834d67927fe3da9157cfbc7
Reviewed-by: David Schulz <david.schulz@qt.io>
Like it is the case for the language client.
Utils::TextTip::configure uses QVariant::isNull to check.
Change-Id: Ie1e47284a9062e79efcf0debf68486b05bce48ef
Reviewed-by: David Schulz <david.schulz@qt.io>
The tooltip text may contain characters that need
to be escaped without 'Qt::mightBeRichText' categorizing
this as rich text.
This is needed e.g. to show the proper type when
hovering over a variable of type 'std::vector<int>'
(or some smart pointer) in edit view (no debugging
session).
Otherwise, just "std::vector" is shown since
'Qt::mightBeRichText' returns false for that string
and "<int>" is then probably just ignored as an invalid
tag when the tooltip is displayed.
Change-Id: I25ded2b21e4350a1036ab4b3d8f144383aee776d
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Deprecated in Qt 5.14, alternative has been around since Qt 4 at least.
Change-Id: I4e3a53c289088368609e0d0ce2405a832d311308
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
If help is only found by looking up in the index, show a selection
dialog to the user even if there is only one result. Otherwise we create
the impression that we really think that the help we find is the correct
one.
Also do not add the help text to the tool tip in this case.
Test case: struct Foo { static void objectCreated() {} };
Change-Id: I9579302843ea2923e06f56f4b646dd101f183b3f
Reviewed-by: David Schulz <david.schulz@qt.io>
Save the HelpItem directly in the tooltip instead of the help ID which
would need to be looked up again.
Change-Id: I107e82e89d9ea26cad9d6532ad4c687d1ac8f1ec
Reviewed-by: David Schulz <david.schulz@qt.io>
It no longer takes an ID but a HelpItem.
Change-Id: I0aa738549fea4fcfd0151adc2dfd642c63f0f60d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Context help would first query the database with potential IDs, and
afterwards the help plugin would look up the links for the resulting ID
again.
Pass the HelpItem (which potentially contains the cached links) directly
to context help.
Change-Id: I73bddcd3cd4eacaea412b98d53c5e5354a31f3d5
Reviewed-by: David Schulz <david.schulz@qt.io>
- even if there are diagnostics still try to retrieve symbol info
and help
- fall back to text based keyword extraction in case code model
info fails
- if both a code model tool tip (e.g. function signature or type)
and help are available, show both
Task-number: QTCREATORBUG-15959
Change-Id: Id85a223c24849ead1b25d63776d64a7da1cc73ef
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
...at that particular location.
For example, the code
new QSignalMapper;
produced a deprecated warning with Qt 5.12 and F1 led to "No
documentation available" as the diagnostic was always prioritized.
Task-number: QTCREATORBUG-21686
Change-Id: Icf03000fb6b9de04e467e758da6167018d154a21
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
...to support asynchronous hover handlers like ClangHoverHandler.
Change-Id: I8dc7189db37ec3a923cf493b8957c59ec9be447c
Reviewed-by: David Schulz <david.schulz@qt.io>
In checkToolTip(), the call to decorateToolTip() is not needed since it
does not affect the priority.
In showToolTip(), we can assume that checkToolTip() was called and thus
avoid a call to identifyMatch().
TextEditorWidgetPrivate::processTooltipRequest() is the only caller of
checkToolTip() and showToolTip().
Change-Id: I362c697754b6a29c9c0b34f85d3022f00e3e1031
Reviewed-by: David Schulz <david.schulz@qt.io>
The extra selection tooltips are a good default for a hover match. We
use that in the basic plaintext editor to show, for example, syntax
errors in XML documents, detected during extra compiler runs.
Change-Id: Ib7f755c482ebc04148567105e4779324799fb670
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Hover handlers now have a priority which is used to determine which
handler's tooltip is shown. The handler with the highest priority is
used, or, in the case of equal rankings, the first registered handler.
The base handler implements a default basic priority system based on the
diagnostic and help properties. Derived handlers can manually set the
ranking value as part of the identifyMatch() call.
A new checkToolTip() method is added so the handler can analyze whether a
tooltip is valid without it being shown.
Change-Id: I9d82fb9cc52f1d3cd53a8b197d75cd923651b79d
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
The tool tip never has focus, so it cannot become the IContext that is
checked for context help. So, integrate the help id into Utils::ToolTip
and check the tool tip first when checking for context help.
As a side effect the [F1] button and help id for the tool tip is now also
available for use outside of the text editors.
Task-number: QTCREATORBUG-5345
Change-Id: Id975703caf161d1183c247e8ad8bb693b90fd306
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
There's a bit too much unneeded flexibility in there, requiring extra
boiler-plate code on the user side.
Change-Id: I34d03838fb1cd3182fcbb93bf65158ebfc7e2bce
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The editor factories are already a central place to associate
hover handlers with editors, no need to retrieve them later from
the object pool again. This also allows for easy handling of
more than one active handler per editor.
Change-Id: Ie716b96f5ce6b526ee897468635e03e909d81538
Reviewed-by: David Schulz <david.schulz@digia.com>
... and some of the related implementation details
Change-Id: I1f03aa5acf2d3fb2cfc2a6a7845f3d3578b0408d
Reviewed-by: David Schulz <david.schulz@digia.com>
Replace all* remaining deprecated Qt 4 functions with
their Qt 5 counterparts. This means we no longer need to
define the QT_DISABLE_DEPRECATED_BEFORE macro.
This patch is relatively small because most source-compatible
changes of this kind have been done before.
* The one exception is the QmlDesigner, which uses QWeakPointer
in a deprecated way all over the place.
Change-Id: Id4b839c6685f3b5bdf2b89137f95231758ec53c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
In the majority of cases we were doing that anyways, having two
ways is just needlessly confusing.
Change-Id: Ied362a702c23beee528368d74df1f2aabe5807f8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
TextEditor BaseHoverHandler::addF1ToToolTip() method has used
a resource from CppEditor (:/cppeditor/images/f1.png), despite
of the inverse official dependecy in PluginSpec file and other
classes.
As it is not used anywhere else - to fix the issue f1.png and
f1.svg are moved from CppEditor to TextEditor.
Change-Id: I14b542837d6337bd08e19ad72cf4a869be08465a
Reviewed-by: Christian Stenger <christian.stenger@nokia.com>
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>