Commit Graph

72385 Commits

Author SHA1 Message Date
Christian Kandeler
96083103d1 ProjectExplorer: Dissolve gcctoolchainfactories.h
The implementation of these functions being in a source file
corresponding to a different header made code navigation attempts super
annoying.

Change-Id: I10b33b31735021e92dd3775f4e88cbbe79cfde3d
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 15:58:52 +00:00
Christian Kandeler
8a70f66c9c ProjectExplorer: Move GCC config widgets out of header file
They are only used in one source file.

Change-Id: I9a267be83156fb50c98da63fab165ef6123e7e59
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-24 15:58:30 +00:00
Christian Kandeler
35e908d835 Fix build
Change-Id: Ie23c6c8b131507e9ae2579ef361002654f55e282
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-24 15:58:01 +00:00
Christian Stenger
01d199ea82 Docker: Register only matching toolchains
Change-Id: I0d5b0f9686b4a8256167fc4f1b2b464885590e20
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 15:09:28 +00:00
Christian Stenger
a08a7dda46 PE: Do not disable gcc detection on macOS completely
Otherwise we may miss the gcc toolchains on docker devices.
So, keep the detection disabled for desktop devices, but
allow to detect gcc in general.

Change-Id: If8feb33a7dd46451e6c16fc543b6799b7dcdd663
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 15:09:19 +00:00
hjk
a48a96e05c QtSupport: Introduce a type alias for QList<BaseQtVersion *>
Change-Id: I96b0eccc04da2f4a1a4e5ea9bdceb91b3fa3d724
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-24 14:38:20 +00:00
Cristian Adam
761e1fb13f CMakePM: Add additional CMake parameters to the Kit's CMake config
This way one could pass --warn-uninitialized in the kit's configuration,
which will be transferred to the "Initial Configuration" and so on.

Fixes: QTCREATORBUG-26826
Task-number: QTCREATORBUG-26869
Change-Id: I6d9833a065ea790fc298a75b1120dfa360f885e8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-24 13:29:40 +00:00
Christian Stenger
016e497242 Tests: Add another docker device script
Change-Id: I5cd62cc3277fa495bbac74efd4db25f5e1fc9488
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 13:10:54 +00:00
Christian Stenger
22dd26bc76 Docker: Improve iterateWithFind
Handle critical file pattern after we got the results from find
to avoid finding to many false positives.
File patterns like "lldb-[1-9]*" end up using "lldb-?*" inside
find and will basically find anything starting with "lldb-"
which includes lots of additional lldb tools that cannot be
used as debugger at all and slows down the detection unnecessarily.

Change-Id: I0c816ae6b6e472b710ffede532c97c55a9d698fa
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 13:10:45 +00:00
Christian Kandeler
cfae24a6e5 ClangCodeModel: Enable clangd's new "dirty headers" flag, if possible
This feature will be availabe with LLVM 14,
see https://reviews.llvm.org/D95046.

Task-number: QTCREATORBUG-26810
Change-Id: I0a6797a836c56f5b72cca34be8f2d3edf8ac7359
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-24 12:46:29 +00:00
Alessandro Portale
13af635b5e Android: Use native paths format when setting an environment
ANDROID_HOME, ANDROID_SDK_ROOT and JAVA_HOME should be set as native
paths in an environment to follow common practice.

Change-Id: I073d125c93e27a02cc2b909e8c641ea61b3e9f8e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-01-24 12:40:44 +00:00
hjk
25f5771aa4 Rename QtSupport::BaseQtVersion to QtVersion
... and the Utils::QtVersion enum to Utils::QtMajorVersion to avoid
conflicts.

Change-Id: Ib688c67388272b7204a91444155f60b8c18a56bd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-24 12:13:19 +00:00
Christian Kandeler
6cec0e2033 ProjectExplorer: Allow users to override the gcc target triple
... for the clang code model. Otherwise, it won't work with GCC
compilers for architectures clang does not know about.

Fixes: QTCREATORBUG-26913
Change-Id: I90115f2f562eae9922b90c500630ccf988542ca3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 12:10:56 +00:00
Leena Miettinen
2ac3704e76 Doc: Update links to video tutorials and talks
- Remove links to videos that describe using the Qt Quick Designer
  plugin that is disabled by default since Qt Creator 6.0 or Qt Design
  Studio.
- Replace links to old video tutorials with those to newer ones
  created by Qt support.
- Add the production year as a tag to help estimate the usefullness of
  the video.
- Remove link to the discontinued Qt for Automotive video.

Fixes: QTCREATORBUG-26868
Change-Id: I27f32f8b240747abca380d79119be9ce0862d4f9
Reviewed-by: Tero Pelkonen <tero.pelkonen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2022-01-24 12:03:07 +00:00
Thomas Hartmann
533b2d3655 QmlDesigner: Remove check for QtQuick3D 5.15
The check can create false positives if multiple projects are opened.
By now not many old projects should be around anymore and therefore
we can remove this.

Change-Id: Iec46e584a5e806bb29374d92b8f1afb1e6393c86
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-24 11:44:08 +00:00
Christian Kandeler
b85e2bc17b ProjectExplorer: Do not set GCC install dir during auto-detection
The accessor has lazy evaluation built in, so no need to set the value
prematurely.
This reduces the amount of calls to the gcc binary at initial start-up
by a third, which corresponds to ~500 ms on my machine.

Change-Id: I35fb290c5f3e7572a129e4fdb1e4c8b12e766ad1
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 10:27:40 +00:00
Christian Kandeler
1ed92cf926 ProjectExplorer: Do not run Qt Creator's own clang on every start-up
Change-Id: Id3f783113f44b4296de41c22099b2086cd4a14c8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-01-24 10:02:27 +00:00
The Qt Project
fad13c26b1 Merge "Merge remote-tracking branch 'origin/6.0'" 2022-01-24 09:52:22 +00:00
Christian Kandeler
a3d7cb300d Update qbs submodule
... to HEAD of 1.21 branch.

Change-Id: I9d0b5074e2afe6ae3e00bb5431c1db1adf1a5bb4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
2022-01-24 09:47:03 +00:00
Christian Kandeler
64a4154596 ProjectExplorer: Add convenience method ToolChain::isSdkProvided()
Change-Id: I4f8bfcfbd5baef8210a41f6ccc878b0454e4697b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-24 09:45:15 +00:00
Assam Boudjelthia
9d221706f4 Android: Install both target and whole project artefacts with qmake
As a workaround for qmake projects with dependencies for shared
libraries, make sure to install both the current target and the whole
project artefacts, the latter was the default before QTCREATORBUG-25793.

Task-number: QTCREATORBUG-26550
Change-Id: I8f313652bb582b2512ebe3471933e53120baf020
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-24 09:36:07 +00:00
Eike Ziller
51d23ad64f Merge remote-tracking branch 'origin/6.0'
Change-Id: I55d228482ceda144f903fb85eef048d53602ad18
2022-01-24 10:34:10 +01:00
Alessandro Portale
da225e0784 QmlProfiler: Add quick3dmodel.cpp/.h to qbs
Change-Id: I87d70b8a1905bf348784a667ba75c18c759d4afe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-24 07:51:03 +00:00
Janne Koskinen
e37f1d3d6b Add Quick3d profiler support
Add support for quick3d profiling

Task-number: QTBUG-98146
Change-Id: Ida84537df685e8bddc536158519600d722a23d2e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-24 06:21:54 +00:00
Orgad Shaneh
0d600b0761 Git: Support HOMEDRIVE/HOMEPATH home directory
MSYS is using %HOMEDRIVE%%HOMEPATH% as home if exists, and falls back to
%USERPROFILE%. So Git settings are supposed to be in HOMEDRIVE on this
case.

Change-Id: Ia15fd30031eedd3e7669e63b265bed83b03518c8
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2022-01-22 19:40:00 +00:00
Christian Kandeler
a2c861beaa Fix qbs build
Change-Id: Ief7fde692ec7afed19eadd122f90da40e2393f00
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-01-21 16:09:50 +00:00
Jarek Kobus
89fb9e6b2b Make a copy of ConsoleProcess class
This is needed for transition period. Make a copy of
ConsoleProcess and name it TerminalProcess. Make it a private,
non-exported class. The ConsoleProcess is going to be removed
after unification of TerminalProcess and QtcProcess classes
is over.

Change-Id: Ib2d4bc8e8fd7ff714d891c57f695dd0debcb5a11
Reviewed-by: hjk <hjk@qt.io>
2022-01-21 15:13:15 +00:00
Jarek Kobus
1f0ecd600e Move TerminalCommand into a separate file
This will ease the ConsoleProcess and QtcProcess
unification.

Change-Id: Idda9ad393d184088c3e3a734389761d7176bd0c0
Reviewed-by: hjk <hjk@qt.io>
2022-01-21 15:06:28 +00:00
Jarek Kobus
74f522e0de ConsoleProcess: Make setSettings() a static member
Since it's not possible to use directly ICore::settings()
inside Utils lib, make setSettings() a static member.
This simplifies the API of other static methods.
Set the settings just once now, inside main().

Change-Id: I2bcc58d4d29b5aba4a1a21a98a9f4245b24b530f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2022-01-21 14:53:17 +00:00
hjk
b3375cfd56 CMake: Prevent crash if kit has no toolchain
Amends beb167a963.

Change-Id: I65feee771a21bdfbb2a102419a0d778af97a22eb
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-21 14:11:48 +00:00
Thomas Hartmann
f55ec2f930 StudioWelcome: Use theming for extraction dialog
Task-number: QDS-5984
Change-Id: I2e5d067e47208214c81d126ebbc78fd7e560b7a0
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-21 13:37:41 +00:00
Christian Kandeler
a04cc5b7e1 ProjectExplorer: Collect bad baremetal toolchains
Extends 16ef8b6253.

Change-Id: I51d16057b45f21f50453a1d54a8bed7915c4d053
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-21 11:50:03 +00:00
Leena Miettinen
7a5b71b9b8 Doc: Update CMakeLists.txt files used in Qt Quick tutorials
...to the ones created by version 7.0 wizard templates.

Task-number: QTCREATORBUG-26610
Change-Id: I67409b5ba4800199f209d9ad1a85c6657e9210df
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-21 09:52:41 +00:00
Alessandro Portale
c9374b4d74 Core: Fix drawing of items without images
For items without images (e.g. Marketplace items during the loading
phase), the description text is drawn as fallback.

This change fixes the layout of the fallback text. Also, The drawing of
the hover effect is fixed by drawing a solid rectancgle instead of the
"blurred" image.

Fixes: QTCREATORBUG-26916
Change-Id: Icd1151d3b9412752a482abf869a2ec9ff5c3465e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-21 08:47:00 +00:00
Alessandro Portale
ebe5879723 Core: Fix redrawing of the current area in ListItemDelegate
If the ItemView is scrolled during the hover animation (e.g. via
mouse wheel), the previously stored Item QRect is not valid,
anymore.

Change-Id: I97b81cf063479a988221142474c9f511d02414d8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-21 08:46:53 +00:00
hjk
7aa458f490 Conan: Rename RunData to ConanPluginPrivate
The *Private convention won.

Change-Id: I21e9cc335d3da05e5530feb7a9394c3c281475bd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-21 06:49:57 +00:00
Thomas Hartmann
189ff75709 QmlDesigner: Use logging category
Change-Id: I0e578650201f358adbf703bc057a02e8e902aaa2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-20 19:01:37 +00:00
Jarek Kobus
c0003c908d ConsoleProcess: Uniform the common interface of QtcProcess
This is a preliminary step before merging ConsoleProcess
into QtcProcess.

Rename command() to commandLine().
Return const references from commandLine() and from environment().

Change-Id: Iacbf48030d00f8dbba053ece70bd460924f96041
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 16:42:50 +00:00
Jarek Kobus
c4054b5d1c ConsoleProcess: Uniform the common interface of QtcProcess
This is a preliminary step before merging ConsoleProcess
into QtcProcess.

Don't return bool from start(), all callers ignored it.
Rename stop() to stopProcess().

Change-Id: I2fda1337e6f490685669fbd7ad6987a97866fdbe
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 16:42:44 +00:00
Jarek Kobus
15479285e3 ConsoleProcess: Uniform the common interface of QtcProcess
This is a preliminary step before merging ConsoleProcess
into QtcProcess.

Rename applicationPID() to processId().

Change-Id: I1f9a28e768505c08c2ca3529c2ff0432f2a62c78
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 16:42:38 +00:00
Jarek Kobus
92e450951c ConsoleProcess: Cleanup internal fields
Remove unused members. Rename one member. Init some members
with sensible default values.

Change-Id: Ia7a6e561fcbb612c90aeb7a2c4c6b041d2018a7f
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 16:26:24 +00:00
Christian Stenger
ca653a6a2c Core: Fix resetting animation timer on marketplace items
While the current animation is played other items may be painted
as well and will reset the animation what they should not.
Reset the animation hover timer only if it is the same
item we are hovering over.

Fixes: QTCREATORBUG-26908
Change-Id: I5fc55b5efb6f6b0db541604a92c7e4ddb8811336
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-20 14:24:29 +00:00
Marco Bubke
1fb54d4f2b QmlDesigner: Delete the preview factory for every project change
Change-Id: Ia49608ea327d68ec12969cc079d85895515e1f12
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-20 13:58:56 +00:00
Christian Kandeler
16ef8b6253 ProjectExplorer: Collect and remember non-functional toolchains
It's not unusual for the toolchain auto-detection procedure to encounter
binaries that turn out not to be valid toolchains only after running
them, either because they are genuinely broken or because their names
match a compiler name pattern, but they are not actually compilers.
Until now, we would re-run such executables on every start of Qt
Creator, potentially delaying start-up unnecessarily.
Now we store them in the settings and do not try to run them again.
For now, the collection of bad toolchains is done for GCC only. Follow-
up patches will add support for more toolchain types.

Change-Id: Icfa28de523737bdd88af3a2bfa8b947326c1bc70
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 13:58:53 +00:00
Marco Bubke
2dead05a03 QmlDesigner: Set target to nullptr if project is removed
Change-Id: I7ef9450588523f2a1900113f216612949b4e506e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-20 13:58:40 +00:00
Marco Bubke
5c98d40901 QmlDesigner: Improve ownership for ViewManager additionalViews
Change-Id: I0fc72336ea612324ae900cbffae10721ab3863c8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-20 13:04:27 +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
Jarek Kobus
3c3580c770 ConsoleProcess: Move private static methods to cpp file
Change-Id: I0d79d615853e042b8baaba1ea91ad4a3ca15fb0c
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 12:17:14 +00:00
Jarek Kobus
28fd0abbbe ConsoleProcess: Uniform the common interface of QtcProcess
This is a preliminary step before merging ConsoleProcess
into QtcProcess.

Remove unused detachStub().
Move killProcess() and killStub() to private section.
They are not used outside.

Change-Id: I45f55027fa537cc800cd1776478390725f7236c4
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 12:02:29 +00:00
Marco Bubke
7457d3d8b6 ClangSupport: Break artificial dependency to Sqlite
Since the Sqlite library is not used anymore in clang there was only an
dependency to the Utf8String in ClangSupport. As we move Utf8String and
Utf8StringVector to ClangSupport we can break the dependency to Sqlite.

Change-Id: I0012906345bc49a48a7262c1d6e204fb8aff01e1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-20 11:33:21 +00:00