This fixes throwing an uncaught exception if local variables contain
arrays or pointer to a type that can not be looked up.
Change-Id: If9407e5cf5d86bb89594266d4122a53dd65a80bb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This partially reverts 5ac13620. Looks like "soon enough" is not
soon enough for non-trivial projects.
Change-Id: Ib0d317c36e78f1af12b6c1f2a2aab48922517e98
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Block access to the BuildDirManager while one of its errors is
processed. This prevents more errors being raised as part of
error handling, which can trigger a loop.
Task-number: QTCREATORBUG-17869
Change-Id: Ic6f8d9a3c3b4e63f27260c40f27ab09d20b62b3e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This patch reduces the time to generate a project tree by 15% in
my test project.
Change-Id: Ie5956cdd2108873118654857dc299bdb0b6d3636
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Enable adding nested nodes not a child of the top level node.
Change-Id: Ia6bb4ed6e3e6649a98151c88133ff5ec7197573d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Otherwise we are not going to do anything with the result. The
searching can be very expensive would happen whenever the mouse moves.
This also makes the q_ptr in TimelineRendererPrivate obsolete.
Change-Id: I582d0e85b63925f3f329e9a7463f2abee7947c5b
Task-number: QTCREATORBUG-14983
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Only ever emitted by the cmake project and never consumed
Change-Id: I689120a2ac2c77896eed72da9bd0be194ac1af86
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Most users expect build related entries in the Issues pane, so prepend
debugger related exception entries with a prefix making clear that these
entries are not build related.
Task-number: QTCREATORBUG-17806
Change-Id: I8a78c1eff3a4386f108997954329b694c223400f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Having each source/header/form file on its own line
makes further moving around (e.g. sorting) much easier.
Also make sure there is a space between file name and
trailing backslash.
Change-Id: I54fccf7b6249c86034b8f41f58391ffcc63a0a27
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
We can't just change the node name. A branch named foo/bar can be
renamed to baz/yyy. We have to refresh the model after rename.
Change-Id: Id9dfaa15b9e0384668223ae746376025267f89a3
Reviewed-by: André Hartmann <aha_1980@gmx.de>
If the current branch was foo/bar it was not detected correctly.
Change-Id: Ic030a6f4659801c6da2716c272a418c89585e22f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
* Use member initialization
* Use nullptr
* Remove unneeded local var
Change-Id: Ibca6c3bc5caf9e028166b833ba1ed9fc165e290b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Seems to be needed explicitly at least on linux due to the use of
sharedmemory_unix.cpp.
Change-Id: I59e5b5c6dabbe05afa26c4367cce62286986b069
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Do not compress foldernodes that differ on their type. This makes it
possible to use FolderNode::compress() in one more place in CMake.
Change-Id: I4721d5d12e3032ee70a1c3d9e87df49d59751f04
Reviewed-by: hjk <hjk@qt.io>
Checking for qtquick is not sufficient in some distributions that
install the development packages for the real thing but not *-private.
Change-Id: I5e6959f92b0da0a7a1b7770ed6e591a3ed1dae29
Reviewed-by: hjk <hjk@qt.io>
Checking for qtquick is not sufficient in some distributions that
install the development packages for the real thing but not *-private.
Change-Id: I866539c54c845cecb37df8761f006046b28aec80
Reviewed-by: Cristian Adam <cristian.adam@gmail.com>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Visible in e.g. the C++ Symbols search. The icon returns a higher
resolution pixmap, and QItemDelegate::drawDecoration does not position
pixmaps with higher devicePixelRatio correctly. Just draw the icon
ourselves with similar code as QItemDelegate draws icons.
Change-Id: Ia412de026c3fb38d91cb87381475b6884005a231
Reviewed-by: Serhii Moroz <frost.asm@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Got disabled in 16944277d2 during
refactoring.
Delegates and models are not the right places for registering commands,
since there can be multiple instances. Do registration in project
welcome page, and let delegates retrieve shortcut string from the
models.
Task-number: QTCREATORBUG-17881
Change-Id: I06e3c29e57ee893865bf108a2f13bdb385c26d70
Reviewed-by: hjk <hjk@qt.io>
As we are using this as a queue, with many calls to takeFirst(), a
QVector is prohibitively expensive here.
Change-Id: I151452ae1299ab520a3aceae7ff3da0e29fe9bf9
Reviewed-by: hjk <hjk@qt.io>
We get called back soon enough when projects are parsed.
Also, mark the container node for initial expansion not
the project's root which typically does not exist yet.
Change-Id: I49100f83f8c57d5ef80d0f6f369330b646707260
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
And inline the filtering to avoid the duplicated type check
and save a few cycles.
Change-Id: I0dae5e51b05b0a4e581359e7ad7d3b9d4f684141
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The release mouse event does not come through if we start a drag.
There was already a workaround that stopped working with 5.8 and
did rely on private API.
I removed all usage of private API and added a simple workaround
that synthesises a mouse release event.
The actual execution of the drag is now asynchronous to
ensure the release event is delivered properly.
I removed all dependencies on private API in the designer.
In Qt 5.9 the issue seems to be fixed in Qt.
The workaround does not seem to get in the way of the fix.
Eventually, the workaround can be removed.
Change-Id: I9b45b255da5e44c26aba2acf4a42f88537126f75
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Do not set up empty root project nodes and fall back to the default
project tree instead. A project can not ever be empty: It should at
least include the project file itself so that the user can fix
breakages when project parsing fails.
Change-Id: I692e299f56727305120777cdc532607d5b0be99e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
A "diagnostic row" is displayed in two columns with the help of table,
one cell being the location, the other cell the diagnostic text. At
times, the location is wrapped too, which makes the whole diagnostic
display look fragmented/broken.
It looks like there is no way to avoid the wrapping of the location
column because Qt's CSS does not support the needed
style='white-space:nowrap'
Avoid the columns for a consistent display at all times.
Change-Id: I35e4a1c831f18e2bce6a4c9ed891fcae439d1a1b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
For some diagnostics ("#include_next is a language extension"), the text
has a smaller width than the category and option together. In this case,
there is no space between category and option, which looks terse.
Change-Id: I27e4736a0d2aa527d5733c6115bc8d40fe7794e0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The designer used a over simplified lookup,
that did not distinguish between e.g. Controls 1 and Controls 2.
Instead of fixing the lookup we simply use the working lookup from
the QmlJSEditor.
Change-Id: I2d31e633eaadc67e211d44bad307b26993f21fc9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
To ignore width or height the item has to be anchored
on both sides.
Task-number: QTCREATORBUG-15915
Change-Id: I3f4595788a08c295be93b20ebfabd20eb4fe3a63
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>