Commit Graph

72385 Commits

Author SHA1 Message Date
David Schulz
22f4e9497d CMake: Fix build dir scan filter
Fixes: QTCREATORBUG-26846
Change-Id: I54f0249410cf0dd5cc6703767cea187a2d843868
Reviewed-by: hjk <hjk@qt.io>
2022-01-17 12:25:52 +00:00
The Qt Project
6ece15f587 Merge "Merge remote-tracking branch 'origin/6.0'" 2022-01-17 12:19:29 +00:00
Christian Stenger
9be03a826d PE: Fix compile
Amends c1c147a9dc.

Change-Id: I2f4e6e724f3226541c5de683d0ac6403538622be
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-17 11:36:28 +00:00
Cristian Adam
5effbc836f CMakePM: Do not sort kit CMake parameters
As a user when I add CMake parameters in the Kit's CMake section
I expect the order of parameters not to change.

If I add something at the end, I expect to find the value at
the end.

Change-Id: I4f0e2d9b845dddb7c9d6b012945ab61b0135267c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-17 11:29:16 +00:00
David Schulz
fa53849b4a Editor: prevent using function hint widget while it is deleted
Task-number: QTCREATORBUG-26872
Change-Id: I634b488073670476ee3d5b53296e77b6779e5715
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2022-01-17 10:45:17 +00:00
Jarek Kobus
e1f45507c5 LanguageClient: fix possible crash on shutdown
Iterate on a copy of managerInstance->m_clients
when calling shutdownClient() or deleteClient(),
since both methods may potentially modify m_clients
list and thus invalidate outer iterators.

Surprisingly, this patch also fixes the leak
of RunControl and RunWorker instances on shutdown.

Task-number: QTCREATORBUG-25709
Fixes: QTCREATORBUG-26847
Change-Id: Ib34d913a6ae0b235631d3d619bddaf4e08b4aec2
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-17 10:31:59 +00:00
Thomas Hartmann
f9c21253c0 QmlDesigner: Use wildcard for all files and split image formats
Having a large filter makes the dialog unresponsive, so all files
filter is changed to *.* and image formats are split according to
mime type.
For unsuported suffixes we show an error message.

Task-number: QDS-5921
Change-Id: Ia2dc912c7e7004da97da48753562173ed163436f
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-17 10:28:14 +00:00
David Schulz
c926db336b LanguageClient: always delay document highlight request
The request for highlights of the symbol under the cursor takes a
considerable amount of time on some servers (at least python). Postpone
those requests a bit so that more important requests can be handled
before.

Change-Id: I35776076a4ee9c0c9b7646e960d3d965506154d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-17 10:23:03 +00:00
Eike Ziller
491e5c4176 Merge remote-tracking branch 'origin/6.0'
Change-Id: Ic1790446cb453e3d8a24467a31e3c8df33bc68bb
2022-01-17 11:22:11 +01:00
Eike Ziller
33f2074272 Bump requirement to Qt 5.15.2
Qt 5.15.2 includes API that makes transitioning to Qt 6 easier.
We currently have workarounds for Qt 5.14 in place that we can
remove when requiring 5.15.2, and we also can stop adding workarounds
for new code.

Change-Id: I920fdccc41d755a6ad39cb5161cd916999fee755
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-17 10:20:32 +00:00
Christian Stenger
358146a322 Scripts: Make uichanges script work with Python 3
Change-Id: Ieb5abc4845098b62afa37a3e0e0fdf88326da2ab
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-17 10:15:45 +00:00
Christian Stenger
64b6aca212 Core: improve logger performance
Messages can be rather huge. Limit the length to avoid costly
background painting of what is not visible at all.
Full message can still be seen in tool tips or when copying
or saving the logs.

Also postpone scrolling to bottom of the view since it triggers
layouting the text.

Change-Id: I13bf136a32f0f51f636c89cea85a5be23cd4fe9a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-17 10:15:32 +00:00
Jarek Kobus
479c393009 Fix closing remote linux applications
When the remote application was run in terminal it
was still marked as running in application output pane
after it has finished (the red square button was enabled).
This patch fixes it.

Stop the terminate timeout when stop was executed by user
(application output -> Stop running program) after
successful termination (so that instead of:
"Timeout waiting for remote process to finish."
we see now: "The process was ended forcefully.").

Fixes: QTCREATORBUG-26848
Change-Id: I2dfeccc60fb12388cb9dcfd56bd2aa2c5383209b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-17 10:06:24 +00:00
Samuel Ghinet
c1c147a9dc QDS-5691 Create a tab for Recent choices
The Recents should store presets, rather than normal project items,
while the rest of tabs are to store normal project (i.e. wizard) items
but with the default screen size written under the wizard name.

In this patch I also did a few renames: e.g. the Presets view now uses a
PresetModel rather than ProjectModel, because we now store presets. A
Preset is a higher level concept than Project / Wizard item: it can be a
project/wizard item with pre-defined configurations; and now we can have
multiple presets using the same Wizard factory. Renamed struct
ProjectCategory to WizardCategory, because the items are grouped by the
category of the wizard (i.e. the "category" property of IWizardFactory)

I extracted a class, PresetData, to hold the data that is being shared
by the PresetModel (items in the view) and the PresetCategoryModel
(header/tab items). It stored both information on normal presets and on
recent presets.

Made changes to JsonWizardFactory so that I could extract the list of
screen sizes without requiring to build a wizard object first. This is
important, because multiple JsonWizard objects cannot be created at the
same time and I need to show the screen sizes of multiple presets /
wizards as the Presets view is opened. This also required class
WizardFactories to use JsonWizardFactory instead of Core::IWizardFactory
-- since "screen sizes" are a particularity of the json wizards, not of
all kinds of wizards.

Also, fixed a TODO in WizardHandler::reset() method.

Also, added a few utilities I had need of, in algorithm.h.

Change-Id: Ifd986e2def19b2e112f0aa1ab3db63d522736321
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-17 08:59:09 +00:00
Christian Stenger
5eafa345ed Core: Add LoggingView support
Add a way to inspect QC internal loggings. This is basically
useful for inspecting issues while running QC and facing them
without the need to restart and set appropriate logging rules.

Change-Id: Ic647ba1abfb2611c4e4e99a375413d399c71886d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-01-17 06:08:58 +00:00
Alessandro Portale
9c7b1d39d3 Android: Fix compatibility check in AndroidDevice::canSupportAbis
A typo prevented to check whether a non-armeabi device supports running
armeabi applications.

Change-Id: Ibfdf76f69c1bdf5f4dc1ba73147328a8f7f6ae3f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-01-15 12:08:18 +00:00
Thomas Hartmann
fc605c8c6f StudioWelcome: Slight adjustements to Splash Screen
Anchoring the text to the checkbox and use
configure instead of enable/disable, because there already is
the checkbox.

Change-Id: Ied6f231cec54d1fbf924b34bf0a8850cefc8bffb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Jarko Vihriala <jarko.vihriala@qt.io>
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
2022-01-14 14:23:04 +00:00
David Schulz
9fea2af1e9 LanguageClient: keep semantic tokens after receiving error
A usual error we receive for semantic request is that the request got
canceled. This can be due to external changes. But a server might still
be able to calculate a diff against a previous token set. So just keep
the previously reported tokens and rerequest a new highlight. If the
server is not able to calculate a diff it also might send a full
token set as a result for the delta request according to the protocol.

Fixes: QTCREATORBUG-26624
Change-Id: Ia91e599706519dbbf4cd22050484e4f36cecdab8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-14 13:57:08 +00:00
David Schulz
b01be64963 Editor: fix crash in function hint widget
Fixes: QTCREATORBUG-26872
Change-Id: I0c79af2a74af96bfba350b62b5072b874e6efcd2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-14 13:56:40 +00:00
David Schulz
dc4b9e48dc Clangd: clean up text marks after deleting client
This is a blindshot and more a workaround than a fix.
Assert and try to cleanup dangling text marks after a client got
deleted. In theory those marks should get deleted by the
DiagnosticManager but somehow, they are still alive and happy after the
client was deleted.

Task-number: QTCREATORBUG-26585
Change-Id: I9d5d708db3fbbe30a09d322400d97184fe40a518
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-01-14 13:19:35 +00:00
hjk
1abe76549e Debugger: Add support for two more floating point display formats
1. The `std::hexfloat` representation produced by `std::sstream`.
2. Breaking the number into a normalized value and a integral power of 2,
   as does the `std::frexp()` function.

M_PI looks like "0x1.921fb54442d18p+1" and "0.785398163397 * 2^2"
respectively.

Fixes: QTCREATORBUG-26793
Change-Id: Ib08ea9408f79201434eb75ec328b94ab933259a4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-14 12:45:42 +00:00
Alessandro Portale
03d4fdc602 ProjectExplorer: Remove Icon from main panel
Only a few panels come with an icon, and then the icon is unthemed and
only for standard dpi (original design file is unavailable).

The gained space benefits the vertical output pane on the right.

Fixes: QTCREATORBUG-21917
Change-Id: Ie717ee7a08cbd21292a8e051c41406df58cad6d6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-14 12:44:29 +00:00
Thomas Hartmann
17deadf5c3 StudioWelcome: Show combobox for crash reporter
This highlights to the user if the crash reporter is enabled.
The patch also includes some adjustments for the design.

Change-Id: I1a0be0d2b98df937dbeeb6bf8063f1aaa78793f5
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-01-14 12:29:48 +00:00
Alessandro Portale
196aee97b1 Welcome: Unify design with Qt Design Studio
This applies the design of the new Welcome Screen for the Qt Design
Studio to the Welcome Screen of Qt Creator.

Change-Id: Id63283da1db43ac1036d371694cc2ea4a6de8d8c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-14 12:12:21 +00:00
The Qt Project
03e4548d24 Merge "Merge remote-tracking branch 'origin/6.0'" 2022-01-14 11:47:06 +00:00
Miikka Heikkinen
97a6d37ef3 QmlDesigner: Support moving 3D edit camera with arrow keys
3D edit camera can now be moved up/down/left/right with arrow keys.

Task-number: QDS-5790
Change-Id: I3b4a095b96bdaa9d00bf6b29b750af1f783b485e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-01-14 09:40:16 +00:00
Eike Ziller
7a94cca007 Merge remote-tracking branch 'origin/6.0'
Change-Id: Ia208fc746333e3d36868c580aa7794da9627c3e0
2022-01-14 10:24:10 +01:00
Christian Stenger
b75cd872f5 Tests: Adapt to qmljs updates
Amends 125d7c0cce.

Change-Id: I4f31af6dbb4e99d612444c4861199afdcdf7240b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-01-14 08:24:12 +00:00
Mats Honkamaa
cbcdf4c2f2 Doc: Update create project docs
Update docs to include new project wizard.

Task-number: QDS-5939
Change-Id: Ic152f5d558c81ae8c5ce536ef26e8c9461a81c34
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tanja Remes <tanja.remes@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-01-14 08:05:57 +00:00
Leena Miettinen
fd6380f935 Doc: Describe deploying apps to embedded Linux devices
- Describe deployment process in the instructions for generic
  remote Linux devices and link to there from the instructions
  for specific devices.
- Update instructions for adding files when using CMake and remove
  the include file.
- Add an example of adding files to deploy when using qmake.

Fixes: QTCREATORBUG-26616
Change-Id: I07cf9169da384dd65adc6935110e4dcbeb3e308b
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2022-01-14 07:31:34 +00:00
Jarek Kobus
7c91900cfb LinuxDevice: Run test echo command after successful start
After we have started the shell it can happen that
it will finish silently soon due to e.g. ssh server not running.
Before we try to execute any command in the shell we
schedule a test echo command just after successful start
in order to confirm that the shell is running fine.
If waiting for ready read returned false (i.e. the shell
process finished) or if we don't receive the expected
newline character we report a start failure.

Fixes: QTCREATORBUG-26861
Change-Id: I7387b3a366f8e6f4a58745582bb803f5060cfc36
Reviewed-by: hjk <hjk@qt.io>
2022-01-13 14:08:59 +00:00
Jarek Kobus
e7d125ffec ProcessLauncher: stop awaiting for ready read when finished
In case the user called waitForReadyRead() and we have
received the finished signal instead (without receiving
readyRead signals in meantime), we should interrupt
the wait and return false, since there is no point to
wait for future readyRead signals from not running process.

Change-Id: Ib4a770aea6ed562a5bef197eaa51b20c146842f0
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-13 14:08:55 +00:00
hjk
0f3e4531c5 Debugger: Add separate display to QStringView dumper
And don't show the plain members anymore, unless explicitly asked.

Change-Id: I9854276c380d417fb9a98ae9c0dbae9356d42086
Done-with: Thiago Macieira
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-13 14:05:56 +00:00
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
Mats Honkamaa
009c91aeec Doc: Add snow and rain particle tutorial
Added a tutorial for creating a snow and a rain effect using the particle
system.

Task-number: QDS-5376
Change-Id: I498adbf78c522f7ca8faee7bba1050f970f96eef
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-13 13:24:57 +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
Cristian Adam
45e078541e Doc: Update Clang version / URL in README.md
Change-Id: Ic0e1865cf6761436a12d8f36d1af80e462118c2f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-13 11:07:49 +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
Christian Stenger
1463c5d09f Wizards: Allow QtQuick tests for Qt6 as well
Change-Id: I476ad3519ed685ada4f1451906b5ba2fdfe8969b
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-01-13 10:06:59 +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
Eike Ziller
816f86635a Add change log for 6.0.2
Change-Id: I02cc0f6d18d6743478703f8859b4a63fd8dc85dd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-01-13 09:13:34 +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