If there is a metaInfoProxyModel the version numbers will be different.
(e.g. 6.3 im the document has a 6.3 import and 2.0 from the template).
This is no problem and we can ignore this case. The check is supposed
to be removed anyway.
Task-number: QDS-7350
Change-Id: I780fc7d4b744e298bc8f3b991e75f642a4e8ae8a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
CMakePresets have the concept of modifying the configure process
environment variables.
Qt Creator had only one "build environment".
Change-Id: I131d54971b4bf7e5f87e680f817f93868d62ab29
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We expect mostly a string view which has no null termination. Code which
depends on null termination is broken and it is better break early.
Change-Id: I7c2c41fb114e6aaf3a23053b522b37f7af5e1abf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Actually, the layout is the same, but we move the control block. To prevent
padding of the short string, we use pragma pack(1). To align the pointer
again, we add some dummy data with the size of a pointer minus a control
block because alignas is not working like expected on GCC.
Change-Id: Ide86ace243dab5f487da63492ebac018da45098a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
There can be quite some copies with the swap method for the default case
that the string is inside the small string area. Instead now we minimize
copies of the smallstring area at the expense of more branches.
The swap approch needs no self tests and it uses the destructor to
remove allocated resources but it can copy three times more often. And
the destructor still has an additional branch in the copy case. Only in
the move case we can use the destructor of the other instance. This can
be surprising for some users which expect that the instance is empty
after a move(actually assuming that a instance is empty after a move is
undefined behavior).
Because SmallString is designed to hold the string in almost all cases
inside the small string area that case should be optimized.
Change-Id: I22cb62aa99b9713a221f103971f149c05e9ff6fa
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
So far the whole class was always copied. For a large SmallString
classes this were often many zeros if it was empty. Now only the non
zero area is copied in that case.
Change-Id: Ic0ea2d6f763513858a993bba3e829c9fc947e1a6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Using a value after the move is undefined. For example, if you move an
integer, it is not set to zero after the move. So you have to initialize
it again. Adding the take method to SmallString makes this explicit.
So if there is a case that you want to use the string again after
a move, use take or initialize it yourself.
Change-Id: I174116df9639d6a3f63c6f2c2a3bd184852927ce
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
rotBlock was using the mechanism to overwrite values but actually it is
only for communication to the puppet. So now there is
NodeInstanceAuxiliary as a generic way. NodeInstance was renamed
NodeInstancePropertyOverwrite to make it clear that it is for
overwriting properties.
Task-number: QDS-7338
Change-Id: Id5ab1f5c4761a184964a347f00d1449ae2d7d77f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Currently, the setKeyframeValue dialog only supports a
QDoubleSpinbox as value field. When using this dialog to
edit keyframe values of different type, they need to be
converted which fails for some types (QColor).
With this patch the dialog creates a dedicated control
for each value type. In case the type is not caught it falls
back to the old behavior.
Fixes: QDS-6949
Change-Id: Icbaa2af24f06418fa60648d23269f1a12c08f9de
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Removed the Edit pop-up on the CodeStyle page.
Now editing is available immediately after opening
CodeStyle tab.
I left a preview on the project CodeStyle page and
added a link to global settings.
ToDo:
In project CodeStyle page replace preview with CodeStyleEditor.
I'm not 100% sure that it is needed. If you have some thoughts
please write a comment.
Change-Id: I31032a97b9668b4f6b06fc6c5c704700fb44ee4f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
As it turns out, there are some bugs in clangd that prevent this
functionality from working in some circumstances.
This effectively reverts 840263eb9a.
Fixes: QTCREATORBUG-28030
Change-Id: I511eb9a5cc45e3fd5e3cc25898aebb493f1ba3d3
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>
It is now possible to move keyframes in the curve editor
in the x direction only by pressing shift while dragging.
Fixes: QDS-6952
Change-Id: Ic1a25ec6d8dec82cf5599dccbaeff7e5f34d2936
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
While it makes sense to stop trying to restart a continuously crashing
server, the restart counter should be reset regularly, as it's not
critical if the server restarts "once in a while" during a longer
programming session.
Change-Id: Ia2efca28ae4a4dba72da947d9eb776e3909d0cb3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
* Fixed UNC path parsing to correctly split between root and path
* Fixed tst_fileutils to correspond to windows path handling.
Change-Id: I2849738696a39e8282068ab164514f806f2c5fcf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
The model and the scene environment used to render material previews
can now be selected via buttons next to the preview in material editor.
Task-number: QDS-7347
Change-Id: I03089029e8420f80ed65be1c7b7a1ce4581f2fd4
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
We need to set the rpath, otherwise libUtils won't be found when using
the AutotestRunner.
Change-Id: I5644a5b52441482f48b461a28d57c17b2371d66f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Otherwise, it will block "make check".
This test is a manual test and does not belong into the autotest
category at all, but as long as it's there, make at least sure it
doesn't break things.
Change-Id: Ib4c2c5b8e840b3f1ac1f4cca2ec4869385484e77
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The jsonwizardfactory did not check if the template contained
an icon. Due to a bug in FilePath::resolvePath() which previously
returned "/" instead of "" for empty paths, the "iconPath.exists()"
check would always return "true".
With this change, the existence of the icon is only checked, if
an icon was supplied by the template in the first place.
Change-Id: I3252a6b92b34433835ab0e6e04857114ea895b46
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The "escapeUnprintable" function previously iterated through the
QString QChar by QChar. Since QChar only represents UTF-16 it would
erroneously split 4 byte characters into two characters that were
no longer printable.
To workaround, we first convert the QString to a UTF32 ByteArray
and iterate over each of the characters. This allows us to
correctly distinguish between non- printable characters.
Change-Id: I5552a79a91678994868441e67f967c68329aa1ce
Reviewed-by: hjk <hjk@qt.io>
Mitigration for regression introduced by
1548eef10b.
Labels does not created in the FileWizardPage ctor, but
accessed from the GenericProjectManager Project Creation Wizard.
Change-Id: I6c980fb9475c0c78be908ead6693c4c1dfa8b99c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
The information was present in the commit adding the test, but that's
not visible when browsing the checkout.
Amends f9ce879b61
Change-Id: If648e37ca8e3e8b84841f5e84b3ea054aa0c5b90
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Inline some simple accessors, return references instead of copies in
some getters,
Change-Id: I136574823c79ad0c63ed354b78e1ad83908e7ae5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This way one could easily test the CMake auto-setup package
manager with a vcpkg setup.
Setting vcpkg is as easy as:
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
Then you need to have vcpkg in the PATH environment variable.
(PATH=${PATH};c:\projects\vcpkg in Preferences -> Environment)
Change-Id: I0bdc268121c7488c5d2442fd4b40c9ea3b182501
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Post merge updates for the "Add toolchain information for desktop kits"
task.
Task-number: QTCREATORBUG-26750
Change-Id: Idd230589650f88d921f5f97c2bbecabac4784584
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>