Move the main part of the loading work into a background thread
and show the standard progress indicator for the "reading file"
part of the load operation.
The load operation can be canceled now.
Change-Id: I4cb3b762072ab4a0665dcf9d4a39d6d6630d22e8
Task-number: QTCREATORBUG-11822
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Trace data is saved in the background, progress is emitted, and
the save operation can be canceled. While data is being saved
the views are disabled and a semitransparent layer is put on top
of the trace view.
Task-number: QTCREATORBUG-11822
Change-Id: I94ec93147fb1788fc85939ddc591961d058050b5
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
... and default to C_GLOBAL. A rather common case.
Similar for ActionContainer::addSeparator().
Change-Id: I7f9ba573af201c0a472132d5a494ad17cc4175b7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Fallout after the demise of IAnalizerTool.
Change-Id: I68f936ed5f2929dc4f09a408bdf6b0ea38e568ef
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
It's always known from the context when needed.
Change-Id: Ibf314dfb779190e89b775acab784ed71acff2c83
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Slim down tool before dissolving.
Change-Id: I502aaa8860293acf8bfd93f541b751d5b96a9563
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Medium term all *Tool should be replaced by RunControl(Factory)
to make the analyzer architecture more similar to Qt Creator core
Change-Id: I892cfc7fe45c73cc6ac4442a288810b83cb24c17
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I492792bb9e5655c55795e938031efc557c9a462f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Added a text field to search for notes within the timeline's events.
Task-number: QTCREATORBUG-13417
Change-Id: Ic121ec8ade42b1ef99d5da13d1f732761d244327
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Using QQuickWidget removes the need for some work-arounds.
Task-number: QTCREATORBUG-11822
Change-Id: I1e344f0a9c11b4aa8601e8e1056602d855fb3f4d
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Selection propagation by typeId was still using the old general
aggregator methods that have been removed by now.
Change-Id: I955149e6ed8f3d6274a2a15a882e1f10341302e4
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
The previous version makes no sense as two events for which
start2 > end1 cannot have start1 == start2. Also, as we only keep
parents, not children, in the parent list, we don't need all the
special cases for grandparents.
Change-Id: Ic6bae2fe237a31726fd55f560c309ba09b5af25d
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Since the reorganization into rows it would behave strangely when
reordering small categories under large ones.
Change-Id: Ic481710a706cc06a699e50ff60eaea2937a50530
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Using the TimelineRenderer's render passes we can as well draw the
overview in a nicer way without procedural painting.
Change-Id: I9464f10c52988a6af10c849878e678e4958a1057
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
With the extra parameters we can also use it for the labels on the top
of the overview
Change-Id: Icd1a515498455f1f6247845ac559f07eaef40d08
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Like that we can easily add different renderers to use the same render
passes, e.g. for the overview.
Change-Id: Ib7dcb77a45e74488971011310f53f7639286768d
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Like that we don't have to expose any private members and we don't have
to care about QSGNodes we'll never create in a render pass.
Change-Id: I4e71da24c85de8f8f73d58fc2e76dc5e82ee31ae
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
It will be a public class in the timeline library.
Change-Id: I77a3bedd9e63b57c199680e89da1950ed7b7e3d1
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
TimelineRenderer will be a public class in the timeline library. We
don't want to expose its private members.
Change-Id: Ib82ab8b30f702293d1d8b5d101b7dd0e3380194c
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
The new namespace "Timeline" is for classes that are supposed to go to
the generic timeline library later.
Change-Id: I1f6dce59de2c37398b1ed89473e1a94ec020104b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Remove some unnecessary code and consolidate things.
Change-Id: I3f6c971b84368013a60a7a7fa9545480b0cd551b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This makes it much easier to deduct where it's coming from.
Change-Id: Ica85e1df0a03a01c1b319b3523fb5746e6c2d8f8
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Split it up into some more files and remove all implicit cross
referencing by ID.
Change-Id: I3f829d6701906b1b054d18680d9e670b35b1716a
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
By using the scene graph we can retain the geometry for events in
the timeline on the GPU and potentially speed up the rendering for
large amounts of items.
Change-Id: I2cfbb8ef4ebc7b56f1977ec1facb4f2e7f2002ee
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
When overpainting, some note markers won't be visible.
Change-Id: I7888d43e8b1e3503b7a90e773e9c8138b70070f0
Task-number: QTCREATORBUG-13534
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Generate a score for each candidate event and choose the one with the
best score in the end.
Change-Id: I463e87d2e6cb4e182f7febda7182ae8abf304e04
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
When precomputing all timeline items in advance we cannot react to
height changes later
Change-Id: Ib038fb59581fe8367c1c550839a728f371005ab6
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This is much cleaner than manually casting contentX and contentWidth
to int. Also, it actually forwards the int-aligned dimensions to the
TimelineRenderer.
Change-Id: I7dad8eeabf1f3b70c5e725a82a2926b3db6f1b16
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
If the category is collapsed we just have to divide by defaultRowHeight
as rows cannot be resized then.
Change-Id: I147363a879c9756030b6b7da5cbce7fc2f3e9b47
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
We'll need to access both of them when building the scene graph. This
change also clarifies the dynamics between expanding categories and
row heights and offsets.
Change-Id: I2e2bf488ad973c95d05f230bf6fff63598f39bf2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>