Commit Graph

67787 Commits

Author SHA1 Message Date
Christian Stenger
41982acec3 ClangFormat: Fix missing return value warning
Amends f7d8f8b704.

Change-Id: I3e509769a8ef206f295b3b5d8db4448375e62cbb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-07 10:08:50 +00:00
Eike Ziller
b82d51ad69 cmake build: Make it easier to build against system litehtml
By first checking for it in the system, then if the internal copy
is checked out.

Fixes: QTCREATORBUG-25144
Change-Id: I839591cc8e311948a21685384de574e7330a6ee5
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-07 09:45:18 +00:00
Orgad Shaneh
bb070d861b Debugger: Minor cleanup
Change-Id: Idfef663ec6701f7ed8904bd5c3dbfa87e0baaf8b
Reviewed-by: hjk <hjk@qt.io>
2021-01-07 09:14:54 +00:00
Christian Stenger
a59e04b848 AutoTest: Provide basic ctest integration
This allows to have ctest based tests listed inside the test
integration and to run them.

Task-number: QTCREATORBUG-23332
Change-Id: I1cb855697d7bb4afcd7c887506abdea16c252cb0
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-07 08:25:03 +00:00
Christian Stenger
f70e7e6c99 CppTools: Fix compile with Qt5.14 on Linux / macOS
Amends 1a09f816a3.

Change-Id: I76d7eb184504082ad5916bf3b54549e5b2872aef
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-07 06:19:23 +00:00
David Schulz
be3677c02e ClangTools: Avoid assert when no tool executable is configured
The assert is in ClangToolRunner::run.

Change-Id: I195db04631548e6b7ae9d5360827933889433b9d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-07 05:31:55 +00:00
Bernhard Beschow
43706c0b65 AutoTest: Turn global variable into attribute
Change-Id: Id45bafa61f03e8225d5f4224611e2f6db84a16b1
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-06 22:44:19 +00:00
Cristian Adam
d3595110f1 CMakeProjectManager: Fix importing Qt6 projects
The code that detected the qmake path for the project stopped
working with Qt 6.0.

The new code will run a small CMake project that will output
the path of qmake from the CMake world, and not something that
Qt Creator does from outside.

Fixes: QTCREATORBUG-25100
Change-Id: I9071648c2e60eb89d0dc8f08aed793167b42a365
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-06 17:10:13 +00:00
Tim Jenssen
e809f665e4 qmljs: add ImportsBenchmarker
To see the results use
QT_LOGGING_RULES=qtc.qmljs.imports.benchmark.*=true

Change-Id: I07fe7b71d893423f3dfe5f9c0f1410bd29312943
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 17:04:29 +00:00
Ivan Komissarov
0f4f67bc4e Update Qbs submodule to the top of 1.18 branch
Change-Id: I80eef69af09c222a92b55bd1524c3f82003829a8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-06 16:24:43 +00:00
Henning Gruendl
bebd70573e QmlDesigner: Add signal list dialog
* Add signal list dialog, delegate and view
* Add context menu entry on items which have a trigger signal
* Add specific model node operations
* Add qml Connections util class
* Add utility functions to signal handler property
* Fix property processing in node meta info
* Fix source code in connection editor and navigator

Task-number: QDS-3138
Change-Id: I362ceef230efdb14f2050995b1693937e5e73c41
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 16:09:34 +00:00
Tim Jenssen
306cadc643 qmljs: fix matchImport method
This is a guess fix without understanding what the
algorithm should do.

Change-Id: I06e258045ab966fd016295c1d8830bc6bdc83dca
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
2021-01-06 15:36:09 +00:00
Tim Jenssen
8f79503ed2 qmljs: avoid quadratic explosion
Change-Id: Icb184fd5c54a5398ed91b926841f7945dc8a81ec
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 15:13:06 +00:00
Knud Dollereder
7c1e210d2c Allow designeractions to target specific views
This is needed for the "connect signal to event dialog" which resides in
a different plugin but needs to be opened from the connection editor.

Change-Id: I9e200791831fa46d65e5f833e14a0d893fc29432
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 14:55:49 +00:00
Marco Bubke
b11d8aa92a Sqlite: Update Sqlite from 3.31.1 to 3.34 and adapt carray
You can now pass everything you can convert to a span directly and bind it
with a carray instead of using the pointer interface. This is working for
int, long long, double and null terminated C strings.

Change-Id: I274c218e2dec0f11e68576545bb78601f85462bd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 14:41:01 +00:00
Eike Ziller
9b4e2aa71d cmake build: Avoid other LLVM libraries interfering with ClangFormat plugin
Make the static LLVM in ClangFormat really internal to the ClangFormat
plugin on Linux by not exporting symbols from it.

This was missed during the conversion of the qmake project to CMake.

Fixes: QTCREATORBUG-24998
Change-Id: If483f3c45d5cf7f63e7b8dde58efab6371414bdd
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-06 14:15:48 +00:00
Leena Miettinen
dd75e97cb8 Doc: Add docs for Studio Logic Helper types
Task-number: QDS-3248
Change-Id: I348d82be4a9a5574046cd590b07e711eb862d2ec
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 14:02:55 +00:00
hjk
5d5a4ffbf8 ProjectExplorer: Provide a ToolChain::isValid() base implementation
It checks for an executable compilerCommand(). This was used in Gcc,
Clang and Nim before. MSVC still overrides with a different test.

The formerly unconditional 'return true' for Keil/IAR/Sdcc uses that
check now, too.

Change-Id: I433a5ac6784277dc77129b2671c28af6913327a7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-06 13:45:41 +00:00
Cristian Adam
09e2d6306e CMake: Use copy_if_different for python dependency files
Using "copy" would always copy the files on build, which is
suboptimal.

Change-Id: I8c80732124a6642acae03220f3d43074cece4526
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-06 13:37:20 +00:00
Christian Kandeler
1a09f816a3 ClangTools: Support clang-tidy check options
Fixes: QTCREATORBUG-24977
Change-Id: I33ea247ba98788245ae1264262f60d084b73778c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-01-06 12:39:41 +00:00
hjk
13c9b42a21 Debugger: Move initial GDB breakpoint settings after target setup
While GDB can handle breakpoints set before specifying an executable
fine, it stresses the machinery unnecessarily and fails in corner cases
("wrong" dynamic loader etc). We can avoid most of that by moving the
breakpoint setting to a later point in the process.

Change-Id: I0450a0e43a81c80bfdfefb7b67f6799042e0ec26
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-06 12:37:25 +00:00
David Schulz
bb892e6427 CdbExt: correctly escape python messages
Messages from python that contain a path like deprecation warnings
contain backslashes. These unescaped backslashes result in parse errors
on the creator side:
"MI Parse Error, unrecognized backslash escape"

Change-Id: Ic6eb6e1d95b18a653767a5b64030d755f6e8970a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-06 11:52:00 +00:00
Eike Ziller
03cc67abd1 cmake build: Fix building external plugins with Qt6
When finding a Qt component, make sure to explicitly mention the
implicit dependencies too.

This is a workaround for a defect in FindQt5.cmake, which only creates
alias targets and sets the IMPORTED_GLOBAL property on components that
are explicitly listed in the find_package/find_dependency call.

Change-Id: I98c4090ece1fa5704c3a7abeb0e8e27475a30757
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-06 11:19:40 +00:00
hjk
8753889c63 Debugger: Use handleInferiorPrepared also for AttachToRemoteProcess
Same pattern as the other scenarios.

Change-Id: I065783b9ced3ad31a1918b48b44116071bb98d75
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-06 11:09:48 +00:00
Christian Kandeler
f7d8f8b704 ClangFormat: Do not refuse to build against unpatched clang
The plugin builds just fine and should be mostly (fully?) functional with
upstream clang, so it seems excessive to force-disable it entirely for
everybody not using our custom patch.

Change-Id: Id6a179c20325290a8205218c9514a16c1adc9076
Reviewed-by: hjk <hjk@qt.io>
2021-01-06 11:00:02 +00:00
Eike Ziller
6263a58ef3 Devices: Do not pop up general messages pane
That should only happen on direct user interaction.
Also use new message manager API.

Task-number: QTCREATORBUG-24430
Change-Id: I87297b2ec7191b88210d3a2037afe27b8a3f40e9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-06 10:52:08 +00:00
Kama Wójcik
a04f5ce3ea Refactor label drawing
Change-Id: Id95721b13454f0062a144263b1c518402a556e5f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-06 10:23:12 +00:00
hjk
c7e57ced3a Debugger: Simplify gdb startup
The reason for the special callback setup is lost in history.
A possibility is that the extra roundtrip was needed for synchronization
with earlier gdb versions and/or start up sequences. It seems to
works fine without nowadays.

Change-Id: I28c95aec2f065e9c6f0730f1ffbc3db1a3d819da
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-06 10:22:28 +00:00
Kai Köhne
8ba1aa4025 Embed target language in hu translation file
Fixes lupdate warning

  qtcreator_hu.ts won't be updated: it contains translation but the target language is not recognized

Change-Id: I4b14b1986ca7fcb009e6c929583aaeed37613a11
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2021-01-06 09:31:12 +00:00
hjk
824c30438b Project: Change File System view activation shortcut
From Alt+Y to Alt+Y,Alt+F. "Toplevel shortcut namespace" is a rare
resource.

Fixes: QTCREATORBUG-25124
Change-Id: I6268760f45e34f973b3b38b19d2577c0c655b000
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-06 09:22:37 +00:00
hjk
a2d1ff94b4 Amend "ProjectExplorer: Introduce and use a new MultiSelectionAspect"
This partially reverts commit 34798b3efd,
which breaks binary compatibility.

Change-Id: I17d55760fac599bfba1f5a9726d81898e6979926
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-06 09:22:13 +00:00
hjk
9f7af33404 Debugger: Clarify the the state of dumper use outside Creator
Task-number: QTCREATORBUG-25199
Change-Id: Ib993180a21b385c340f990298d0e9c521e18b767
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-06 08:02:09 +00:00
Eike Ziller
45c2634166 Merge remote-tracking branch 'origin/4.14'
Change-Id: I62523c4733e617c46131048f5f62a2ca9be47d80
2021-01-06 08:42:15 +01:00
Christian Kandeler
7d0be4882c QmakeProjectManager: Fix qmake getting re-run unnecessarily
... when separate debug info was disabled.

Fixes: QTCREATORBUG-25134
Change-Id: Ia527de39b9409f68d1aa4babd64a30e18bb1f1ae
Reviewed-by: hjk <hjk@qt.io>
2021-01-06 07:34:24 +00:00
hjk
d671983d81 Debugger: Drop GdbEngine::listFeatures()
The output of -list-features is nowhere near complete or usable to
determine the need of workarounds or such. We have never really
relied on it and the code was unused for a while.

Change-Id: Ide02f4d35d6075f534b756245ebe43c55ee69390
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-01-06 07:12:28 +00:00
Christian Kandeler
a30aa4421a Qmake: Prevent unresponsive processes from hanging Qt Creator
That is, processes run via qmake's system() function.
Fun fact disovered while implementing this: "Canceling" the loading of a
qmake project did nothing at all except making the progress bar red at
the end of the parsing procedure. Now at least we terminate the
currently running processes invoked by system(), so the parsing threads
can continue and eventually finish.

Task-number: QTCREATORBUG-24825
Task-number: QTCREATORBUG-25000
Task-number: QTCREATORBUG-25194
Change-Id: Ic92ef200d3a49bbdeff0429ae7038fe3f1935b38
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-01-05 15:40:15 +00:00
Christian Kandeler
5b4e652b26 ProParser: Do not open a write channel for processes invoked for system()
If a process invoked via one of qmake's system() functions attempts to
read from stdin, it will currently hang Qt Creator. Prevent that.

Task-number: QTCREATORBUG-25194
Change-Id: I9c6411bcb2fb8e0d2705252cc6d27900472906a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2021-01-05 15:39:46 +00:00
Tim Jenssen
2a37a5ae16 fix warning
Change-Id: I36ef0823a7e0b786b1315df4e3d48fabb99c16f4
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2021-01-05 13:31:05 +00:00
Christian Kandeler
d203032504 ClangTools: Re-add clang's own include path
Amends ef05f29940.

Fixes: QTCREATORBUG-25126
Change-Id: I1340916f3f3488b0d1171f04ae1c9f30149c0c5c
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-05 12:57:56 +00:00
Cristian Adam
4ce6058e0b CMake: Error out when dependent targets are disabled
Change-Id: I0cc1e250dbe6eca66ed5f4ddecf9d5a8acfe955a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-01-05 11:46:04 +00:00
Jarek Kobus
353edf35e5 Remove unneeded include
Change-Id: Ia2d5482a15be28c3c8a3d63ba5c73a081e6ae571
Reviewed-by: hjk <hjk@qt.io>
2021-01-05 11:40:19 +00:00
Miikka Heikkinen
bab69fff77 QmlPuppet: Fix crash at puppet reset
Puppet cleanup was not handled properly, so derefFromEffectItem() was
not called for all objects that needed it, causing puppet to crash
at shutdown.

Fixes: QDS-3461
Change-Id: I22c0552fe1223789fa42b276ab377d4a9e929955
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-05 09:28:45 +00:00
Miikka Heikkinen
55ca28f1c7 QmlDesigner: Support .webp images in property UrlChooser
Change-Id: If1dd70a67796eaa07800059d9096731769116405
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-01-05 09:22:25 +00:00
Miikka Heikkinen
6e0aa98746 QmlDesigner: Allow importing assets by dragging from file explorer
Supported assets can now be imported by dragging files from external
file explorer to Assets tab in item library.

Fixes: QDS-3447
Change-Id: Id7c5a808c99e0e6b021414d4ca0541620e8d9f47
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-05 09:22:08 +00:00
Miikka Heikkinen
d7890aa473 QmlDesigner: Add default icons for sound, font, and shader assets
Also create proper icon sizes for hdpi screens for all assets.

Change-Id: Ie082030c7fe4893f90c5a75162b509416b73e5d4
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-01-05 09:21:04 +00:00
Miikka Heikkinen
1547929037 QmlDesigner: Implement new asset drags
Drag image to existing image/texture type - Update source property.
Drag image containing multiple frames - Create AnimatedImage.
Drag sound - Create new SoundEffect or update an existing one.
Drag shader - Create new Shader or update an existing one.
Drag font - Create new Text or update font on an existing one.

Fixes: QDS-3389
Change-Id: I62cf964bbba7772ecbf6f1c6fadb0f9e41a86206
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-01-05 09:20:15 +00:00
Miikka Heikkinen
178ba90376 QmlDesigner: Add import support for sounds and shaders
All imported asset types are now imported to type specific folders
under the project, similar to what was already done for fonts.

Also refactored import registration a bit to reduce code duplication.

Fixes: QDS-3326
Change-Id: I2b321590a6339eae9859e9daf154341175842929
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-01-05 09:19:22 +00:00
hjk
14c3f5ba51 Debugger: Drop the EngineSetupOk state
Directly proceed to EngineRunRequested.

Change-Id: I8419086f554bae298624cab3b33e852e92ea54bd
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-05 07:40:12 +00:00
Eike Ziller
fcbb4721ba Utils: Use new settings API
Avoid writing defaults to the settings.

Task-number: QTCREATORBUG-24430
Change-Id: I57193c0c07c02faf95753378bb1c8d86d18fd131
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-01-05 07:30:54 +00:00
hjk
b0d2c0d45d Debugger: Drop base DebuggerEngine::runEngine()
The lines between engine setup and running have always been
blurry, so it looks more and more unnatural to enforce this
in the architecture. Remove the runEngine() call from the
end of notifySetupEngineOk, and do it on the user side.

Change-Id: I3a5e158e8b3fe9b0a288d064f798e24b2ac47f86
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-01-05 06:21:27 +00:00