ColorPreviewHoverHandler only considered #XXXXXX and Qt::XXX
to preview colors. We can also have named colors that are
constructed from string literals. Add handling for string literals.
Note that this creates preview when hovering over any color related
string literals in the editor regardless of whether they are bound
to color property.
Also fix the crash due to the out-of-bounds access by adding boundary
check.
Fixes: QTCREATORBUG-30594
Change-Id: I5084b743c76beb6f343bd07049e3051a55fe8d53
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
If the onGroupDone() handler returned DoneResult,
this result was ignored by the running task tree.
Fix it so that the optional DoneResult takes
priority over group's workflow policy.
Add tests for it.
Change-Id: I7ffdef2af08337d7214f2c3d4b68153cddaad425
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add category classes for the model to make it tidier and easy to
extend (i.e. adding more categories).
Change-Id: Ied8641802f600c5cb0b036aba6ad44dbde612a09
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Qt Creator will use the CMake macro expander for the "vendor" string
entries.
This would allow the following CMake preset snippet to work as a CMake
preset user would expect it to:
```
"vendor": {
"qt.io/QtCreator/1.0": {
"debugger": {
"DisplayName": "LLDB Dap 18.1.7 Debugger",
"Abis": ["arm-darwin-generic-mach_o-64bit"],
"Binary": "$env{HOME}/llvm/clang/bin/lldb-dap",
"EngineType": 1024,
"Version": "18.1.7"
}
}
}
```
Change-Id: I4ea5ce0b004ff05cebbe3e0ce4b6bcc09c716322
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We have very often the following pattern.
bool isKeyword(const QString &token)
{
static const QStringList keywords = {"if", "then", "else", ...};
return keywords.contains(token);
}
Instead we could remove the the allocation and give the compiler
the opportunity to transform the code. constexpr makes that prossible.
bool isKeyword(QStringView token)
{
static constexpr QStringView keywords[] = {u"if", u"then", u"else",
...};
return Utils::contains(keywords, token);
}
Change-Id: Ic25aa676085bf4bfc6e9ff3194813ff019bd40af
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Instead of adding a second toolbar widget, replace the current one. This
avoids weird situations where you get two outline toolbar widgets, one
provided by qmljseditorwidget and another one provided by qmlls.
Turning the language server on deletes the combobox created by
qmljseditorwidget, such that qmljseditorwidget has to recreate
its combobox after the language server stopped being in use.
Also make sure that m_outlineCombo is set to nullptr after it gets
deleted, such that late jumpToOutlineElement and
updateOutlineIndexNow() calls do no try to attempt stuff on an already
free'd pointer.
Change-Id: Ie323a7b3e7a4d5e24407fcedf8383dd2f0efe525
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Since the overall nature of the communication is asynchronous calling
functions might not expect that an error is reported from within the
sendMessage function.
Fixes: QTCREATORBUG-31054
Change-Id: Ie73510eb632408a9f7a9367c3a3e47ad021da7fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Adjust FOV orientation depending on width and height of the rendered
viewport to ensure rendered scene stays within the viewport.
Change-Id: I83ed2b547e3bdaeb106dd938b94c72c0b2b8c2e5
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Add a note if a process is started on the main thread. That adds
essential information to "blocking without event loop".
Task-number: QTCREATORBUG-31068
Change-Id: Iaf3bab88b79391c4ddc17d18a81e6d8ab712d22d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
The shared memory is allocated based on the key, so if every icon
is sent with same key, they will use the same shared memory. If QDS
side doesn't read the image before the next image is written into the
shared memory, QDS side will get wrong image if all images use same
key.
Fixes: QDS-13013
Change-Id: Ie8188520a76ca057a5b0f0927a7726652609fa35
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
If preview generation crashes for some reason, the puppet cleanup needs
to be done asynchronously instead of directly in the callback function,
as callback is triggered from cleaned up instances.
Also add an error text to the canvas where the preview should be shown
if it can't be generated due to crash.
Fixes: QDS-13012
Change-Id: I6196e5b395b056f6b3033ea4da3a0101ef8ea48f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Change from Document to Persitent auxiliary data type.
Change-Id: Ibaeae5985f49370292f102ccd76c8f1a77199891
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* Forward the auxiliary property formeditorColorProperty to the states
editor delegate
* Add functionality to enabled/disable certain colors in the form editor
canvas background combo box
* Disable context image property in the combo box when it isn't set
* When context image is set as the canvas background make the states
background transparent
* Fix Item as root being rendered with white background in
Qt5NodeInstanceServer::grabRenderControl
Task-number: QDS-12914
Change-Id: Ie2850986f4a54c6e03f33527d8308d01ba16884e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
and collect functions to identify images,
assets and resources in one spot.
Fixes: QDS-12839
Change-Id: I510673b0756dc1e580d753f54831b4c23224056b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
RewriterView does not own m_textModifier, so it needs to be checked.
Especially if it is called by a timer like in the amendQmlText() case.
With m_textToModelMerger, its a different story because its
an owned unique_ptr. So no need to check it.
Pick-to: qds/4.5
Change-Id: If19b58cc94ec5e8ddd68a8c12acba0f880cbdc6b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This way we can step into Qt source code, and run startup commands like
`process handle SIGSEGV --notify true --pass true --stop true`
Change-Id: I495c1ef1554157989f4013473c22217e2d980053
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
"Show All Kits" now button appears when project has been just
configured.
Change-Id: I68c61aa56aca27c98afb60ada4a4d900db404a6c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When importing multiple 3D assets at the same time, the import preview
camera rotation and position are now stored and restored when previewed
asset changes.
Fixes: QDS-12999
Change-Id: Ib65578e246ba4344188e97540546521b0cb39e5f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
... from the project tree context menu.
Task-number: QTCREATORBUG-24575
Change-Id: I65a9daf237cbbcfcfdf2b7b67191c249695a6b7b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We need to distinguish between the global settings and the
settings used for a manual analyzer run.
Fixes: QTCREATORBUG-28951
Fixes: QTCREATORBUG-30615
Change-Id: Ic2dabd14e4d06d77bebcedd9e653f54a4d179c82
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This would allow manual registration of a GDB/LLDB DAP debugger from a
CMake configure preset as follows:
```
"vendor": {
"qt.io/QtCreator/1.0": {
"debugger": {
"DisplayName": "LLDB Dap 18.1.7 Debugger",
"Abis": ["arm-darwin-generic-mach_o-64bit"],
"Binary": "/Users/cristian/llvm/clang/bin/lldb-dap",
"EngineType": 1024,
"Version": "18.1.7"
}
}
}
```
This way I can configure a project with a toolchain that uses a DAP
debugger (not every gdb/lldb has python bindings) and have debugging
working out of the box.
Change-Id: Id9bff26b6544b7af99caccb18cdbe0edb334218a
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: hjk <hjk@qt.io>
... also for non-GCC and non-MSVC toolchains.
Task-number: QTCREATORBUG-24040
Change-Id: I4133c4dac8183012e1bc6fd8a037f75a50d3a166
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Rename add3DInstance() to addItemToProject() and use it in
addToProject(). This makes things slightly clearer.
Change-Id: I25475559b4fcb864887f57617d125785a8e78fbe
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
lldb has a dap interface since a while now. The "GDB Dap" preset is not
compatible, since gdb uses the same executable and lldb has a "lldb-dap"
(previously "lldb-vscode") executable.
Change-Id: I4105223659de093f0ee44129527c4830d21a3090
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
"Calls of functions that start with an uppercase letter
should use 'new'." is a warning, not an error.
Fixes: QTCREATORBUG-27522
Change-Id: If1f82665819053b72e412a51cf4cf3c9b3e91ae2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>