The optimizer took quite often the slow join first. So now we have one
method to walk the prototype chain and then use the type ids in simpler
statements to get the end result.
Task-number: QTCREATORBUG-30599
Change-Id: I3e9d4ec85ba75801769eb8760fda6e0400300899
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
To avoid a full table scan we have to separate the where clause into
three statements and union them. So now it using an index for
everything.
Task-number: QTCREATORBUG-30599
Change-Id: Icdc368cda4c59e64c626da3c3dc093ee3ae95db4
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Th optimizer of Sqlite can not see that both forms are the same. The new
form is creating an more performant version.
Change-Id: Ifbca0627c20a873aa1cee0851d876c919bef4f05
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
There can be unique and not unique indices with the same columns. So we
add that attribute to the name to distinguish between the indices.
Change-Id: I96eac1f0e95c135d625f09fd5399b16f2293d645
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Projects that have dll artifacts need to have the build paths added to
PATH so that the dependent executables would start.
Previously the code checked only if the dlls were present on disk, now
it also checks if the dlls are part of the project's build artifacts.
Fixes: QTCREATORBUG-30644
Change-Id: I924753ffaf0a9720acb70585ccd589abab1b9cc1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Give each editor a context and register editor actions individually for
that context. This removes the need to tell the action handler the
current editor. Additionally all actions are now available in editor
widgets outside of the EditorManager.
Change-Id: I0109866b180889762f8bd8aa07874d8d7c55bfa6
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Latest changes to QSR tooling added limit checking for certain properties,
so the cmake-project template needs to be updated slightly.
Additionally remove the import versioning.
Task-number: QSR-2398
Change-Id: I55542c9fd74ebd950b6aeb9b64a22dde177c5a4f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Simulators can be managed via Xcode, which must be installed anyway. Re-
implementing this functionality is not useful, error-prone, and a
maintenance burden. Point users to the corresponding Xcode documentation
instead.
Add a button for updating the list of simulators in the run configuration
settings (which didn't update when simulators were changed in Xcode).
Change-Id: I5a861f21851bb866d45a703f46bb20ed5df960e8
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
If the device can point us to the local equivalent of a file we can
read that one instead.
Change-Id: I002b5babae13677d5814b639ca40a62f23a8b374
Reviewed-by: hjk <hjk@qt.io>
- Replace hasNext()/next() with a `bool advance()` method
- Replace QAFE::FileTime with QFile::FileTime, they are identical
- QAFE methods now return std::unique_ptr, which matches reality as call
sites stored the pointers in a std::unique_ptr anyway
FileIteratorWrapper:
State::BaseIteratorEnd is only needed when using hasNext()/next(),
hasNext() changes m_status to State::BaseIteratorEnd, then next() checks
that and changes m_status to State::Ended; this isn't needed with
advance() since it's only one method.
Change-Id: I4414f334715237a2fc13ace6f4733d975e2cfaa3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit ba3f0bc841)
Setting m_status to BaseIteratorEnd should only be done in hasNext(),
because the latter is always called first, before any other member
function.
Change-Id: Ie55518a850655730fb760226d58c4fb171a7f2e1
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit 1ddc71fcda)
Only call setPath() in hasNext(), the latter is called before any other
member method, and setPath() is guarded by a bool to only run a single
time.
Split some code to a helper function, which will be reused when porting
to new QAFEngine API.
Change-Id: Ibda0ede18593a3a20729b31e03e994ad2de126de
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit ad446d5689)
It should be what FilePath::specialRootName() returns,
"__qtc_devices__". Looks like nothing used the string retured by next()
so this didn't cause issues before.
Change-Id: Ib9c48d8ea032b1ca7d9ec08003f9d51c5a2ae528
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit 71e6916b37)
The other two parameters, QDir::Filter and nameFilters string list, can
be retrieved from the baseIterator.
Change-Id: Id33a95f3b490e8f5846e9728fc66da0df5195be9
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit 2f78fd4358)
The header from KSyntaxHighlighting is not exported to the dev packages,
so separate plugins using the syntax highlighter fail to compile.
The include is not even used in that file anymore though, so just remove it.
Change-Id: Iff9be4e35c1edb5492707b00a5afae96d85db16a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
In preparation for other plugins to be able to use it.
Change-Id: I36542e11dff5b0cc655ecee2439df6ea7c14858d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Since QStyle::subControlRect() used to return bogus rectangles for
SC_GroupBoxFrame, and therefore, as workaround, ManhattanStyle
calculated the position of the QGroupBox frame itself via code copied
from QFusionStyle.
6.6.3 fixes the SC_GroupBoxFrame issue, but in turn, the old workaround
fails. Therefore, this change uses old calculation when running with
older Qt and the newer one with Qt >= 6.6.3.
Fixes: QTCREATORBUG-30632
Change-Id: Ie9c6c078ba9bd0e7012192e9d887a702e307d294
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
It was giving the first category _alphabetically_ two columns. Which was
correct a while ago, but since we have a separate category order defined,
it should give the first category in that order two columns instead.
Fixes: QTCREATORBUG-30634
Change-Id: Ie89c84f31617a9f90fe18b66bcea352ae3ea56d5
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Adds a base issue reporter that checks general comaptibility
between build device and project / build dir location.
Change-Id: I7bfe360f758e44fdad9f471d47f14ffdd5d61853
Reviewed-by: hjk <hjk@qt.io>
Temporary mounts are more problem than solution.
We want the user to specifically mount paths himself
instead of trying to guess which ones should be mounted.
Change-Id: I635ac2555e11979a4eb8cd60c1a22b02a377a5ba
Reviewed-by: hjk <hjk@qt.io>
They were originally put alongside the CppCodeModelSettings for
simplicity, but there is no coupling (anymore?) between these two
classes.
Change-Id: Ic24df109b74a5b5c39de073c938c6de12f4aa319
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>