Fixes warnings when building with clang.
Change-Id: I8775862e3ee4d717067f5cf42f9efe58e69845c7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
With this change, if you have more than 1M events in a category, the
ones with the shortest distances from one another will be drawn
together, in grey instead of their respective colors. You can zoom in
or hover-select them to see what they are.
This greatly reduces memory consumption in those cases, but it requires
some more book keeping in order to identify the events to be
aggregated.
Task-number: QTCREATORBUG-14983
Change-Id: If54d6d7efe5f720aa72003b2c307ea9562c911a1
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
There seems to be systems producing non-ASCII error messages when
running this in directories with non-ASCII characters. Since we
won't be able to workaround, silence the error to not disturb
further operation.
Change-Id: I527ce10c062273d2f4928f2a8fab79b704de067b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Necessary especially when trying to open big files for which the
system file dialog of OSX is creating a preview.
Change-Id: I6d352b78f76571fbb7224902b05e228d584c443a
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
When resolution of a local include fails, a global resolution must be
done. When doing so, re-use the cache.
This will speed up the resolution for projects that mainly use the local
include directives also for global headers.
Change-Id: I7488c1977a44b881f90faa863d22f6276c20b147
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Some compilers don't like explicit initializers for arrays.
Change-Id: I49d056e0000334857a635d8da10491c0d1e5f36c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
You can now interact with QML objects selected with the "select" tool
again, when unpausedEvaluate is off.
Change-Id: If6b4a55193a8949b2e3048fe78443c5df6710885
Task-number: QTCREATORBUG-16300
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Instead of the progress bar we can now show the number of events we
have received, and the number of finished finalizers. This should give
a the user a better idea of what is going on.
Change-Id: I324fefbe6d5e3c24b080bfbc103c4317fa585215
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
First make sure the configuration is reset: This makes sure the correct
branch is taken in parse().
Then trigger parsing through the event loop so that its signals will
definitely arrive after persistCMakeState has returned.
Task-number: QTCREATORBUG-16258
Change-Id: I103ca6b6119ec70c99828d883d728a8bb97fd6bf
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Check CMakeCache.txt for changes and ask whether to apply these to the
project going forward.
This will only consider settings that were previously changed by Qt Creator
and will not pick up on newly changed settings.
Change-Id: Ia20c67bc2a5e9965243f08003c10ec684875387f
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Sometimes cmake changes the type of random settings to INTERNAL.
This change keeps them visible even then.
Change-Id: Icd6bf26b8e2cb031b76bbba8bf0aac70c349fb7b
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Storing traces in binary form is preferable as loading and saving is
faster and the trace files are smaller.
Change-Id: Ia7340ac526d5ce9391b1e32fc48fc1fab3ffa13d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
As we only ever iterate the master event list in a linear fashion, we
can use a temporary file to store it. This should allow for larger
traces to be handled without running out of memory.
Change-Id: I0d2aea6f998458fe5f426f6fef0f6937e915ae68
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This removes the last access to the master event list, which allows
us to also remove the accessor function.
Change-Id: I0e70c2eb23d2b11aa8b131c03eb3adfad1a9b9e7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
We want to get rid of the big master list of QmlEvent in
QmlProfilerDataModel, as that gets very large for longer traces. In
order to reduce the dependencies on that list we load the events on the
fly into the child models while they are being received, rather than
having the child models query QmlProfilerDataModel for the event list
later.
As the trace client so far only emitted rangedEvent() for complete
ranges we run into problems with models that need their events sorted.
The rangedEvent() signals were sorted by end time, rather than start
time which makes it inconvenient to analyze them in a stack based way,
for aggregation. This is solved by passing on all the details from the
trace client to the models, with the QmlProfilerDataModel aggregating
the type information before having the events dispatched to the child
models.
Change-Id: I5831a20551f21cf91e27d298a709f604ebd96c3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This paves the way for driving the event loading from the model
manager. Also, unify the loading and eliminate the two different
classes for the children models.
Change-Id: Ic89e757963292d75b3b6fd7d6012f09194dff5a9
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
When announcing features models have to provide functions that handle
events for those features now. The model manager gets a function to
dispatch events to the models that subscribe to them.
Change-Id: I3fd80443a68ba264a513d8d53ed473cf072f1dc7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
All the models do the same thing when loading the data: They iterate
the list of events, determine for each one if they accept it, and if
so, they load it. After the list has been fully loaded, they do some
finalization. This can be centralized, and ultimately we won't need to
expose the central QVector<QmlEvent> for that anymore.
Change-Id: Ia82facfdc3968200bbec323a02f2fcc02ac44e9e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Some models check the visibility to determine what to load.
Change-Id: I94d42ddc6e531d04f240c66d4b789826d8c17cf6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
It doesn't make sense to select a model without also selecting an item.
There may be more code around that unconditionally uses selectedItem if
selectedModel is valid.
Change-Id: Ie286725dea5688ebb9ad09fa89258d10a69ae81c
Task-number: QTCREATORBUG-16282
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The progress bar in the state widget was rather meaningless. We rarely
know how many events we expect and it's rather hard to tell how long
each model will take to process them. Instead, we just show a 0-ranged
progress bar to tell the user that "something is happening".
Change-Id: Icb80840d1f0a1538bcf254faa37cbb36e25d342c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This change removes the "mini gradient" between outline and filling.
At least in HighDPI, this gives a crisper impression.
Change-Id: I15b97393a8650c28dc52a38d4d106adc95ce261c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
There is no reason to have an elaborate painting routine with rounded
corners and shadows. It doesn't fit the new "flat" paradigm and it's
unnecessarily complex.
Change-Id: I83ace95fdcccfc4cc41b17640a10154f7f64f89c
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
All other targets call their devices "Device",
not "DeviceConfiguration".
Also, add a few namespaces and inline the trivial
QnxDeviceConfigurationWizardSetupPage files.
Change-Id: I26168d1b676f6a646b11b61d4cdb7d0f30e18242
Reviewed-by: Anton Kreuzkamp <anton.kreuzkamp@kdab.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>