Commit Graph

1383 Commits

Author SHA1 Message Date
Cristian Adam
a8cbd17733 CMakePM: Implement "FOLDER" property for targets
See the CMake documentation https://cmake.org/cmake/help/latest/
prop_tgt/FOLDER.html

This allows placement of targets in the project view in specific folders
like e.g. "tests"

Qt Creator (ab)uses the FOLDER property for the "qtc_runnable" feature,
see https://doc.qt.io/qtcreator/creator-run-settings.html
which would not allow to have both.

The "qtc_runnable" should be fixed by having a property "QTC_RUNNABLE"
for a target and have Qt Creator parse the code.

Fixes: QTCREATORBUG-28873
Change-Id: I73433de78b9a86f631ee9d7903db535b69b734f6
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-07-25 11:37:14 +00:00
hjk
41046c0d44 LayoutBuilder: Initialize BuilderItem::apply more directly
Also, add some timing information.

Change-Id: I5d38cac9e7ad0afb24504ff521f31d5202268462
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-18 09:59:01 +00:00
hjk
a0c8d8c0b4 LayoutBuilder: Update manual test to latest syntax changes
Change-Id: I9bf07e4ae896df0640a81847d33514b1f488a024
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-07-17 14:43:38 +00:00
Jarek Kobus
9e3e3241ca tst_SubDirFileContainer: Simpify init / cleanup test case
Use For elements instead of constructing big recipes.

Change-Id: I44a01987ed02a0ccb44c31568d12c2aaeeb95f69
Reviewed-by: hjk <hjk@qt.io>
2024-07-10 13:40:21 +00:00
Jarek Kobus
779390829c TaskTree: Introduce For element
Improve code readability by requiring iteratable Group
to be named For.

The For's c'tor requires an iterator element as a first arg.

The For's c'tor allows for passing exactly one iterator element.

It's not possible to place iterators inside Group element anymore.

Change-Id: I9dfe2c0da058abac161f66c4e336da2417c383f1
Reviewed-by: hjk <hjk@qt.io>
2024-07-10 13:39:40 +00:00
Jarek Kobus
c9aec06723 TaskTree: Simplify Group construction in DataExchange example
Change-Id: I911f41da0f719471a324e190f4a77c0c8f58fd67
Reviewed-by: hjk <hjk@qt.io>
2024-07-10 12:39:10 +00:00
Christian Stenger
46f245c222 Tests: Fix building manual tests
Change-Id: Idd4f0bf1577d3ffa3b4b162c2f1ed0ae7047e35a
Reviewed-by: hjk <hjk@qt.io>
2024-07-04 09:15:36 +00:00
Christian Stenger
79de38d8cb GoCmdBridge: Add to qbs build
Change-Id: Iac64b8e813f90f727c7469073ea491628ab3014d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-07-03 04:09:37 +00:00
Marcus Tillmanns
691c4adeec GoCmdBridge: Add golang based command bridge
Change-Id: I3b791febafc09f897afbf6d9da999deeca6f5115
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2024-06-28 09:44:23 +00:00
hjk
878d4c74b7 LayoutBuilder: Add object guard in slot
Change-Id: I1912c206f5056cb19a8a7b73cfbe4dfd45978a2a
Reviewed-by: hjk <hjk@qt.io>
2024-06-28 07:35:15 +00:00
Jarek Kobus
bcba7184f0 TaskTree: Implement AssetDownloader example
This is an equivalent of the downloader used for
the car-configurator example.

Change-Id: Ia0ab13ea7d4557d375b44aa2ba06be5a81651251
Reviewed-by: hjk <hjk@qt.io>
2024-06-24 15:03:14 +00:00
Eike Ziller
afde8fd1a7 Merge remote-tracking branch 'origin/14.0'
Change-Id: I5e5ffe1b986fd8b4e5d60c9a5864541747ef890c
2024-06-19 11:30:02 +02:00
Jarek Kobus
15e510abcf TaskTree: Make use of the trivial DoneResult handlers
Change-Id: I71915fc50f073cc90b0fb2562bb82e9c4a73ccd1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-19 08:32:37 +00:00
Eike Ziller
a2a5cab07c Merge remote-tracking branch 'origin/14.0'
Change-Id: I240ecca23ec82e54699fcf11ba1d801d0a8c09f0
2024-06-14 11:27:59 +02:00
Jarek Kobus
c9ce9f819b SubDirFileContainer: Fix manual tests
TaskTree::runBlocking() returns DoneWith enum these days.

Change-Id: Ib6fb1ce3e849586e236c9985461c29695ff9d880
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-13 09:52:58 +00:00
Eike Ziller
8bf7967074 Merge remote-tracking branch 'origin/14.0'
Change-Id: Ic38a5b4843f174e51f5ebb97d1636a3283646c34
2024-06-11 10:36:51 +02:00
hjk
80f46e055c Use non-null valies for LB connection guards
Task-number: QTCREATORBUG-31024
Change-Id: I532d2daade968ff4aa2f3dc1ba89d2a3a4e9c2eb
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-07 10:58:42 +00:00
Eike Ziller
2b8d790b77 Merge remote-tracking branch 'origin/14.0'
Change-Id: I4260181d32ed514e1a912188dbf1040857a83f54
2024-06-06 09:02:20 +02:00
Alessandro Portale
0650fe14e5 Utils: Update Figma text tokens
This adds UiElementLabelMedium and UiElementLabelSmall.

Change-Id: I592f2bdf7a4d0a98e38ea69c33cf1b27040f7eea
Reviewed-by: hjk <hjk@qt.io>
2024-06-05 14:30:00 +00:00
hjk
1c9242bab2 LayoutBuilder: Potentially save a few cycles
... by not actually creating the unused instances of the Id types.

Change-Id: I6955046fa1b457ea70d36090d3bf0051b31dfdaa
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-04 10:52:59 +00:00
hjk
308fb3f3fd LayoutBuilder: Update demo
Backport the learnings and simplification from the real use to
the demo case.

Change-Id: I3f501b03c760484961bfd586735c0db53ba080db
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-05-28 05:51:05 +00:00
hjk
971938421c Use LayoutBuilder V2
This puts the implementation introduced in acf1ecb47f into use, after
significant simplifications in the class hierarchy. CRTP is not used
anymore, and the new tag based dispatch is also used for Layout::addItem,
effectively reducing the number of different code paths.

The Lua based settings access is disabled for now.

Change-Id: Idb6d1a25675378757c5267bdb630bcd4c1f52d34
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-27 12:38:48 +00:00
Jarek Kobus
53de9701f4 CommandLine: Use more 1-arg c'tor
Change-Id: If52c4094f94859d51e31862d913b1756e333e512
Reviewed-by: hjk <hjk@qt.io>
2024-05-16 12:45:42 +00:00
hjk
acf1ecb47f LayoutBuilder: Complete experimental implementation
This adds support for inheritance to the existing experimental
implementation in tests/manual/layoutbuilder/experimental
and gets rid of the tight coupling and qobject_casts in the
setter implementations. Plan is to use this (minus "bindings"
via *::Id / id()) for utils/layoutbuilder.{h,cpp} later.

The "binding" support via id() is still experimental, and in
its current version not really useful. A possible idea would
be to re-use the Tasking::Storage idea, but it's not quite
clear how to expose that "long distance" (i.e. across multiple,
unrelated top-level builders). However, this is not used in
in current uses of the "old" layoutbuilder, so this is not
blocking anything.

Some notes:

The *Interface hierarchy is not strictly needed, it could directly
act on things in the QObject hierarchy but would then need #includes
of all "buildable" classes, which can be avoided in the current
implementation. Besides, the indirection allows us to tweak and/or
add functionailty to the Qt classes in the indirecting code, that
does not necessarily have to match 1:1 to the underlyings Qt classes.

The std::function based callbacks are quite fat and not functionally
needed and could be dropped  by "inlining" the relevant bits from
typical std::function implementations. However, these invariably seem
to end up calling functions through pointers to (ABI-compatible, but)
different types, which is for /user/ code formally undefined behavior
according to C++11 §5.2.10/6. To avoid a discussion whether doing
the same ourselves is tolerable or not, this uses std::function
and pays the price of the overhead.

Change-Id: I6d40c1bd48cf065fcf211eaff8d9a2298bca20eb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-05-16 12:06:06 +00:00
Marcus Tillmanns
657ce51467 ExtensionSystem: FilePath'ify
Change IPlugin::fileName() and IPlugin::location to use
FilePath instead of QString.

Change-Id: If473ab1e258951735f93221cbd62c505f0727eb2
Reviewed-by: hjk <hjk@qt.io>
2024-05-08 10:29:59 +00:00
Jarek Kobus
20e332b135 TaskTree: Introduce parallelIdealThreadCountLimit
Reuse the new element.

Fixes: QTCREATORBUG-30647
Change-Id: I79836a9243abcb1661c79842dcf6c33492342552
Reviewed-by: hjk <hjk@qt.io>
2024-04-15 11:05:18 +00:00
Eike Ziller
90e1d96019 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	doc/qtcreator/src/overview/creator-only/creator-keyboard-shortcuts.qdoc
	qbs/modules/qtc/qtc.qbs
	src/plugins/remotelinux/linuxdevicetester.cpp

Change-Id: I8434e41dcfbb50f6ed032a3e0af1591eb19b79eb
2024-03-20 15:05:58 +01:00
Alessandro Portale
f94ef9fdb7 Tests: Add *.figmatokens to manual/widgets tests
Change-Id: Ic4be9c65508052f95c07a5466ac397c060524a41
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-03-19 11:00:12 +00:00
Christian Stenger
f56542b39a Tests: Fix environment for test run
Change-Id: I32e491d06d9041b8ba6ad24badd6aa383ba1d163
Reviewed-by: hjk <hjk@qt.io>
2024-03-19 10:05:45 +00:00
Alessandro Portale
e0cf25fb55 Spinner: Allow setting the spinner color
Deeply under the hood, the color for ther Spinner was determined by the
QApplication palette, color role "Text".

In order to run the spinner on a dark toolbar (in a non-dark theme),
though, the color needs to be bright. It is the case for the
ScreenRecorder.

This change adds a color setter to the Spinner classes, adds colored
Spinners to tst_spinner and makes use of the feature in the
ScreenRecorder.

The default color of the Spinner remains QApplication palette, color
role "Text".

Change-Id: Ia75758707f225b1f994e73c5a314478101c80f5e
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-03-15 14:09:30 +00:00
Eike Ziller
1b97fdc100 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	src/plugins/debugger/gdb/gdbsettings.cpp
	src/plugins/perfprofiler/perfprofilerruncontrol.cpp

Change-Id: I0d5b914f9d9b5499920a5db484ef77af6ae748d5
2024-03-12 09:27:39 +01:00
Christian Kandeler
1badc9f4a8 ClangFormat: Do not align parameters/arguments with the function name
The previous setting
    - wastes space, leading to problems when both the function name
      and the parameter (or, more likely, the argument expression)
      are long-ish.
    - necessitates re-formatting of the entire argument/parameter list
      on function renaming.

Change-Id: Ica82e284f9a5a8f2cf244938996039a59ce0b3aa
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-03-06 10:20:25 +00:00
Eike Ziller
c4e8963d8d Remove unneeded version checks
After we raised the minimum Qt version.

Change-Id: Ife81a25c3c205646eece30d6dd1a95f4b97eda01
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-03-04 14:16:15 +00:00
Eike Ziller
6c2df76737 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	src/plugins/android/androidsettingswidget.cpp

Change-Id: Ifcb16aa16c7bc2792de25d0ee7a22cf0e39a05f8
2024-02-29 12:44:58 +01:00
Eike Ziller
5af531cd39 Utils: Fix build with MSVC with C++20
Rename process.h back to qtcprocess.h

MSVC's "threads" standard header includes <process.h>, and that ends up
including our process.h from Utils.

There already was a hacky workaround in place for a similar issue with
MINGW, but that doesn't work with MSVC because that doesn't have

Simply use a name that doesn't conflict.

Change-Id: I1159cd2096b4f2dbc4a1728d0131dd6edd30ebd3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2024-02-28 08:09:05 +00:00
Alessandro Portale
903d01b934 Welcome: Implement new design
2024 redesign

Change-Id: I6629849921272d856f201693973a8e29c6465e94
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-02-27 16:42:10 +00:00
Eike Ziller
a8414effd8 Merge remote-tracking branch 'origin/13.0'
Change-Id: If752e3383b35873b696e8beca27d8838a4096c8a
2024-02-27 09:04:51 +01:00
hjk
e678da9934 Require C++20
Change-Id: Id6581a4c32ec6411195edb51339f017e4ddb51ff
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-02-22 11:22:09 +00:00
Christian Kandeler
6561d3f691 Update clang-format test file
... such that it represents the output from a current clang-format with
our current settings.

Change-Id: I0bc75c80b01e991c10bc490f4dc0270b8292fae3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-02-20 10:55:02 +00:00
Eike Ziller
8826a8b47b Merge remote-tracking branch 'origin/13.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs

Change-Id: I2a3d92a14e4dd16897d19f7d8a8c7b0ec30d14a5
2024-02-19 14:44:54 +01:00
Cristian Adam
d13a7dc9b5 CMakePM: Update cmake conan for auto-setup
Update to https://github.com/conan-io/cmake-conan/commit/
f6464d1e13ef7a47c569f5061f9607ea63339d39

Task-number: QTCREATORBUG-30169
Change-Id: Ibb8f3d353117c5c8ce21b8686cb6e2e5ee146698
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-02-19 08:30:47 +00:00
Eike Ziller
91fa962647 Merge remote-tracking branch 'origin/13.0'
Change-Id: I93b7f87dee16a6897193f3cd2acbe7e1f03ec6a8
2024-02-06 10:14:09 +01:00
Christian Stenger
293297269f Tests: Provide example tasks file
Change-Id: I529102dba9cd259de25d69a527e3ac2a0e1a9380
Reviewed-by: hjk <hjk@qt.io>
2024-02-01 11:17:42 +00:00
Jarek Kobus
0890ad05b2 Spinner: Add SpinnerWidget
Move it from spinner example and make it a reusable widget.

Change-Id: I3d74ec491f5d1cb7d012551f624cff2c618952ca
Reviewed-by: hjk <hjk@qt.io>
2024-02-01 09:29:58 +00:00
Alessandro Portale
7d659b446d Utils: Introduce StyleHelper::uiFontLineHeight
The "Text tokens" which are defined in Figma have an additional line
height value.

This change adds a getter function for the line heights.

Change-Id: I9513ac2f689292baf6e2c0a52fca8a1ec7f14dc1
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-01-31 20:06:14 +00:00
Alessandro Portale
03db2fd6c5 Utils: Add two fonts to StyleHelper::UIElement
Change-Id: I0b4ff271ef9fe91eb369c916ad886c7d39c2e060
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-01-31 20:06:05 +00:00
Alessandro Portale
4d56f9b840 Utils: Improve metrics handling in StyleHelper::uiFont
Figma designs have font sizes defined in pixels. We want to
define font sizes in points.

This change introduces the original font pixel size values from Figma
and provides the conversion to sensible point sizes.

Change-Id: Ic8356942a9bc033d2b5cd62863d2bd0a4cc6973b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-01-31 20:05:52 +00:00
Jarek Kobus
5ae37f2f84 ImageScaling: Reuse LoopList
Instead of LoopRepeat + container capture.

Change-Id: Ic37c4ff53c4ce2a217a258aa4af1272ac3d8ab29
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2024-01-26 07:51:27 +00:00
Jarek Kobus
983fc4bcf6 TaskTree: Rename stop() -> cancel()
This better corresponds to done handlers called
in this case with DoneWith::Cancel.

By the way, get rid of unused LocatorFilter::stop().

Change-Id: Ie4246b8d888fff95940a2ed41367d2817bd6339c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-01-25 09:26:12 +00:00
Jarek Kobus
79395e9df4 DataExchange example: Reuse TaskTreeRunner
Change-Id: I9075dca4c121f0a6041087bc8407569308135614
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-01-15 10:20:40 +00:00