Commit Graph

1086 Commits

Author SHA1 Message Date
Eike Ziller
79781f05c4 litehtml viewer: Show link targets in tool tip
Like done for the other backends.

Fixes: QTCREATORBUG-23027
Change-Id: Idc1f7ee2f6240e6c488a9d7d65ead3be6846d303
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-04 12:16:48 +00:00
Robert Löhning
5039ebff70 Help: SquishTests: Updates for tst_WELP01
Change-Id: I2e25f8c3368c4c00c13827f5eb70d9e3a4fc5a9e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 07:33:16 +00:00
Christian Stenger
f1fe30ee16 Help: Restore some more object names
Change-Id: I4742d855bc69be3622f823a3d3efe256ad027dc5
Reviewed-by: hjk <hjk@qt.io>
2022-10-11 11:55:49 +00:00
Jarek Kobus
e54fb7ab64 Replace missing qAsConst with std::as_const()
Patch missing leftovers after recent batch patch.

Amends 8eb4d52342

Change-Id: I5469b8c10e6844cd1911f719ce3dddbb42697f95
Reviewed-by: hjk <hjk@qt.io>
2022-10-10 14:14:02 +00:00
Marc Mutz
8eb4d52342 Port from qAsConst() to std::as_const()
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.

Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.

Task-number: QTBUG-99313
Change-Id: I88edd91395849574436299b8badda21bb93bea39
Reviewed-by: hjk <hjk@qt.io>
2022-10-07 13:47:53 +00:00
Jarek Kobus
ebcc51ecbf Help plugin: Replace foreach with ranged for loop
Change-Id: Idf7a7182e88aba35dff57ef92e1c873b33cb42a1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-10-05 11:33:38 +00:00
Eike Ziller
edcb5a7e6e Support dark themes for Qt documentation
Uses offline-dark.css instead of offline.css in case of Qt Creator using
a dark theme. Looks for the CSS file first in the shipped documentation,
otherwise uses a fallback that is shipped with Qt Creator. The fallback
is based on Qt 6.3.2 documentation, with colors replaced by palette
colors from the flat-dark theme (normalBackground, alternateBackground,
shadowBackground, text). Link colors are taken from the dark Qt online
CSS.

Makes sure to keep a light background for non-Qt documentation, since we
do not assume that they provide a dark themed CSS.

Fixes: QTCREATORBUG-26557
Change-Id: I4a09eedd1216cebeb87c12df40ad99ced030fa73
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-09-28 13:05:53 +00:00
Alessandro Portale
4360462d22 Help: Fix linker issue with QtWebEngine help viewer on Windows
EXPLICIT_MOC webenginehelpviewer.h

Change-Id: I4f282262105ec9a1c22eed6bed670e48074cadbe
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-19 09:35:58 +00:00
Eike Ziller
04e50438eb Utils: Remove Utils::optional
Since we are now requiring macOS 10.14 we can remove our local
implementation of optional and use std::optional for macOS too.

Change-Id: I2bd018261b68da64f7f031a812045dd7784697e1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2022-09-01 06:58:04 +00:00
Eike Ziller
f8b430c0b2 Various: Use qtcEnvironmentVariable* instead of qEnvironmentVariable*
And instead of qgetenv.
Takes Qt Creator's setting at "Environment > System > Environment" into
account, which makes it easier on some platforms to set them (e.g.
macOS), can be configured differently in different settings paths, and
potentially can be changed at runtime (depending on usage).

Change-Id: I724eecc040e33e249a88243f27e8a9e72e54f24b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-08-30 11:47:05 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
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>
2022-08-26 12:27:18 +00:00
Alessandro Portale
d0f134aa49 Help: inline .ui files
bookmarkdialog.ui
topicchooser.ui

Change-Id: Ic5c36db648a56546ecf12ce2cb31a593732e7990
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-08-22 19:49:58 +00:00
Alessandro Portale
801ff295f6 Help: Remove filternamedialog.*
Unused code.

Change-Id: Icfcd613d63f549655ac62daa82e9a7e6f5c78d6c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-08-16 10:45:46 +00:00
Eike Ziller
d7aeb21bfb Help: Re-enable native WebKit help viewer
Was disabled since QMacCocoaViewContainer is gone in Qt 6. Works with
the suggested QWindow::fromWinId + QWidget::createWindowContainer
though.

WebKit(1) is deprecated though, and litehtml works pretty well nowadays,
so this is more academical than really useful. (litehtml stays the
default, opt-in to WebKit is possible in Preferences > Help > Viewer
backend)

Change-Id: I6c54a6ff4de790f098cd852eb753545d9a5540a4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-07-28 09:01:14 +00:00
Eike Ziller
b883a096ff Help: Some cleanup
Change-Id: Ic6af45fda6c7fec57cf6c663a9d8f253e3851f15
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-07-26 11:40:03 +00:00
Jarek Kobus
e32ebe2146 Drop Qt5: Various plugins: Get rid of QOverload
Change-Id: I4913044f8897fd3449dbb537e4af6785eb3ad447
Reviewed-by: hjk <hjk@qt.io>
2022-07-20 13:52:38 +00:00
Jarek Kobus
29bbf35895 TextBrowserHelpViewer: Avoid using sender()
Avoid setting / getting QAction data.

Change-Id: I61d62f2376e09c1dfeadbbe5ada32938ff8bc821
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-20 10:29:48 +00:00
Jarek Kobus
64f8d2daf3 HelpWidget: Avoid using sender()
Change-Id: Ic4c44b5d3545e55c3bdc11765ff2dd5ac4a5f556
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-20 10:29:43 +00:00
hjk
d83eb0494a Use setClipboardAndSelection more broadly
Basically everywhere besides the EmacsKeys plugin.

Change-Id: Iaf2a0a5d791b5b3dd6df2c05c1b862516630d3f8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-15 07:06:25 +00:00
hjk
a5cb967704 Help: Adapt to Qt >= 6.2
Change-Id: I8529b33c597ab3ea795a6ac599f6f52ae36fce50
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-15 07:06:12 +00:00
Marco Bubke
21b8186108 Help: Fix missing header for TR
Change-Id: I8f94ca9ff81ec7d4d2c902d7a28b771259ca33ec
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-07-14 15:56:48 +00:00
Eike Ziller
e2d5936a76 Help: Convert to Tr::tr
Change-Id: I3f9ca195488f7cc90e7f58eb15263dde1bc911c4
Reviewed-by: hjk <hjk@qt.io>
2022-07-13 12:30:46 +00:00
Eike Ziller
f19957c6dc Help: Inline generalsettingspage UI
Change-Id: Id67a4714aa09e19a2a97c2cb0fa641ddee0584e3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-13 10:30:28 +00:00
Eike Ziller
04065603a1 Help: Inline docsettingspage UI
Change-Id: Ifd4b44ba248f1e4b696477eb127a102762d9fbd9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-12 12:33:33 +00:00
Eike Ziller
a85e19cf19 Help: Remove code paths supporting old filter engine < Qt 5.15
Change-Id: Ie3008ac78294f8831c22e73aa325e1da3b4016f2
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-07-12 11:24:39 +00:00
hjk
9e363c6421 Add plugintr.h files to all plugins
Except FakeVim, which had it before.

for i in [a-eg-z]*/*.json ; do
    upper=${i##*/}
    upper=${upper/.json/}
    lower=${i%/*}
    trfile=$lower/${lower}tr.h

    cat << EOT > $lower/${lower}tr.h
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/

namespace $upper {

struct Tr
{
    Q_DECLARE_TR_FUNCTIONS($upper)
};

} // namespace $upper
EOT

    git add $trfile

    perl -pi -e "s/(${lower}_global.h)/\1\n    ${lower}tr.h/"  $lower/CMakeLists.txt

    perl -pi -e "s/(\"${lower}_global.h\",)/\1 \"${lower}tr.h\",/"  $lower/$lower.qbs

done

Change-Id: I15ebbaaa9443c57b391b9e143f592d8a0c9208a9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-27 13:34:57 +00:00
Jarek Kobus
a1bb539c50 LiteHtmlHelpViewer: Handle mouse back/forward buttons
Fixes: QTCREATORBUG-25168
Change-Id: I856743040e81a0164e666f14ea7efd10f208f865
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-13 11:09:56 +00:00
Jarek Kobus
4ad8fb80c6 Utils: More forward declarations / drop unused headers [H-K]
Round 1 - focus on headers.
For classes with initial in range [H-K].
Try to keep the same separators between different kind of headers.

Change-Id: Iefb032953743be41a847ee011c30527edfa425d8
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-05-25 07:14:04 +00:00
Eike Ziller
562cca8ed6 Help: Unregister URL handler for qthelp before deleting it
Qt 6 warns if that is not done.

Change-Id: If0b9f36e35544d1a1d8a45b8c06005cef3940ebb
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-05-16 07:05:11 +00:00
Eike Ziller
f29c53b4f6 Help: Fix compiler warnings
Some unused arguments

Change-Id: I2b2794971840b70ae013bbf1de93970dd75ceeb1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-05-13 07:31:22 +00:00
Eike Ziller
0701dc3652 Help/litehtml: Fix that ctrl+click didn't open link in new page
Fixes: QTCREATORBUG-23026
Change-Id: I24f9b236f26238ce1909300bb49bdc596eff33b9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-03-31 08:10:11 +00:00
Tasuku Suzuki
c49645483e Help: support qt-6 online documentation
Last segment of host part represents version string.
e.g. qthelp://org.qt-project.qtwidgets.630/...

If it starts with "6", let's open qt-6 documentation.
Otherwise, let's open qt-5 as it is.

Change-Id: I88b5f6bd2ebfd8494e48f043678dbc190310b90f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-03-31 02:15:31 +00:00
Thomas Hartmann
1ea773f187 Help: Show home page when activating index or content
Instead of showing the last page this will always show the home
page when activating index or content from the help menu.

Task-number: QDS-6392
Change-Id: Ic158d22ba3739f5db513e04ebde00fdadc24a9d5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-03-01 19:25:39 +00:00
Alessandro Portale
26bf18e1fe Core: Turn LocatorFilterEntry ofn ILocatorFilter::accept to const &
In ILocatorFilter::accept and all the overrides.

Change-Id: I27cd6babb66d91aad57e85572a1cdc77aef4fd79
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-11 07:35:30 +00:00
Eike Ziller
9d8a419d10 Remove qmake build files
Removes qmake as a build system for building Qt Creator itself.
Keep them for some tests that are not completely moved to CMake yet.

Change-Id: I846c6ef65626b6dfae6375fdc85d00677aa8c2fb
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-20 12:18:15 +00:00
Alessandro Portale
d7ed48ac6f Add missing "emit"s
Change-Id: I88a7397c7689b1e72cdd0e52077f8097443963c0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-11-11 14:10:42 +00:00
Eike Ziller
b7853efaf3 Re-enable QWebEngine help viewer backend for Qt 6.2
Fixes: QTCREATORBUG-26380
Change-Id: I8aa31bebd5a8a20f664a17bca2f657fcfac4b1f5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-11-05 09:10:15 +00:00
Jarek Kobus
474ce0399d Ignore the wheel event explicitly in order to propagate it further
Qt 6 brings a behavioral change regarding delivery of wheel events:
92df790f46b3a8b17aec2f385d6472fd3f8647f6 and
2a857ee28315c5bacfe2ecaf402ca9005b35c20e. If there is an event
filter installed and wheel event is being processed, the event
is now accepted by default, which means that after returning
true from eventFilter(), the event is not propagated anymore.
Since we want to redirect the event to the parent HelpViewer object,
we explicitly ignore the event prior to returning true.

This patch fixes the QTextBrowser backend.

Amends 0b96a1b76b

Fixes: QTCREATORBUG-26369
Change-Id: I7a0167c54f830fffab13d73eb91cb2ecbd730c86
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2021-10-25 05:48:56 +00:00
Jarek Kobus
0b96a1b76b Ignore the wheel event explicitly in order to propagate it further
Qt 6 brings a behavioral change regarding delivery of wheel events:
92df790f46b3a8b17aec2f385d6472fd3f8647f6 and
2a857ee28315c5bacfe2ecaf402ca9005b35c20e. If there is an event
filter installed and wheel event is being processed, the event
is now accepted by default, which means that after returning
true from eventFilter(), the event is not propagated anymore.
Since we want to redirect the event to the parent HelpViewer object,
we explicitly ignore the event prior to returning true.

Task-number: QTCREATORBUG-26369
Change-Id: I2fc8b7c8bfbc343a9ca7951684ced405f8a55039
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2021-10-07 14:26:18 +00:00
Eike Ziller
987ad3fe9c Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/android/androidconfigurations.cpp

Change-Id: Icd2b0fda2b2653656285bbbe457c30c9cd414d3f
2021-08-30 12:15:37 +02:00
Christian Stenger
eead213d40 Help: Fix cmake build condition
Change-Id: I528df210b5ea56ecb0c5b629876e0eea465d75b2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-27 13:38:17 +00:00
hjk
584217a52f Use more FileUtils based file dialogs
Change-Id: I1e7ec0493c26afe58e17afb8923a2b1023f6dcd4
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-08-19 08:33:22 +00:00
Tim Jenssen
84af58818d help: do not build webengine backend if Qt6 is used
Change-Id: I66ef10b3991c70913999b71ce382dbcfabff7fd6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-06-17 17:07:50 +00:00
Cristian Adam
370410aca0 CMake: use a robuster way to check for WebEngineWidgets
By using find_package(Qt5 COMPONENTS WebEngineWidgets) we make
sure that the WebEngineWidgetsConfig.cmake from the same Qt5
package would be marked as found.

Otherwise CMake would look around after a Qt5WebEngineWidgets
package, which on Windows if you have a MSVC Qt Creator trying
to build a MinGW Qt Creator could end up in a failed build.

Change-Id: Ibd30c36231577ef111d9163cc1c87a09443d3cb9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-06-09 13:28:35 +00:00
David Schulz
a13aef759e Utils: filepathify fileutils
Change-Id: Ic9048369f64d793f5f567cdb0c715488fb5a4ff6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-18 14:30:53 +00:00
Jarek Kobus
da27ac457f Do QFutureWatcher::setFuture() after connecting to watcher's signals
Otherwise we may have race condition.
Reference: documentation for QFutureWatcher::setFuture()
and the implementation of
QFutureInterfaceBasePrivate::connectOutputInterface(
QFutureCallOutInterface *interface).

Change-Id: I5b483baaf1b844871a162f47ce7683e9ff495acb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-12 22:09:03 +00:00
Aleksei German
b92acd3e8e QmlDesigner: Report Bug link for QDS
Task: QDS-1272

Change-Id: I1d369d2a53d6829651a8c70be77ef4e5855d775c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-05-05 07:38:10 +00:00
hjk
8e352af0ec Core: Add a default parameter to various ICore::*path functions
Saves some code on the user side.

Change-Id: I32cd220b6e533f5497a1865f9c34ab9db4cfda79
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-04-27 06:52:05 +00:00
Eike Ziller
c1f90aeca2 ICore: Change some path API to use FilePath
Change-Id: Id841d6177206a021c9e606ce560b47d1ae6e52b9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2021-04-26 08:03:47 +00:00
Eike Ziller
c0cfafdd3d Merge remote-tracking branch 'origin/4.15'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp

Change-Id: I403b236c40d73a61ae22304e289e9d4374366395
2021-04-06 15:17:40 +02:00