Commit Graph

8032 Commits

Author SHA1 Message Date
Robert Löhning
94c9e6cbac SquishTests: Add possible location of cdb
Change-Id: I72c3f1b5bdcceeca2764d4a77229c45655187376
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-21 11:44:20 +00:00
Semih Yavuz
21ca06fc7c Codeformatter: Support indenting of type annotated function
Fixes: QTCREATORBUG-29046
Change-Id: Ie4a4d85b7aa00ddf4dd3ea4bade6ffa57af7b4e0
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-04-20 12:55:40 +00:00
Cristian Adam
d8be2491a5 CMakePM: Add new / existing source files to project
This will add the new added source files (.cpp, .h, .qrc, .ui) to the
corresponding CMake source file as last arguments for known CMake
functions like add_executable, add_library as well for the Qt
counterprarts qt_add_executable or qt_add_library.

For custom functions the code will insert a target_sources() call.
Subsequent calls will add the files to the last target_sources.

The previous copy to clipboard mechanism and settings have been removed.

Fixes: QTCREATORBUG-26006
Fixes: QTCREATORBUG-27213
Fixes: QTCREATORBUG-28493
Fixes: QTCREATORBUG-29006
Change-Id: Ia6e075e4e5718e4106c1236673d469139611a677
Reviewed-by: hjk <hjk@qt.io>
2023-04-20 12:43:33 +00:00
Marco Bubke
2694d6a1f5 Add feature to disable QmlDesigner and related files
QTC_WITH_QMLDESIGNER or WITH_QMLDESIGNER has to be set to OFF to disable
QmlDesigner related code.

Change-Id: I7e25200fe856fcc7de3493cfa394cdd4f923e0bf
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 17:19:33 +00:00
Marco Bubke
34c69766dd QmlDesigner: Add version scanning for Qt5
Add some hardwired code for lagacy Qt5 support.

Task-number: QDS-9542
Change-Id: I505685042f53b7e653e76c8d883c8d7bb30605d7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 15:58:21 +00:00
Marco Bubke
6035ff939d QmlDesigner: Add module scanner
For performance reason we want to get the qml modules directly from the
file system. When the project storage is finished we can get the modules
from there.

Task-number: QDS-9542
Change-Id: I26d4b028fbf5ebc541fcd8e34d285ded1fb14935
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-19 13:58:22 +00:00
Eike Ziller
4e6877753a Merge remote-tracking branch 'origin/10.0'
Conflicts:
	src/plugins/android/androidrunnerworker.cpp
	src/plugins/qtsupport/exampleslistmodel.cpp

Change-Id: I1628528dbc0ffe874b49bbe022da5933b1348057
2023-04-18 12:53:45 +02:00
Tim Jenssen
a73358b3aa Merge remote-tracking branch 'origin/10.0' into qds/dev
Change-Id: I9520e55c8b7248afb297168395d7099829ed42c7
2023-04-17 20:59:36 +02:00
Jarek Kobus
837967a77a tst_RunExtensions: Move onResultReady test into tst_AsyncTask
Change-Id: I73e2cc62be207adbfb2a4e4ce1367140986cc8b3
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>
2023-04-17 09:18:47 +00:00
Jarek Kobus
7ab0fd56ae RunExtensions: Move onResultReady and onFinished into asynctask.h
Change-Id: I96dbf5b0253251224ae678172cd5fca12b34326a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-17 09:10:33 +00:00
Robert Löhning
26bcec1641 SquishTests: Don't require Qt Quick Controls
It's not available for any version we use anymore.

Change-Id: I11556c42b4ed7924d3ede04749b0b26251d8f0da
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-17 09:09:44 +00:00
Semih Yavuz
15a06b77c0 Fix tst_qml_reformatter auto test
Add source location to pragma library writer so that the comments before
.pragma line are also written.

Fix tst_qml_reformatter by skipping the blankline comparisons. Line by
line comparison with the non-formatted code is not a good idea to test
 reformatting. Ideally test should have compared the formatted file with
the original one character wise, yet it is not worth changing into that
at this point.

Amends 0ce57fcf5e90f8bf8cfbe681f2954a0c1ef0e945

Change-Id: I39bcee2c881e1a0928c17ebb45aa1c85e6cf3b99
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-14 14:23:14 +00:00
Christian Stenger
9beec99452 SquishTests: Expect another build fail on Win
Change-Id: Id4051f4f82c1219209fd59e72f1add76ec338a87
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-04-14 05:06:37 +00:00
Christian Stenger
cf8f23e8e0 SquishTests: Fix wrong usage
Amends 476f67cce5.

Change-Id: I584a059b52515bf625a973fff43485f5b52e6061
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-04-14 05:06:28 +00:00
Eike Ziller
2bc37de42b Merge remote-tracking branch 'origin/10.0'
Conflicts:
	src/plugins/python/pipsupport.cpp
	src/plugins/qtsupport/exampleslistmodel.cpp
	src/plugins/qtsupport/examplesparser.cpp
	tests/auto/examples/tst_examples.cpp

Change-Id: I00273622423fa99d41621969f6ecbbdaa0e18664
2023-04-13 15:59:08 +02:00
Robert Löhning
2ffe169a8d SquishTests: Try stabilizing tst_generic_highlighter
Change-Id: I12e29f2886d22ce03a1a2eb62d5c776cd894d359
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-13 10:48:21 +00:00
Eike Ziller
b542d47907 Examples: Read meta data, which includes categories
Task-number: QTCREATORBUG-28546
Change-Id: I11505d4f8b8eaef3f525185cd45757b6f41012ec
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
(cherry picked from commit e060f82fa5)
2023-04-13 07:14:18 +00:00
Eike Ziller
9144ab75f4 Add test for examples parsing
Change-Id: Id2ec8afcdbdff97e12b32b836c955552589081c4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
(cherry picked from commit 87b5176fd2)
2023-04-13 07:14:05 +00:00
Semih Yavuz
78cf563142 reformatter: fix formatting of js directives
Fix the miscalculation of the start / end of the js directives lines.
Also small optimizations on usage of increment operators. Add a unit
test.

Fixes: QTCREATORBUG-29001
Change-Id: I38923f137dca5c0b89d474cd747a64ec11e62fd9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-04-12 11:50:43 +00:00
Jarek Kobus
8175d5abda onResultReady: Provide a context object for all usages
Remove overloads for onResultReady() and onFinished()
that don't take context object.

Change-Id: Iaec538bcccd29e22791ec65cc95b4b87640708c3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-12 11:05:16 +00:00
Christian Stenger
41e78b9e57 SquishTests: Fix compiler substitution on Windows
Change-Id: I970622c888d6c8b7c63e8b1674419ba900ea6d24
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-04-06 13:56:47 +00:00
Robert Löhning
f7ad1f02a1 SquishTests: Fix waitForProjectTreeItem() for python3
Amends 892ccd2097

Change-Id: I18e2c9a5407e4c70dfdae5e9c17959897ea33d50
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-06 13:05:40 +00:00
Robert Löhning
42c653b53c SquishTests: Don't filter out code model issues when we need them
Amends c46dff0199

Change-Id: I5f2613edf15f86161a576ab21f16f079bd12a59f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-06 09:38:54 +00:00
Burak Hancerli
66d72433a6 QmlProject: Refactor QmlProjectManager
- feature: JSON based project manager plugin
- feature: functionality to write QmlProject file
- tests: tests for QmlProjectItem

Task-number: QDS-8810
Change-Id: I8989e54577e9cd883bd76346e22774cc7f7ed93f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-05 15:13:43 +00:00
Marco Bubke
318bb02801 QmlDesigner: React on watcher notification
The watcher notifies the updater if files or directories are changed.
The updater then does minimal updates to the project storage. Common
cases like that the qml documents or qmltypes are changed are handled by
an extra path. Otherwise we trigger a directory update. If the directory
is in 'strange' state like the qmltypes file is removed but the qmldir
is not updated the changed file ids are saved and used additionally in
the next notification.

Task-number: QDS-9479
Change-Id: Ie82fd914b2e229f0315bf60df398c85477ce5a26
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-04 10:44:09 +00:00
Robert Löhning
41c1b76af0 SquishTests: Stabilize tst_rename_macros
Change-Id: I9d77bf9daa66b46e2b16c8618e1848538cb797aa
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-04 09:51:26 +00:00
Robert Löhning
892ccd2097 SquishTests: Add function for finding elements of project tree
Change-Id: I08c3c22a404d2b58bdb1205f22e5cf937c6027b0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-04 09:51:01 +00:00
hjk
305ccfe259 Utils: Replace FilePath::onDevice() by new FilePath::withMappedPath()
Basically a.onDevice(b) == b.withNewMappedPath(a), matching the order
of b.withNewPath(a).

Whether the (curretly docker-specific) path mapping is useful /there/, and
whether some of the calls are needed at all is dubious. I added some
FIXME and changed a few cases directly.

Change-Id: I7514736ce922f632f1f737bc496f6783389a42b6
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-04 06:56:55 +00:00
Robert Löhning
6ad3531b15 SquishTests: Handle expected failure of qml refactoring
Change-Id: I05b19c33de6e1245bfb6610f7a3fd39ba428aa28
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-03 09:27:50 +00:00
Robert Löhning
5c5e12981e SquishTests: Add an explanation about automatically created kits
Change-Id: I1bb351c56600fa4a6e420299bdbaff1c436d19c9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-03 09:23:39 +00:00
Eike Ziller
b635e99086 Merge remote-tracking branch 'origin/10.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	src/libs/utils/multitextcursor.cpp

Change-Id: I54b00ea5e6953078beed7673b5de31114f983bfa
2023-03-31 15:58:09 +02:00
Christian Stenger
0c6b3b3747 Squish: Fix expected compilers on Windows
Compilers will be nowadays displayed with full version.
VS 2019 and 2022 are out for a long time and have been added.
Ensure installed official LLVM is detected correctly.

Change-Id: Ica29dca74cb8e08bafda1a88fcd2c2a6150bb236
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-31 06:12:49 +00:00
Tim Jenssen
adb664f521 Merge remote-tracking branch 'origin/qds/dev'
Conflicts: src/libs/utils/filepath.cpp
  src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
  src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
  tests/unit/unittest/CMakeLists.txt

Change-Id: I017a6075db41a5233487ac855ffe23de2b2bb0ee
2023-03-30 13:30:42 +00:00
Christian Stenger
3ad00fc871 SquishTests: More Python3 adaption
Change-Id: I95488e2b5661c8790cb73246947af58de2a1899b
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-29 15:17:24 +00:00
Christian Stenger
230b030755 SquishTests: More expected build issues
Expect build issues if the kit does not support the
minimum cpp standard needed by the project.
Additionally exclude the kit explicitly if the compiler
is too old to understand the needed minimum cpp standard.

Change-Id: I0cf0ad17b2cd68ba990d3360a8628ddd7fe507bd
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-29 15:17:09 +00:00
Christian Stenger
5265ad275c Squish: Allow build to fail for runAndCloseApp()
Allows to mark current configuration to fail when we trigger a run
with implicit build.

Change-Id: I5738c49e62bca876c0aeba28af5f8315303620a2
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-29 15:17:02 +00:00
Tim Jenssen
26365f34d4 Merge remote-tracking branch 'origin/10.0' into qds/dev
Change-Id: Idd5eac05f3506387e5f1884e22cc2c902032bbe1
2023-03-29 13:42:04 +02:00
Eike Ziller
b36287731e Merge remote-tracking branch 'origin/10.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.cpp
	src/tools/perfparser

Change-Id: Ie5643100e0eb00e0933359dce320169b876f5634
2023-03-29 12:21:50 +02:00
Christian Stenger
c46dff0199 SquishTests: Fix checking for build issues
Do not count code model issues as build issues when checking for them.
Fixes tst_build_new_project on the Linux machines which fail for unknown
reasons.

Change-Id: I2cd77b0208019fc902742197c0def6d3811cfced
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-28 13:20:10 +00:00
Christian Stenger
e113a12645 SquishTests: Fix accessing build dir line edit on Win
The respective line edit is hidden inside the collapsed
details, so ensure we have expanded details instead.

Change-Id: Ib6f6fab9f06c3250a71baf95a853d770bfa9b221
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-28 13:06:29 +00:00
Christian Stenger
73227535a4 SquishTests: Adapt to dark theme
Depending on the OS QC may be started with dark theming.
As we use the color of the buttons on the welcome page to
decide whether a button is active or not we need to adapt
the expected colors to cover dark theming as well.

Change-Id: I844b1e2cf4b44ce9501a4ef4a850331ca9983e3c
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-27 04:36:39 +00:00
Christian Stenger
ac4aaf5e23 SquishTests: Some Python3 adaption
Makes some tests succeed and lets a couple of tests get further
on macOS.

Change-Id: I9a3f124c094e67f51748ddae47d00897fe5259d5
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-27 04:36:30 +00:00
Tim Jenßen
feabda3aa7 Merge remote-tracking branch 'origin/10.0' into qds/dev
bigger conflicts resolved at:
  src/plugins/qmldesigner/CMakeLists.txt
  src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
2023-03-26 16:26:18 +02:00
Jarek Kobus
b5af4501df Fix include style
Change-Id: I64cb77f8d39dac35821fe96d735bc5dda35738e7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-24 13:42:50 +00:00
Marcus Tillmanns
29873068eb Utils: Store Device::osType in settings
Change-Id: I41348be752598b7a8d1f1979764e7111cccc95a9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-23 12:33:58 +00:00
Marcus Tillmanns
129562ea6f Utils: Test QtcProcess default environment
Change-Id: I62f56bd070ec531462ad3dd4e39cf6708115c7ba
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-21 12:41:04 +00:00
Marcus Tillmanns
9ddd1e1d36 Utils: Improve DeviceShell error handling
In case mktemp or mkfifo fails, the device shell script would
incorrectly print both success and failure messages.

Also cleaning State enum, removing unnecessary values.

Fixes possible crash if creation of master process fails.

Fixes: QTCREATORBUG-28928
Change-Id: I75fef54dc791b2b0a403bab19dab6813b62643ac
Reviewed-by: hjk <hjk@qt.io>
2023-03-21 12:31:44 +00:00
Marco Bubke
cb0fc5fd1f QmlDesigner: Project Storage Watcher updates only some directories
Updates only the entries for the given source context (directory) ids
and skips everything else. It is enabling partial updates
for directories in a project.

[&, &ids = ids] the strange capture clause steams from a C++ issue.

Tak-number: QDS-9456
Change-Id: Id3abcd39ac429ba4483124f334d50c2999f5e6a8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-21 09:48:31 +00:00
Marco Bubke
4c3530f5ee UnitTests: Simplify project storage watcher
Use the real path cache. It makes the test some 100ms slower because the
database has to be created for every test but makes the test simpler.
Renames some variables too for better readability.

Task-number: QDS-9456
Change-Id: I3246a1859eae7b26b9e13a9d88d3c717748de43e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-21 09:48:27 +00:00
Marco Bubke
2d5062918a QmlDesigner: Project storage watcher watches unchanged files
The Qml documents and Qmltypes files cannot added or removed if the
project data is parsed. So the can simply been added to the watched
files.

Task-number: QDS-9178
Change-Id: Iaa30425241ac7ad3c2434b9c6c5955e894ec6049
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-21 09:48:21 +00:00