To support extending the macros and calling the
McuTargetFactory::expandVariables function statically, the macros are
added as part of the SdkRepository.
This commit also adds helper functions to extend macros other than the
ones created from the packages.
Change-Id: Ie7d2a9ad626782eec18738bdd3472ffd202e7a36
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Packages without version detection should not get a version warning,
even if the json contains a version list. With this change, a package
without version detection will not get a status with invalid version.
Additionally, in the case of failed version detection, it would be
helpful for the user to list the acceptable versions. The status text
was updated to list these.
Change-Id: I814a86c741d573732072206ef1e969790f175e6a
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Previously, a message about successful kit creation was printed
for every kit without verification. So move the print to the
actual kit creation function. Issue also reported in
QTCREATORBUG-28281
Change-Id: I0e2cb463188210164a3582e7fa465a4ebb79b812
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
I guess this was removed by accident at
d99a6d2efe
so I just adding it back now.
Task-number: QDS-8111
Change-Id: Ib42ce5cc0cf13608f07b0671adce149c15878ef0
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
modelAboutToBeDetached can still calling the model. So calling the
function from inside the model destructor is a little bit undefined. To
get around it we add a custom delete which call the detachAllViews()
before it deletes the model.
Change-Id: I38ff8283f4e1ac48b256aeb9fd5bb9f3fb6bfed1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Most materials in the material bundle require at least QtQuick3D 6.3,
so we hide the bundle materials from material browser when the detected
module version is less than 6.3.
Fixes: QDS-8100
Change-Id: I9f50b507c3c3c50f821fa6a902995b999da24464
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
The GHS compiler invoked without a valid input source file returns
an error code. Use gversion instead, a utility part of the toolchain,
with -help to retrieve the version string.
Change-Id: I289f462d322db045368cfb5a02b6644838559639
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The plugin currently requires valid packages before updating kits.
Invalid packages are ignored. This change makes writing to settings
consistent with this approach. If any of the given paths are invalid,
changes are not applied.
In order to not accidentally include changes made to packages for
other targets than the one visible in the UI, the Apply-button in the
Devices page now only stores the current target. This also avoids
unpredictable behavior when more than one target in the repo track
the same dependencies. The path shown in the UI is the one which is
applied, not a hidden path currently stored in another target.
Change-Id: Id0a6ec1aebd53357d0ee2fb68f14529f34ae887f
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The recently added McuPackage::Status::ValidPackageVersionNotDeteced is
supposed to be a valid status for an McuPackage, similar to
ValidPackageMismatchedVersion. It produces a warning symbol, but is not
supposed to block kit creation.
Task-number: QTCREATORBUG-28246
Change-Id: Ifdc8488d28019ec76d29114501876c6d7d5e700c
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The JSON entry "setting" contains the key under which the path to a
dependency is persistently stored by QtCreator. Some packages were
missing this entry, and as such changes to their settings were not made
permanent.
This patch updates test jsons to match Qt for MCUs repo.
Task-number: QTCREATORBUG-28246
Change-Id: Iaa3eaf28648e97e677a2dd3f1ab5580c18586ca2
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The Destructor of the class Model::Private indirecly called
modelAboutToBeDetached which did lead the FormEditor to try
to access the already deleted ModelPrivate.
This patch is a quick-crash-fix that prevents this by moving
the detachAllViews call from the destructor of ModelPrivate
to the destructor of Model.
Note that a clean fix would probably make the access of
ModelPrivate outside of Model impossible but this is outside
the scope of this fix and left for a later exercise.
Fixes: QDS-7587
Change-Id: I0d03423ae6eaf4d86eddba26ec5edb643ea5a51e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This patch hides the scrollbar overlay when the Scrollbar itself
gets hidden, for example on mac for documents that fit into the
viewport.
Fixes: QTCREATORBUG-28336
Change-Id: I2cb61affe38d0066a3d6f3ca012f97674b3d1539
Reviewed-by: David Schulz <david.schulz@qt.io>
Nodes with dynamic properties cannot be reparented under a newly
created node in the same transaction without breaking said properties.
To work around this issue, ensureMaterialLibraryNode() was split into
two transactions. This also meant removing ensureMaterialLibraryNode()
call from materialLibraryNode(), so now material library will only be
created in response to model attach or qtquick3d import addition.
This should still cover all cases where user doesn't manually remove
the material library node.
Fixes: QDS-8095
Change-Id: Icff449b2bee0da2b43b02bbf5e0d28189aa2b3a9
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
If text was given an underline and the background was unset,
it was drawn with a black background. This had been implemented
for QTCREATORBUG-18101. Removing that patch does not seem
to re-introduce that bug.
Fixes: QTCREATORBUG-19191
Change-Id: Iaad05abbc7c673d233601ef72d1641e2edc530c5
Reviewed-by: David Schulz <david.schulz@qt.io>
Remove the unneeded stunt when clearing cache which only led
to crashes.
Fixes: QTCREATORBUG-28269
Change-Id: I908bcbee0f49369a589862cd8fbd3253444246c3
Reviewed-by: David Schulz <david.schulz@qt.io>
The deviceshell script is slow to upload large amounts of stdin data.
Use QtcProcess directly if the size of the data exceeds 100kb.
Change-Id: Ide63bfd973d31f7f076ab7cd4be73cc85c9239ea
Reviewed-by: David Schulz <david.schulz@qt.io>
Just pollutes the General Messages pane, so skip
execution if tool is not existing.
Change-Id: Ib78e3a8ccd992ff2d58f183102c778c800156b89
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The document layout rounds up the height of lines in
QTextLayout::boundingRect, so we have to do the same for calculating the
position of highlights on the scrollbar.
Fixes: QTCREATORBUG-28299
Change-Id: I36496ebec7fe7861feff7cb8a2647a11ee078b8f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Previously every time a qmake project was built, the
"buildDirectoryChanged()" was emitted, leading to a complete
reparse of the project file, tests, qml files and qml imports.
To keep "QmakeBuildConfiguration::updateProblemLabel" be called,
we re-introduce the "buildDirectoryInitialized" signal.
Task-number: QTCREATORBUG-27785
Change-Id: I32d881eacb8cf26050c33da643c74c2cab4dc22d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Previously the "Scan for tests" dialog would pop up
momentarily during project loading, even though no
files were loaded yet.
Partial fix for: QTCREATORBUG-27785
Change-Id: I4087ba23d00a628465dd1532a725d9bcc37dec30
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Due to a behavioral change in QTabBar the tabs to choose between the curve editors "factory presets" and "custom presets" got lost.
Reordering the function calls made it appear again.
Prevent the user from assigning the same name to different easing curves.
Fixes: QDS-7720
Fixes: QDS-7721
Change-Id: I247309824868625d2e581f54590dd4c3d99528dd
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Desktop toolchain is picked up from the registered toolchains
in Qt Creator, but it can be failed, for instance when there
is no toolchain for MinGW, and it causes crash for now. An
error handling is added to avoid it and inform to a user.
Task-number: QTCREATORBUG-28296
Change-Id: Ie16cd6c75df9be510bb49b765ad61ddf189a41db
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Substitute some includes with forward declarations.
Change-Id: I7638a2759b680cfc4e3dfb10631200bb46453998
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The current criteria allows to select LLVM so that it can cause
an unexpected behavior. Explicit toolchain type check will prevent
the invalid toolchain setup.
Change-Id: Ib0afa4304650dd451c12d7a8d950b26115661862
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Utils::Environment takes care of the case insesitivity of the key of
environment variables on Windows.
Change-Id: I624340d30c6b170b5d0a86791f26a4841a0b2fb7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>