We always want either the total number of event types or one specific
type. There is no need to expose the fact that we keep them as a vector.
Also, use int as the type of the "number" methods as that aligns better
with Qt containers, and rename the methods. We don't need to state the
fact that we've loaded the events and types at some point.
Change-Id: Iaf680ec9fa10e1070ddee6bcc079800e401775f0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
We never use it independently and only a subset of its interface needs
to be public.
Change-Id: I97bbc638270bcbb8fb1a4097fcfeacf37e96c048
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Timeline will become a generic trace handling library. It needs some
abstract concept of events and event types.
Move operator== and operator!= for QmlEvent into the test as we don't
use them anywhere else.
Move the operators for QmlEventType to QmlProfilerTraceClient. We want
to get rid of the hash there as soon as we can assume that no
application we want to profile doesn't support server type IDs.
Change-Id: Icde4e3e7634e387171dc1d8bef7bbe8e71684a1a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Squish 6.2 still accepts both property
names but Squish 6.3 is more strict.
Change-Id: I390af974425242d1f766853b80870dcb1948ef92
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Qt containers have int as size type, while std containers have size_t.
We can use auto and decltype to deal with this. Also, memcpy and malloc
expect size_t, not int.
Change-Id: Id2942d14978c8a15f72967962d551ddb20905471
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Those are needed when manipulating the model in a way that may change
the indices, like restricting to a range or filtering by categories.
Change-Id: I9f218d269cf23104c306960ef77c0fc41591daa1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The child models are made aware of possible changes in the details
strings, and in turn, we can do the finalization immediately after
acquiring is done.
Change-Id: Ibe57f158e64e5d01d4c97aa617c9b2bcc8e4e96e
Task-number: QTCREATORBUG-20106
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This reverts commit b3a92fc58e.
If this is missing some general actions in the selection tab
have an empty clickable icon area then.
Change-Id: I143cc7c4d0e2ac11959ddd3c3a58154e4cb0cb3f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The statistics have one extra valid event type: "Main Program". This
should not be mapped to typeId -1, as -1 is the invalid typeId. Map it
instead to std::numeric_limits<int>::max() and remove all the hacks
around it.
Additionally, optimize the selection algorithm for the statistics main
view: We don't need to iterate all types to select one. We can rather
use the fact that the row numbers in the source model match the type
indices (except for the two special ones).
Change-Id: I7c4dc4f84fd167f9a21c418466ad2bfce56e441f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
... to handle the remaning bool settings in the RunConfiguration.
Change-Id: Icf5c0994860793c69ebb182fb7a0e15b7245c4ad
Reviewed-by: David Schulz <david.schulz@qt.io>
Changing (gtest) filters can result in inconsistent
check states up to the root item.
This patch makes the check states consistent again.
Change-Id: I83b146c8859a352892945312ee2fd183699fc79c
Reviewed-by: David Schulz <david.schulz@qt.io>
Also add an "rtos" OS flavor to baremetal, which is popular with xtensa.
Task-number: QTCREATORBUG-20147
Change-Id: Id4d22ebfc59f123a76dc3de898c7c57bb3be8a38
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This patch just changes the minimum for replacing the kits while
keeping the tests running. Further updates to the tests should
be done in separate patches.
Task-number: QTCREATORBUG-19440
Change-Id: I25ce60ad0a47678dba4352a4b2601ca1cdd4741d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This resolves the data duplication between model manager and statistics
models, that gets in the way of updating the details strings on the fly.
Task-number: QTCREATORBUG-20106
Change-Id: I1c4881f903402dff936267de03b84d05ab7c39ca
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This way we will be able to replace the QStandardItemModels in a next
step.
Change-Id: I863fde958d29c8bf8c36aa1f501cb1224720ad7a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Remove some unneeded 0-parents, use nullptr, and do not use parameter
actions when they are not needed.
Change-Id: Ia556f83f7f1ce296fc08fa76cced7f41102d110f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
QClipboard documentation states for X11:
"Lastly, the X11 clipboard is event driven, i.e. the clipboard will not
function properly if the event loop is not running. Similarly, it is
recommended that the contents of the clipboard are stored or retrieved
in direct response to user-input events, e.g. mouse button or key
presses and releases. You should not store or retrieve the clipboard
contents in response to timer or non-user-input events."
So do not request the clipboard data when the QClipboard signals that
the data has changed, because that locks up if the application providing
the data is unresponsive.
Task-number: QTCREATORBUG-20262
Change-Id: Ifd10150e1de62c8153ab2bb93a3e953a36fb243a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Previously used to signal changes to the run configuration widget,
now handled by the aspects internally.
Change-Id: I10936610037c9df0469f3d6a66a8a3e8609b50a5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Move the emitParsingStarted into a location that is called
from both methods that had it before.
Also add an QTC_ASSERT into incrementPending, which is
triggered by the qmake parsing code directly. If something went
wrong before, then the signal will be sent anyway and in the
right sequence -- although the start signal is a bit late at
that point.
Task-number: QTCREATORBUG-20203
Change-Id: I64611e471d1e4959d5cfe0118223594a04238433
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This helps to deal with many diagnostics.
Error diagnostics precede warning diagnostis to have them on top.
If no CppEditor is active, no diagnostics are displayed.
Previously one had to scroll the document up and down to locate the
diagnostics. Now they are in a list and can be easily navigated with
F6/Shift-F6. Also, at least for some diagnostics "Get Help Online" from
the context menu seems to provide useful results. For example,
triggering the action on clang tidy issues will open the web browser
with some good hits explaining the issues.
Change-Id: Idabe30b0961d893bee39ccee431e92aeeda1cc26
Reviewed-by: David Schulz <david.schulz@qt.io>
...instead of a FileName.
If requiring a file name, one has to use Utils::Icon::imageFileName(),
which is discouraged according to the comment there. I've tried that and
ended up with a black/white icon. With Utils::Icon::icon() the icon
retains its color.
Change-Id: Id84f514f7408f4b24b74d68b4e9096ceaa0851dd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This is needed for the Clang Code Model that will also put the
diagnostics into the issues pane. Because the Clang Code Model sets its
own TextMarks, duplications are avoided.
Change-Id: I668a271096cbcad44f03ad49c007ca1a18abc53c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
dataChanged() was too generic and easily confused with other methods.
Change-Id: I68b8bcb609599e56a1a2d3c6cf53d878281f7818
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
If setting up the environment for gtest fails due to an exception
we might end up having no reportable result but we get a return
code of 1 for the test application.
Inform the results pane instead of just ignoring the return code
and explicitly send a fatal result for this.
Task-number: QTCREATORBUG-20280
Change-Id: I05e522764d6302c5b0760c4bc10e01a2248a4494
Reviewed-by: David Schulz <david.schulz@qt.io>
When the rebuild of the tree model has been triggered
due to switching between grouping by filter or directory
it could happen that some children did not get merged
into others due to (insignificant) differences.
Avoid this visual duplication by finding items similar
to the one to be added and if there is one re-use this
instead.
Change-Id: Ife49593638e0af23ffc7353e305be4ea25eb2180
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
gtestsettingspage.cpp:38: warning: C4138: '*/' found outside of comment
Change-Id: Id68e5e163623684d21d5d7e93652ef0804a46bd4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
We don't need to retain the durations after finalize(), and we can use
vectors instead of hashes, as we will cover almost all types anyway.
Vectors allow us to potentially use the position of an item in the data
as its row.
Change-Id: I2c09406f0e0a42f5f517f8444755b1664efb8f3b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
When parallelizing the build, and a verbose compiler error/warning
is printed (i.e. a template overload error), the IDE wastes a lot
of time parsing always the same file patterns, and that freezes
completely the UI. The only workaround is to kill the build process
using a terminal.
Implement a file cache, thus mitigating the freeze issue.
Change-Id: Ibcbdb6e6161af7cef424e90f7cfdc2fc34f6d7c1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Antonio Di Monaco <tony@becrux.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The new way is much reliable and now we can debug all the libs from very
first start, including static constructors, JNI_OnLoad, etc.
The downside is that the startup is a little bit slower then before.
On a Ryzen 1700X is 2 to 5 seconds slower.
Task-number: QTCREATORBUG-19081
Change-Id: Iacedf7b8aa84de5026f9c81eeca35dd377cf4640
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>