Commit Graph

76686 Commits

Author SHA1 Message Date
Christian Kandeler
9146ce4625 ClangCodeModel: Fix another false positive
... in in output argument highlighting.

Fixes: QTCREATORBUG-27368
Change-Id: I7549fd5c69bfebd0eeda24760d3bf96f2e652c43
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-14 09:56:46 +00:00
hjk
a26f0ba808 Debugger: Avoid one use of RunControl::runConfiguration()
Change-Id: Iaf9fb0cee4544121a4df433c3726d98ae0175ff2
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-14 09:25:46 +00:00
Thomas Hartmann
41daf979c5 QmlDesigner: Rename Generate QRC Resource File -> Generate Deployable Package
This is a simpler less technical name and we plan to introduce
the design viewer officially in the near future.

Change-Id: I1e9491000f6618f8f04fa307116cd865ec6b04be
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-04-14 08:42:31 +00:00
Thomas Hartmann
ac0697780e QmlDesigner: Only allow goIntoComponent for existing ones
Skip the ones from Qt.

Change-Id: I4eae715b87948e8d47be8919d6b3356864fb0bd7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
2022-04-14 08:34:36 +00:00
Henning Gruendl
45ca3e030b QmlDesigner: Navigator search field re-design
Task-number: QDS-6576
Change-Id: I100c37a149eac6b383a11f47f4307afc685f088c
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-04-14 08:30:38 +00:00
Jarek Kobus
a4a651aa32 QtcProcess: Fix StartFailed result
Amends 4ca336762e

Change-Id: I3781bec37b17ea3f86eedc51657db0931a456c39
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 07:55:22 +00:00
hjk
06e3199e03 TextEditor: Compile fix with current Qt dev
Most likely some .pch / NO_CAST_FROM_ASCII problem somewhere, but I got

  src/plugins/texteditor/storagesettings.cpp: In member function ‘QVariantMap TextEditor::StorageSettings::toMap() const’:
  src/plugins/texteditor/storagesettings.cpp:76:5: error: use of deleted function ‘QVariant::QVariant(T) [with T = char*; typename std::enable_if<disjunction_v<std::is_pointer<_Tp>, std::is_member_pointer<_Tp> >, bool>::type <anonymous> = false]’
   76 |

and the char * conversion seems wrong in any case.

Cherry-picked from: 6db23acc1f

Change-Id: Iac5df53547dc61b65b0d8c4087ca1f6366664b2f
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-14 07:36:13 +00:00
Jarek Kobus
35b654f69b AndroidAvdManager: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal.
Simplify implementation a bit.

Change-Id: Icf000ab0a5b06e14e301daed33f7b0109315d9a5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-14 07:09:44 +00:00
Jarek Kobus
5cf8c9fec3 AndroidSignalOperation: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal.
Get rid of some code repetition.

Change-Id: I50d2ba0e4607c853dbc9a0baae5b9ba2bdf41e2c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-14 05:56:34 +00:00
Christian Stenger
3b5ef55a32 Squish: Ensure treeview items are accessible
Before using mouseClick() we must ensure the items are really
accessible. So, scroll the view to the respective item explicitly.

Change-Id: I9e460b9f8cd64590d8a59692ba2d726495de3d92
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-04-14 04:35:28 +00:00
Jarek Kobus
7c8b5648fe ProcessInterface: Add sendControlSignal() method
It substitutes terminate, kill, interrupt and kickoffProcess
methods.

Task-number: QTCREATORBUG-27358
Change-Id: I9e952c2f4c1a7e76339366566f2c804a3df30347
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:39:33 +00:00
Jarek Kobus
25be242c6f ProcessInterface: Get rid of close() method
Implement it in general way inside QtcProcess instead.

Task-number: QTCREATORBUG-27358
Change-Id: Ibc4c9753c57cd73afcccb2991282ee459dc69780
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:39:25 +00:00
Jarek Kobus
267aa92a8a ProcessInterface: Pass processId with started() signal
Pass also applicationMainThreadId optionally (Windows only).
Remove two virtual accessors.

Task-number: QTCREATORBUG-27358
Change-Id: I3b12b642cc3c109653276c0fbf65e7f614ce6b56
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:39:18 +00:00
Marco Bubke
4bd71ebf6a QmlDesigner: Fix poor snapshot quality
It removes the image cache in the AssetsLibraryView too because it is not
used. Fix ODR violation too.

Fixes: QDS-6553
Change-Id: I83d8f8b7cd385e2c8352986e4b5a5abd76ac7d5b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:16:20 +00:00
hjk
75a265d67b WebAssembly: Avoid use of RunControl::runConfiguration
Change-Id: I598a41ac55c595437b162582c07fd1e940202272
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-13 13:53:22 +00:00
Leena Miettinen
63aaa65439 Doc: Fix links to Boot2Qt topics
And update information about Boot2Qt requirements.

Fixes: QTCREATORBUG-27251
Change-Id: Ifda686fafcd6b258a2c4dd8102260e05b637335d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2022-04-13 13:49:42 +00:00
Marcus Tillmanns
cf81ff2a29 texteditor: Add Select Next Match function
Adds an Action to select the next occurrence(s) of the currently selected text.

Change-Id: I37e23a3c2d1651ec4898fac53d75044d92ed7079
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-13 12:58:09 +00:00
Robert Löhning
ef52fa743b Squish: Fix tst_cmake_speedcrunch for Python3
Change-Id: Ide963d0ee27ff14fdd3d5f4f2bd4dd7b94254521
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-13 11:41:17 +00:00
Thomas Hartmann
d3e4fa056a QmlDesigner: Use midmap in states editor
Change-Id: Ia1dc15d911e493e7214d767f3eab15341e0b4e80
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-04-13 11:30:32 +00:00
Christian Stenger
70dde948ed McuSupport: Fix tests
Change-Id: Ia40a8aa6af12c93087a20ce2b2000cccd8fd6e0c
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-13 11:27:44 +00:00
Alesandro Portale
b54bf8ad86 Debugger: Fix start of Android lldb from NDK 23.x on Linux
In order to help lldb locate libpython3.9.so, we need to point
LD_LIBRARY_PATH to the right lib/ path inside the NDK.

Fixes: QTCREATORBUG-27297
Change-Id: I4c234fabf291dfb5f5240120541897a79cb6933a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 11:18:15 +00:00
Christian Kandeler
260095c924 ClangCodeModel: Fix another false positive
... in output argument highlighting.
If there is not enough information for clang to determine the const-ness
of the argument passing (as it can happen in templates), do not report
an output argument.

Change-Id: I8d0143042f02ac44d8d971398014828cff14697f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-13 10:25:01 +00:00
Christian Stenger
113c867bda Squish: Ensure we get str output from commands
Change-Id: I4e7ff85d2e2afbf714e9d16ae07e56d93cc57655
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-04-13 10:09:23 +00:00
hjk
d403b380f8 Another compile fix with current Qt dev
Add some #include <QList> that were implicit before.

Change-Id: I9e64a6cc7548141e690568913fa75f80d5f3f464
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-13 10:04:44 +00:00
Christian Kandeler
759527ff7f ProjectExplorer: Add output parser for AddressSanitizer messages
Change-Id: I9107a4f23998ed95f374c7d61c9ee1e6e6e2d437
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-04-13 09:58:21 +00:00
Christian Kandeler
53d6aea404 ClangCodeModel: Fix another false positive
... in output argument highlighting.

Fixes: QTCREATORBUG-27367
Change-Id: I80fc7628d62de18f9114290b8104a7a1e9a95c4b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-13 08:43:22 +00:00
Thomas Hartmann
803f299967 StudioPlugin: Revamp splash screen
* "Learn More" links to Qt Privacy policy webpage
* Size changed
* Design adjusted
* The user now can choose between sending data and not sending data
* The screen closes after the user chooses one of the options using
  a button.

Task-number: QDS-6617
Change-Id: I8729f1bb6f9e7b74c6da8f1d62a4fc04456175c8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-13 08:23:20 +00:00
David Schulz
c21fb22da8 LanguageClient: remove unused code
Change-Id: I42413835d93b0ea43430d2a6022e99d88620f0cd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-13 07:12:42 +00:00
Christian Stenger
0c1b5065c8 Squish: Remove obsolete workaround
Squish forces file dialogs to be real QFileDialogs for a long
time while testing.
Beside being no more necessary the workaround also causes
problems nowadays.

Change-Id: I211b64e61a0e28ede2a38d4d90cea5da350fa749
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-04-13 04:29:19 +00:00
Robert Löhning
e4463ba6d4 Squish: Port tst_create_proj_wizard to Python3
While staying compatible with Python2.

Change-Id: I1de16a4a066b00bc11b4142e144d7b9246f7c14c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-12 20:59:28 +00:00
Cristian Adam
6d681cc5ad CMakePM: Remove unnecessary settings header stretch() calls
These calls would make interactive changes useless and the fake hide
event would remove the interactive flag which would prevent the user
from doing any changes.

Fixes: QTCREATORBUG-27257
Change-Id: I80a53d8955ac2329c726989954f1d910e93b3501
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-04-12 16:21:00 +00:00
hjk
76d5e7770d QmlDesigner: Avoid compilerwarning in test
[1262/1277] Building CXX object tests/aut...s/tst_qml_testcore.dir/tst_testcore.cpp.o
tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp: In member function ‘void tst_TestCore::writeAnnotations()’:
tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp:8707:21: warning: loop variable ‘child’ creates a copy from type ‘const QmlDesigner::ModelNode’ [-Wrange-loop-construct]
 8707 |     for (const auto child : rootModelNode.allSubModelNodes()) {
      |                     ^~~~~
tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp:8707:21: note: use reference type to prevent copying
 8707 |     for (const auto child : rootModelNode.allSubModelNodes()) {
      |                     ^~~~~
      |                     &

Change-Id: I496baf5424a7e07976aecdf3ad2402832bbc52d9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-12 16:06:56 +00:00
Marcus Tillmanns
2c4553366c docker: Correctly initialize Kit during autodetection
* Added returning the Id after detecting CMake so it can be set in the autodetected kit
* Trying to keep autodetect from adding the same Qt installation twice if qmake is linked in /bin and /usr/bin
* Added FIXME for RunControlPrivate::runConfiguration as it is used after free in rare cases
* Fixed IosCompilerDetector to not just run if a device is set
* Fixed QnxCompilerDetector to not just run if a device is set
* Fixed auto-detected debuggers not being set as auto-detected, as they now can be removed from the device screen

Change-Id: Ia7772c454d70e147e4326efacc4a6a888fa26782
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-12 14:15:45 +00:00
Jarek Kobus
aa3f467ee2 ProcessInterface: Add readyRead() signal
And get rid of readyReadStandard[Output/Error]() signals.
Get rid of readAllStandard[Output/Error]() accessors, as
this data is passed with readyRead() signal.

Task-number: QTCREATORBUG-27358
Change-Id: I01341feba650e650761f97e90f83b6042c899251
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-12 14:00:14 +00:00
Jarek Kobus
4ca336762e ProcessInterface: Add done() signal
And get rid of errorOccurred() and finished() signals.
Get rid of resultData() accessor, as this data is passed
with done() signal.

Task-number: QTCREATORBUG-27358
Change-Id: I677bbd174cceea6d8f5a989f961222c417992b60
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-12 14:00:03 +00:00
Jarek Kobus
00acccfd3d QtcProcess: Fix terminate() for process launcher
ProcessLauncherImpl::terminate() was behaving the same as
ProcessLauncherImpl::kill() in case of process launcher
implementation - in both cases the launcher
immediately returned confirmation about receiving the
close request and was putting the corresponding
process into its reaper. However, the issue with this approach
is that we can't receive anymore any potential ready
read signal from the process being terminated after
a call to terminate().

The fix is to diverge the behavior of terminate()
and kill() of ProcessLauncherImpl. The behavior of kill()
remains the same, while terminate() just instructs the
process launcher to start termination without putting
the process into the reaper, yet.

Add a test that checks for any possible zombies.

We run the RecursiveBlockingProcess recursively. The most
nested process blocks. After a short wait we terminate
the outermost process. With this test we are trying to see
if terminating the middle process terminates also its
children and doesn't leave zombies.

Before we execute the test (and also by the end of this test)
we call Singleton::deleteAll() in order to ensure that reaping
of previously running processes has finished. We ensure the
number of running processtestapps is zero. Later, we ensure that
the leaf process was already started and the number of running
processtestapps equals the depth of recursion.

Fix apparent bug in getLocalProcessesUsingProc().

Change-Id: I7e2bc46ad5ca22f26620da86fbaf0fa00a7db3c3
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-04-12 13:59:41 +00:00
Christian Stenger
fea22eadb6 LanguageClient: Silence warning
Change-Id: Ia58f7620b553df196d5b6de2c8ff1593e5396897
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-12 10:52:40 +00:00
hjk
2ea397f11d QmlProjectManager: Avoid use of RunControl::runConfiguration()
The RunConfiguration might change and even die after the runcontrol
starts.

Change-Id: I628f3ae26c21fb41388b6104497ce5a6a6704c8a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-12 08:46:42 +00:00
hjk
6db23acc1f TextEditor: Compile fix with current Qt dev
Most likely some .pch / NO_CAST_FROM_ASCII problem somewhere, but I got

  src/plugins/texteditor/storagesettings.cpp: In member function ‘QVariantMap TextEditor::StorageSettings::toMap() const’:
  src/plugins/texteditor/storagesettings.cpp:76:5: error: use of deleted function ‘QVariant::QVariant(T) [with T = char*; typename std::enable_if<disjunction_v<std::is_pointer<_Tp>, std::is_member_pointer<_Tp> >, bool>::type <anonymous> = false]’
   76 |

and the char * conversion seems wrong in any case.

Change-Id: Iac5df53547dc61b65b0d8c4087ca1f6366664b2f
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-12 08:44:44 +00:00
hjk
530b9ae85a ProjectExplorer: Copy more RunConfiguration data to RunControl
The aspects are now responsible for defining what data needs
to be copied and also to provide a suitable interface (kind
of source-compatible to direct use) for access.

The important change here is that RunControl::aspect(...) doesn't
need to access RunControl::runConfiguration() in fully aspectified
RunConfigurations anymore. In not-fully aspectified the runConfig
access is moved to the user code to make the problem visible there.
Long term, aspectification should be finished.

As an additional benefit, the resolving of macros etc can
now be done at the correct time.

Change-Id: I690d9f8f696ce9b4efd42082ba3f81b514efcb77
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2022-04-12 08:43:09 +00:00
David Schulz
24b4a7be74 Python: add pip package information
Change-Id: Iea55d1491b49156d8bef32c5d4045efde4bc92fe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-12 08:24:40 +00:00
Christian Stenger
0bd4d38002 Tests: Remove ignored message
This soft assert is no more triggered a second time and
results in a fail now.

Change-Id: Ica850a19993797d412e0b5ff954b5e9760e21f53
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-04-12 08:05:17 +00:00
Jarek Kobus
2794b5e543 tst_QtcProcess: Get rid of lineCallbackIntern() test
This test introduced some additional private API to QtcProcess.
This makes refactorings of QtcProcess harder, as we need to
handle this artificial code working.

We have a real lineCallback() test instead which doesn't
employ this private API.

Change-Id: Idbc314210cecc2044e1ccc298e5d3e0a9747e811
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-11 15:26:10 +00:00
Thomas Hartmann
d68095fae6 StudioWelcome: Track download and opening of examples
Change-Id: I5e992f6accd8a5eadf7f814c90c98190832e02a3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-04-11 14:41:38 +00:00
Artem Sokolovskii
7574ec3e21 ClangFormat: Add the logical settings management
Now there are changeable and unchangeable settings,
as it works for usual codestyle settings.
They save parallel with codestyle settings but in another dir.
In general, the behavior became similar to usual codestyle settings.

ToDo: Make indenter use this settings instead standard one and
instead project settings when "override" checkbox is checked.

Change-Id: I639dbda296932bf9b967a11f1cc4fda120415ed9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-11 14:03:22 +00:00
Thomas Hartmann
f29614a5ce StudioPlugin: Remove timer
Task-number: QDS-6617
Change-Id: I401f38dbbd419137ca9239d0c1d67e1dc2446b25
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-04-11 13:18:26 +00:00
David Schulz
ca7a18568c CMake: add ccache option
Change-Id: I482b0f3ac372f141e465b72fbcca9d8b5c5b352d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2022-04-11 12:29:26 +00:00
Christian Kandeler
514ceb25e9 ClangCodeModel: Prevent recursive delete of FollowSymbolData
Fixes: QTCREATORBUG-27323
Change-Id: I3bcff6516e197b62b1a3772e6db598038c5977c9
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-04-11 12:27:51 +00:00
Assam Boudjelthia
daebcfdca9 Android: fix typo in previous refactoring for AndroidRunnerWorker
Pre-start adb commands were executed for a second time instead of
the post-finish commands because of typo in variable name, which
now is renamed to avoid confusion.

Amends 1372dfdf7f.

Change-Id: Ia89c7835f4a7b9a4d187479962b591b5980387b8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-11 11:44:12 +00:00
Christian Stenger
2f64cf4779 CppEditor: Do not crash on anonymous classes
While performing generate getters and setters we crashed
when using members of anonymous classes.

Change-Id: I27dc8da950345aa4e26ddb1da3914edcffad5af3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-11 10:44:15 +00:00