Commit Graph

62421 Commits

Author SHA1 Message Date
Allan Sandfeld Jensen
1421694d17 Avoid starting threads from the wrong hosting thread
This should be safe for QThreadPool, but we are still fixing an
underlying bug, QTBUG-99775, and Qt Creator may just want to avoid
the issue altogether.

Change-Id: I50041cc6f5974d234b1a07be5cb19108fba897c7
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-13 13:44:34 +00:00
Christian Stenger
5ffad15367 CPaster: Do not fail to paste after connection check
dpaste allows one request per second, but we perform a connection
check before sending the paste request.
This happens too fast and lets the paste fail for the first time.
Skip the configuration check as the user gets an error message
if it fails.

Fixes: QTCREATORBUG-26717
Change-Id: I5661055c0d3ed0894db170c0570a7501af34214e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-13 11:45:30 +00:00
Thomas Hartmann
0b00c15d36 QmlDesigner: Fix crash
Change-Id: I79b9b9ce0ec94027c28d09f49ffe3ebd998f60df
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-13 11:15:05 +00:00
Thomas Hartmann
92c42ef9ff QmlDesigner: Fix content folder location when adding assets
Task-number: QDS-5953
Change-Id: Iaa566d2ad9d528f27288c54c1cf0ff97a850dec6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-01-13 11:14:40 +00:00
Christian Kandeler
37e9a23bf0 RemoteLinux: Fix qmake build
Amends 20d19aa5bf.

Change-Id: I0e5f6bec596a4a78bd3bfffd16c9a304af582165
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-01-13 10:35:56 +00:00
Jarek Kobus
12036863c5 Use qint64 instead of quint64 for bytesAvailable
Amends 79ce29b5a1

Change-Id: I922358f793fc40858495ecf5d3e62e75b1f44717
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-13 09:31:24 +00:00
Christian Kandeler
b88e9ba9b5 ProjectExplorer: Consider MSVC 2022 as base for clang-cl
Amends 08b6e0239f.

Fixes: QTCREATORBUG-26721
Change-Id: I04d65a39c6d7001081d748ca5f15361e30e2fc50
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-13 09:21:46 +00:00
Christian Stenger
5e4ebde703 Sqlite: Fix compile with old Xcode
Change-Id: Idef9562282da784a152af5eddaeea7968c8d2c8c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-13 08:54:02 +00:00
Thomas Hartmann
4f96957b91 StudioWelcome: Show the splash screen at least once if the version changes
The version of the last QDS instance launched is stored in
QML/Designer/lastQDSVersion.
Whenever the version does change we show the splash screen.

Change-Id: Idf94e73446f0498203d979b45378d85e70bd4106
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-13 08:07:21 +00:00
Thomas Hartmann
1c8baecaf2 StudioWelcome: Add support for version and resolution in description
Change-Id: I6e404907b96b7f7988da8622e37217a756a1ca9f
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-13 08:07:06 +00:00
Christiaan Janssen
b3a77eca26 McuSupport: IAR compiler registration
Autodetection of IAR compiler relies on Windows Registry.
On Linux, without registry we can't autodetect it.
This fallback accepts the user-entered compiler path.
The McuSupport plugin already implements a basic check
that the expected compiler binary is in the given path.

Task-number: QTCREATORBUG-26753
Change-Id: I43ce68f4bc075e60a2f4cd0d906f8389dc0fdfd7
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-13 07:41:04 +00:00
Jarek Kobus
37718e3874 Refactor SshConnectionManager internals
It makes it easier to manage just one hash of connections
instead of 3 lists.

Change-Id: Id6a3661d8dfdb0bd269e35ece36410bd2477e5c6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-12 21:03:31 +00:00
Marco Bubke
146225b94b QmlDesigner: Don't call an empty abort callback
Change-Id: I753aaa1ad693bb9ea5b34f1b50af40e2ef616c30
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-12 16:27:20 +00:00
Marco Bubke
68ac61193c QmlDesigner: Refresh preview image every hour
It is to assumed that the preview image will be changed and we don't need
to collect the time stamps of the files.

Task-number: QDS-5924
Change-Id: Icf5540d7bcc9da17a1497641f6189f35eb47f5d2
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-12 16:27:08 +00:00
Marco Bubke
7ce13691ff QmlDesigner: Remove generator from AsynchronousImageFactory
The generator was introduced to decouple the generation thread from the
fetch thread. But for the factory you only generate the image so you
can use the factory thread for the collector.

Change-Id: If569defba0c52dd85b19451a78f0daf5043b4d01
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-12 16:26:43 +00:00
Marco Bubke
3d0d9e8e0c QmlDesigner: Don't save null image for preview collector
Change-Id: I01ad1c12c25a734107b359461508c037a2f23bb2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-12 16:26:31 +00:00
Thomas Hartmann
0c00f58e8b Register TitilliumWeb-Regular
Change-Id: I0014bb5e315311c84c2fc301e1c3dba67fc64a22
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
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-12 16:12:07 +00:00
Christian Stenger
b9fd629731 QmlDesigner: Fix compile with Qt5
Amends 72c3d675a0.

Change-Id: I12b93fc36ba7702f75171409136dc7bfb94c5def
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tapani Mattila <tapani.mattila@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-12 14:52:43 +00:00
Christian Kandeler
0326bbdc81 CPlusPlus: Do not needlessly allocate space for a vector
It's not a rare ocurrence that the vector will stay empty, so let's not
reserve memory unconditionally.

Task-number: QTCREATORBUG-26841
Change-Id: I842620cfa1fd0571691829401e4ccc162ab61d7b
Reviewed-by: hjk <hjk@qt.io>
2022-01-12 13:40:24 +00:00
Eike Ziller
9056d708fa Merge remote-tracking branch 'origin/6.0'
Change-Id: I642abb110bb120e20af11a5d55244c03e6c48caa
2022-01-12 13:59:10 +01:00
Tuomo Pelkonen
93d48d07c7 Multilanguage: Add utility to get language names consistently
There are multiple places that language codes are converted
to language names each doing it a different way. To make
this consistent, we need to have a single implementation
for it.

Change-Id: I2aeaf5b7c9203e8a41a61420f4c98e1fce491db5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-12 11:57:30 +00:00
Eike Ziller
9091761996 Fix issues with Meson tests
- set temporary directory for launcher
- check for finding meson tool instead of crashing
- use GUILESS_MAIN since it doesn't use gui

Change-Id: I3f8de658d9ccbec3efb260cf2d58e27720e78d47
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-12 11:47:02 +00:00
Tapani Mattila
637d1c167b CMake generator: Use qt_add_executable instead of add_executable
Task-number: QDS-5267
Change-Id: I83d82089f1f10ec0a30e7f2c2ed776c31fdcd8b5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-12 10:32:13 +00:00
Tapani Mattila
85dab69262 CMake generator: Integrate warnings in confirmation dialog
Task-number: QDS-5856
Change-Id: If95515ee0921598623a024fd7bd8fe8ef3482aa9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-12 10:32:00 +00:00
Tapani Mattila
72c3d675a0 CMake generator: Make file picker a treeview
Task-number: QDS-5836
Change-Id: Ib261ac8750baae7ce55d9c990b5dadb26fc6ac03
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-12 10:31:45 +00:00
Thomas Hartmann
b9798f35e6 StudioWelcome: Do not show errors/warnings of welcome page
Change-Id: Id089f86f5bec4d5af3eef0e0200f6e8f2a586303
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-12 09:54:00 +00:00
hjk
d4b2f18c5e Docker: Split tryCreateLocalFileAccess() function
... into a parts updating the container access (i.e. shell process)
and the potential local file system access on Linux.

Change-Id: I0d3e7d9e859f15f9e22182fbe7ae1188b0c9ff57
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-12 06:51:54 +00:00
hjk
3342d4477c Docker: Switch Linux file handling to docker --exec by default
Also on Linux, where there's actually a choice.

It's slower, but less fragile when it comes to user ids
and/or file system permissions.

Change-Id: I811612fcff65fad50be18bed21150f6ca7fae93c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-11 15:00:08 +00:00
Jarek Kobus
79ce29b5a1 Simplify RemoteLinuxCheckForFreeDiskSpaceService
Use FilePath::bytesAvailable() on remote device instead.

Change-Id: I2431641ea2f4c090439e0380a378e39aa617540a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-11 10:15:36 +00:00
David Schulz
28e0a957c5 Editor: avoid duplicated line endings inbetween multiple cursors
Change-Id: Ia1721837efef47d570faa4e393b6b0b372944735
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-11 09:16:24 +00:00
Jarek Kobus
eabfc443a7 Use Reader mode for clangbackend
It doesn't look as there would be any write to this process
from Creator side.

Change-Id: I2c16a8ba28d8724d434d3c0f95c7b52616121b4b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-11 08:07:31 +00:00
Eike Ziller
b028af43ef ToolTip: Guard against nullptr access
screenAt(pos) can be nullptr if pos is outside the current screen
configuration. Seems to be possible when screen configurations change.

Fixes: QTCREATORBUG-26019
Change-Id: I5def200b14247e7fbcf62ad68cda991e8c10c9d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-10 15:18:10 +00:00
Jarek Kobus
403ed474e2 Fix ClientServerOutsideProcessSlowTest
Currently the RestartProcessAfterAliveTimeout test is creating
two instances of echoserver, which is not desired. This
patch fixes it by creating just one instance.

Disconnect from disconnected signal before disconnecting
from server in order to not to receive additional
request for restart.

Amends 4007828820

Change-Id: Iaf4994a9373b39bf0b065484e61627704a37672f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-10 15:12:01 +00:00
Jarek Kobus
71626a7d16 Make DeviceManager::deviceForPath() thread safe
This method is used from multiple thread inside
most of methods in DeviceFileHooks.

Change-Id: I152fa983c48cb72f8ed2f99da0e7f73b1b8b9a5e
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-10 14:35:45 +00:00
Jarek Kobus
e2f7a2a898 Provide a default implementation for doDeviceSetup / stopDeviceSetup
Change-Id: I9f4e15f98039315ddcdd4f40fb6d0802b94da87a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
2022-01-10 14:35:11 +00:00
Eike Ziller
6a5fccd676 CMake: Show more variables in config widget
By reducing the height of the editors for the items. At least shows 10
instead of 9 items in the same space on macOS now, and looks less
wasteful.

Change-Id: I422a772cad52a2fcc8223d188b32d8d8adf9bf95
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-10 14:26:40 +00:00
Eike Ziller
6893721471 ActionManager: Update proxy action more directly
The proxy action was updating from the actual action delayed by a
QueuedConnection. This was introduced in
c3772bfd4c to avoid disconnecting and
reconnecting to QAction::changed while handling that same
QAction::changed.

This introduces a delay between the actual action's change and when it
is reflected in the proxy action.

ProxyAction::update only needs to disconnect signals that would trigger
because of the changes done to the ProxyAction. So it doesn't need to
disconnect/connect from the actual Action's changed signal. Only
disconnect/connect the signals that we really need, and get rid of the
QueuedConnection again.

Fixes: QTCREATORBUG-26363
Change-Id: I2b851af35fcb4a3931b645896dd77477cee79812
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-01-10 12:58:31 +00:00
Eike Ziller
695f254fac Fix filtering in target setup page
- fix "continue" button state (was always disabled after filtering)
- do not loose focus on every key press in filter input

Fixes: QTCREATORBUG-26779
Change-Id: I16960e65b32b5ddfa0e4e5b1acd160492b1c995d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-10 11:18:10 +00:00
Eike Ziller
80e0cb56ec Fix build with macOS deployment target < 10.14
As is used for the Qt 5 based prebuilt binaries.
std::optional is only fully supported out of the box since
10.14.

Change-Id: Ide8bd9ac8b66b05e1bb6e9b350edf3e7ffdaf97e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-10 10:28:11 +00:00
Christian Stenger
e182c3de49 QmlDesigner: Fix qbs build
Change-Id: I714a096d2db88f875e9adbfea8ca8b9535bfcb6e
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-10 09:00:54 +00:00
Eike Ziller
501b6eff9c Merge remote-tracking branch 'origin/6.0'
Change-Id: Id84183d2ba73dbe98700af43074cc2d05b26f06d
2022-01-10 09:47:11 +01:00
Thomas Hartmann
cc56a48bbb StudioWelcome: Support for description and tags
Change-Id: I329cc135452a5048e4a0ef756c041a50a5f75119
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-07 21:48:16 +00:00
Eike Ziller
b068cede11 Fix processlauncher for tests
The socket/name for QLocalServer must be a path that is short enough for
unix sockets (<= 104 chars).

QLocalServer already ensures that the "name" is an absolute path, by
prepending QDir::tempPath() if it isn't. For Qt Creator that worked, but
the temporary directory set up for the unittests resulted in a too long
combined path.

Also, we should avoid directly using QDir::tempPath() and use
Utils::TemporaryDirectory to keep all our temporary files at one place.

So, make the "name" explicitly an absolute path in our specific
temporary directory, and make the name shorter for the test.

See 6feed6e656 for a similar issue.

Change-Id: I07dc4233db1c9d353cd6977da43850256057ba55
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-01-07 13:35:11 +00:00
Thomas Hartmann
4e80d94c37 StudioPlugin: Enable loading of new WelcomePage from share
Change-Id: If7f16909569d555fd814b35e099b4b22c771df7d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-01-07 12:47:42 +00:00
Cristian Adam
dfacdbefa8 CMakePM: Add ability to stop CMake run in Settings
Previously the only way to stop the CMake run was to click on "x"
button of the "Configure" progress bar.

Now you can click in Settings on "Stop CMake".

Change-Id: I167b86ba62679f197c194148b122ff0c87e87162
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-07 11:13:54 +00:00
Thomas Hartmann
d985c538ba StudioWelcome: Use preview thumbnail
Change-Id: Ifd7ebc6f83ceecf7241379e4ce44d022b4a7310e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-07 10:39:58 +00:00
Marco Bubke
3cf01fbf07 QmlDesigner: AsynchronousImageFactory generates if the image is null
If the image is update but null we still generate a new image. This
is a ugly workaround for the flaky generation process. Hopefully
we can fix it after all hidden dependencies are removed.

Change-Id: I0e344002a1952fb849393d3e245e31612c69d7bd
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-06 22:09:39 +00:00
Thomas Hartmann
d987d305ef Theming: Extend theme with color roles for WelcomePage
Change-Id: I1eb8b6231a15cdc427d6d2a08d657bd697379229
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-06 22:08:00 +00:00
Alessandro Portale
60d7056d6c Docs: Add a python script to recolor UI icons to grey on transparent
There are black-on-white and black-on-transparent icon images in the
documentation. With the new dark theme for the online documentation, the
former variant looks odd, and the latter one is not visible.

The docs team chose to use switch to grey-on-transparent icons, so that
they have enough visible contrast against bright and dark backgrounds.

This change adds a python based tool that converts the existing icons to
grey-on-transparent via ImageMagick, and then optimizes the pngs via
optipng.

Task-number: QTCREATORBUG-26644
Change-Id: Ib14c5a68235b6b906600dcaa1c5094c9cc6ab9b7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-01-06 19:01:21 +00:00
hjk
dc585d37b9 QmlDesigner: Fix compilation
Amends 13789ce2f9.

Drop superfluous toStdString() conversions when operating on
QByteArrays.

Change-Id: I90d9a3617036063dc1276a130dd4a5056e12eb28
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-06 16:07:49 +00:00