QmlProfiler: scroll automatically when selecting events out of view

Change-Id: I2f242895b00792d2e6930ec642209be886e22bad
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This commit is contained in:
Christiaan Janssen
2012-02-03 16:33:51 +01:00
parent 0286148a14
commit 95f1bb190f
5 changed files with 32 additions and 1 deletions

View File

@@ -75,6 +75,7 @@ Rectangle {
property variant selectionRangeEnd: selectionRange.startTime + selectionRange.duration
signal changeToolTip(string text)
signal updateVerticalScroll(int newPosition)
// ***** connections with external objects
Connections {
@@ -426,7 +427,7 @@ Rectangle {
rangeDetails.visible = true;
// center view
// center view (horizontally)
var windowLength = view.endTime - view.startTime;
var eventStartTime = qmlEventList.getStartTime(selectedItem);
var eventEndTime = eventStartTime + qmlEventList.getDuration(selectedItem);
@@ -438,6 +439,15 @@ Rectangle {
zoomControl.setRange(from, from + windowLength);
}
// center view (vertically)
var itemY = view.getYPosition(selectedItem);
if (itemY < root.scrollY) {
root.updateVerticalScroll(itemY);
} else
if (itemY + root.singleRowHeight > root.scrollY + root.candidateHeight) {
root.updateVerticalScroll(itemY + root.singleRowHeight - root.candidateHeight);
}
} else {
root.hideRangeDetails();
}