Commit Graph

13 Commits

Author SHA1 Message Date
Ulf Hermann
cc213dbe49 Tracing: Add context menu option to reset the flame graph
The double-clicking-on-blank-space method is really hard to discover.

Task-number: QTCREATORBUG-20732
Change-Id: I09e3189292c236fea0698e7cb68ea8340f9033fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-01-25 12:00:05 +00:00
Ulf Hermann
aaab74e276 Tracing: Don't use "row" and "column" as IDs
Fixes: QTCREATORBUG-21478
Change-Id: I9bda68abc4980ab9bc4247e48f5bc8bfc788c2dd
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-11-14 15:46:10 +00:00
Ulf Hermann
1b6d57263b Tracing: Force alpha channel of RangeMove into a sane range
We want the range mover to be visible, but not completely opaque and we
don't want to depend on the theme for this. Therefore if the alpha
channel is < 0.3 or or > 0.7 just clamp it.

Change-Id: I4e5ee32bd890dc8db2bc4b9bcd77b4687b23e22d
Fixes: QTCREATORBUG-21402
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-10-30 08:29:44 +00:00
Ulf Hermann
6f81ee7840 Tracing: Make sure the time display repeater's model is not negative
Change-Id: Iedc2f82194a48c426491d05ede8ff8b3341bc63b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-25 08:01:11 +00:00
Ulf Hermann
5f9f8f9f16 Tracing: Handle mouse events in FlameGraph QQuickItem
Having an additional MouseArea as child of a ScrollView or a Flickable
is not well defined and leads to inconsistent behavior on different
systems. We can easily catch the relevant events in the FlameGraph item
itself. Also, don't redirect the typeSelected() signals through the
model. They don't belong there.

Change-Id: I77c17977b5a51d57ccd2ef880d3d6c6a604b7f78
Task-number: QTCREATORBUG-20573
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-06-18 12:35:36 +00:00
Ulf Hermann
af986c40a3 Tracing: Fix layout of RangeDetails
Only calculate the minimum width once all the children have been
positioned, round up the label width, and disable elision on labels.

Change-Id: Ia0ff6d5a08af2a5ceefd825fbe487a1d9969967d
Task-number: QTCREATORBUG-20502
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-05-31 10:11:48 +00:00
Ulf Hermann
5763bd6995 Tracing: Correctly handle custom mininum row values
Change-Id: I3aa9ac116307f6e2c089399f7c1c40f4f0fc0ec1
Task-number: QTCREATORBUG-20433
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-17 08:00:48 +00:00
Ulf Hermann
b6f5ec3559 Tracing: Use the same "lock" mechanism in flame graph as in timeline
You can disable hover selection by "closing" the lock.

Task-number: QTCREATORBUG-19788
Change-Id: Ibfcbd17745b2928fd4951312770a673a2677d404
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-08 07:33:34 +00:00
Ulf Hermann
def017e5cb Unify flame graph and timeline details windows
They are mostly the same.

Change-Id: I41be570989ecc58cf2ae33f692c89946b55a0e1d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-08 07:02:39 +00:00
Ulf Hermann
f6b791815a Tracing: Reset the selected type ID when clicking empty space
We want to get rid of the selection after all.

Change-Id: I3a8b1b785d9d81870e5ff368a31e1642f399a47f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-08 07:02:23 +00:00
Ulf Hermann
3a379e5d1f Tracing: Don't call selectClicked() after changing the root
The selectedNode and hoveredNode are invalid at that point. Rather,
reset them before changing the root. As the whole tree is rebuilt, the
isSelected condition will be re-evaluated for each node, and the right
one will be selected anyway.

Change-Id: Id641accfae4f4e240740219013ad5f81e04dd054
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-08 07:02:12 +00:00
Ulf Hermann
22e523e504 Add generic FlameGraphView QML component
This allows us to reduce code duplication, but we first have to put
timeline and flame graph into the same library, so that we can use the
TimelineThere in FlameGraphView.

Change-Id: I72b27ffb1fc5aa6baf6a23d85e5ca6c610896b8c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-08 07:02:05 +00:00
Ulf Hermann
734611131d Move Timeline and FlameGraph into a common "Tracing" library
This allows us to share code between the two, in particular the QML code
for the Details window, and the theme code. This way we can potentially
deduplicate some code.

Change-Id: I3a0d26b18488bd2a46b5b077b5b5d79ac2dfc5ce
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-05-04 14:08:47 +00:00