Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
It was possible to get a tooltip with cached text from other editor area
Fixes: QTCREATORBUG-28571
Change-Id: I4250856e6c165eed70ddb4a6c888e16b4a6b045d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Note that this does not have performance implications, as we already
call HelpItem::isValid() in the same code path.
Fixes: QTCREATORBUG-24782
Change-Id: I8495099c97233e4df4b8d2a30579fb6324122e92
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
We should not force the tool tip text to HTML when help content is
available or when adding the F1 icon.
Instead add help content and F1 icon into the tool tip layout.
Change-Id: Ibe2d4fa2fb81bcda4e5aeb0d7d86dbf63fcf3ce6
Reviewed-by: David Schulz <david.schulz@qt.io>
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>