Commit Graph

72473 Commits

Author SHA1 Message Date
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
Alessandro Portale
f8385f98c1 Debugger: Improve layout in DebuggerLanguageAspect
Reduce the space between checkbox and info text label.

Change-Id: I1654752124544184628eefe7fb5303613beff94e
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 11:31:08 +00:00
Jarek Kobus
2285018c6c ConsoleProcess: Uniform the common interface of QtcProcess
This is a preliminary step before merging ConsoleProcess
into QtcProcess.

Remove unused stubStarted() and stupStopped() signals.

Change-Id: I3b508fa9fb0ff243355f91fd79bc40f8db1c9a82
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 11:04:32 +00:00
Jarek Kobus
2e3d32cc1b PythonEditor: Fix a leak of console process on shutdown
Give a parent for console process in order to delete it
on shutdown. In case the console process was started
and the user closed the Creator we were leaking
console process instance together with its process.

Connect to ConsoleProcess::finished() instead of stubStopped().
There is no point to keep the console open when the process
finished (it forces the user to manually close the stub
window by pressing enter).

Change-Id: I3f14e940f39b32e11bde276e80f3cb630b13d8f7
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 11:04:26 +00:00
Jarek Kobus
c819c90368 SshDeviceProcess: don't connect to stubStopped, it's no-op
After 479c393009 the connection
to ConsoleProcess::stubStopped() became no-op, since
when finished() signal is emitted we are disconnecting
from console process signals inside setState(). In case
when the socket of console process got disconnected while
the process was still running, we are emitting finished()
signal prior to stubStopped() (when m_appPid != 0 or
m_hInferior != nullptr, otherwise it had to be emitted earlier),
so the stubStopped is also no-op in this case.

Amends 479c393009

Change-Id: I75189b9476281413c8a206de78b9008f9ee08a25
Reviewed-by: hjk <hjk@qt.io>
2022-01-20 10:53:55 +00:00
Christian Kandeler
ead181e385 ClangFormat: Move tests into plugin
That's where they belong

Change-Id: I78e33e76a2f42f05961f6fab31da5f3dd583a2e9
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-20 10:27:13 +00:00
Tuomo Pelkonen
bdba99c61b Multilanguage: Add multilanguageSupport option to qmlproject
Change-Id: I1fc1861e17dc62cec91f5fa27f7e01360a42de78
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-20 09:41:36 +00:00
Samuel Ghinet
d023dfca1e Fix creating a project from a Recent preset with custom size
When creating a project from a Recent preset, everything worked well if
the user selected a predefined size. However, when typing a custom width
and custom height, the recent was saved with the selected/active item in
the screen size combobox.

This patch does the following to fix the issue:
* Save the recent info with the screen size written in the text fields
  (since they're updated when the user selects a different size from
  combobox but the user can type in any other value, the text fields
  always reflect the user's choice of width and height)
* When loading a preset for display in the UI, if the preset was saved
  with a custom size that does not exist in the predefined list (i.e. in
  the combobox), whether that is a custom size or a different
  orientation of a predefined size, then append an item into the screen
  size combobox so that this custom size will appear as one of the
  predefined sizes for the preset. This is both for visual reasons (so
  that the combobox would have a valid item active on display) and in
  order to be able to save in the backend model this choice (when the
  user decides to create the project)
* Update the ListField::selectRow function so that it does not attempt
  to select an item that does not exist. The reason is that, when the
  user clicks "Create" to create the project, the QWizard will be reset
  to the first page, and any modification we might have made to the
  model of the screen size combobox will be gone - and thus the
  selection would be invalid, which would normally cause the wizard to
  fail on page->isComplete(). By not allowing it to select an item in
  this case, we rely on the custom width and custom height fields to
  hold the real values.

Task-number: QDS-5691
Change-Id: I9e848c5f4957252eb414da7e7146f9f8e7be760c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-20 08:56:08 +00:00
Jarek Kobus
70b2b2a1d5 ConsoleProcess: Uniform the common interface of QtcProcess
This is a preliminary step before merging ConsoleProcess
into QtcProcess.

Remove processError() signal, use errorOccurred() instead.

Change-Id: If11064944228c82a9099fffdba942c4276690085
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-20 07:51:04 +00:00
hjk
e695109078 ProjectExplorer: Make ToolchainManager::toolchains() overloads explicit
Saves a few cycles for the plain access.

Also sprinkle a few 'const'.

Change-Id: I238dfd9352ee39caa3aa48cd04a9f1cf827b029e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-20 06:13:09 +00:00
hjk
1720256e59 ProjectExplorer: ToolchainManager code cosmetics
Unused declaration, foreach, ...

Change-Id: Iaf781e6e6f51f399ec40b6435051e19f85d11888
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-20 06:12:31 +00:00
Cristian Adam
e9f3f8cc64 CMake: Use newer FindPython3 module for CMake version greater than 3.12
FindPythonInterp and FindPythonLibs are deprecated since CMake 3.12.

Fixes: QTCREATORBUG-26727
Change-Id: I53400d49ef6888bbeabb063a873c494b11d27e15
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-19 18:25:18 +00:00
Christian Kandeler
657cef6109 Fix qbs build
Amends 704f239b55.

Change-Id: I18a0c52850340a8ed73fe236b6304102f631e370
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-19 14:35:20 +00:00