This speeds up adding events using Timeline::TimelineModel::insert()
by 20% in release mode and reduces it to a third in debug mode by
avoiding a check whether the container is detached.
Change-Id: I3c81120047c33b3ce20cfb4cd309cbe17694b141
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
...as this rather gets in the way.
As before, pressing ENTER after { will still auto insert } on the next
line.
Fixes: QTCREATORBUG-18872
Change-Id: I8ee082962b5ee82781e51c3e5ee146343f808332
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Since https://reviews.llvm.org/D50898 (clang-8) libclang provides
override declarations when completing code in derived class scopes.
Applying such a completion item appended "()" and resulted in invalid
code, which is fixed with this change - the semicolon is inserted
instead now.
Change-Id: If2a04c5c719f62b98874f083a97445cd4e1db07d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Less dependent on used type and actually saves cycles.
Change-Id: I87344172c330198e98c11205a80862b3b30271e4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Helps to adapt to potential upstream changes in Qt 6
Change-Id: Ie154bd4fd513d46cb0493758be8943fc4581d71c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There have been casual unreproducible crashes.
This kind of code should be replaced by using lambdas in master.
Change-Id: I5b44a4c7b013f70a012c22ff9610e5579b165ab4
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... coming from the line edit. Nobody enters a build directory with
leading or trailing spaces on purpose.
Fixes: QTCREATORBUG-16805
Change-Id: Ic33f126fb9c4c0d008ebeaf00a78c737729be623
Reviewed-by: hjk <hjk@qt.io>
This list can be used to decide whether a target should be known.
Change-Id: I09f1d693c38974fff04c514abe52cac740e53c46
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Qt 6 API will move away from it.
Use QVector for API and some std container for internal things.
Change-Id: Iff14d48a47d5ac52ade875d9c8c84ad8a4f577d8
Reviewed-by: hjk <hjk@qt.io>
This restores a feature of older Qt Creator versions: typing "over"
closing punctuation. For instance, if my cursor is at | and I have
something like this:
if (statement|)
... and I type the ) character, older versions of Qt Creator would not
end up with )). With newer versions of Qt Creator, this behavior is
limited to the case where an autocompletion has just happened (i.e. if I
typed the opening ( character, the closing ) is auto inserted and
highlighted - and if I type it myself, it won't add a second one).
Task-number: QTCREATORBUG-16946
Change-Id: I45af3ac139d5e7c76e5f0a8a9d66762f9209a525
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
Avoid interpreting an int as a char when appending
the seed to the randomize option.
Change-Id: Ibbcd59d35acf54cc14a07493652e1fe05b187bbc
Reviewed-by: David Schulz <david.schulz@qt.io>
All test cases are surrounded by the quotes and the
quotes themselves do not belong to the test case name.
Change-Id: Ie38b0bbaed915ea38f8bd11174510c5096de3de8
Reviewed-by: David Schulz <david.schulz@qt.io>
Deprecated in Qt 5.14, alternative has been around since Qt 4 at least.
Change-Id: I4e3a53c289088368609e0d0ce2405a832d311308
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The internal build target key had changed again. Adapt and use
a more error proof pattern to be hopefully safe if it may
change again.
The wrong build target key led inside the AutoTest plugin to a
wrong comparison of build target of the project parts vs. the
build target of the run configuration which in turn ended up
in always deducing the run configuration for the test runner.
Change-Id: I32df578df85cc0206c2b8fdac00acc3a798f0d73
Reviewed-by: hjk <hjk@qt.io>
If one uses the Python - Window template and does not explicitly
change the custom base class to an existing the generated project
lacks some essential stuff.
Make the generated main file usable even for first time users.
Change-Id: I898189fd4edff88f13987d6d1df9f77e2ef6bd68
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Only use the file size heuristic on Windows, as it actually helps us
filter out duplicates there.
On Unix, there is no such compensation for the risk of false positives.
For instance, on my Linux machine, i686-w64-mingw32-gcc and x86_64-w64-
mingw32-gcc have the same file size, but they are not the same file.
Change-Id: I427d2ff36a33ffb045c71851c91312e129616f69
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This is not a limitation in practice, as the condition is very hard to
trigger.
Change-Id: Ibe89fbca6e789c61b896f1aac7a55958567cddb9
Reviewed-by: hjk <hjk@qt.io>
The observable problem:
- Create a qmake SUBDIRS project with e.g. two apps, or something
corresponding to that in a different build system.
- Add the same file to both sub-projects.
- Click on the file node for that file in the *second* sub-project
and select "Remove".
- Watch the file disappear from the *first* sub-project.
The underlying problem:
- Before the file is removed, there is a dialog asking the user
for confirmation.
- Afterwards, the code checks whether the currently selected node in
the project tree is still the one that was selected before.
- If it's not, then the node for that file path is re-retrieved from
the tree.
- However, after the dialog ran, there is no current node anymore,
presumably because the focus was taken away from the tree widget.
- As a result, the node we continue to work on is always the one
from the first sub-project, no matter which one the original
node belonged to.
The fix:
- Keep working with the original node if it's still in the tree.
Change-Id: I6c76ed96db9f55edbc7626c4ea99f166736707b8
Reviewed-by: hjk <hjk@qt.io>
Aspects are not completely orthogonal, e.g. working directory
depends usually on environment etc. So far handling this used
ad-hoc set up in the (Run)Configuration constructor. Lets make
this an official second phase, that also reduces the need to
use a specific construction order of aspects.
Change-Id: Ic98b7d4e1ac9d46a32ec624bbbbfbbc32a40ab32
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The non-deletable toolchains are the ones coming from the SDK.
Amends 3969a007c2.
Change-Id: I9586e2311378417c72c2eb6b55e6d5e29c65fba3
Reviewed-by: hjk <hjk@qt.io>
A product is a project node from which a target binary is produced, such
as a Product item in qbs or a .pro file in qmake.
Change-Id: I6a0e6bed6c02684cb03b2b18fed6a1b493fa78b2
Reviewed-by: hjk <hjk@qt.io>
On pure QML types list properties were reported as list properties.
Task-number: QDS-687
Change-Id: I34b1688953185b65d64c299c72c8170d7daa789b
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>