QmlProfiler: show ranges in time display

Change-Id: I6f42db3d5de02ee0198ff51aae8421bbdc5ea9c4
Reviewed-on: http://codereview.qt.nokia.com/836
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This commit is contained in:
Christiaan Janssen
2011-06-27 18:33:20 +02:00
parent ddb602536c
commit 17db97b698
3 changed files with 103 additions and 24 deletions

View File

@@ -112,31 +112,53 @@ TiledCanvas {
width: parent.width
height: labels.y
hoverEnabled: true
onMousePositionChanged: {
var realTime = startTime + mouseX * timePerPixel;
displayText.text = detailedPrintTime(realTime);
displayRect.x = mouseX
displayRect.visible = true
}
onExited: displayRect.visible = false
onEntered: root.hideRangeDetails();
}
Rectangle {
id: displayRect
color: "lightsteelblue"
border.color: Qt.darker(color)
border.width: 1
radius: 2
height: labels.y - 2
y: 1
width: displayText.width + 10
visible: false
Text {
id: displayText
x: 5
y: labels.y/2 - 6
font.pointSize: 8
function setStartTime(xpos) {
var realTime = startTime + xpos * timePerPixel;
timeDisplayText.text = detailedPrintTime(realTime);
timeDisplayBegin.visible = true;
timeDisplayBegin.x = xpos + flick.x;
}
function setEndTime(xpos) {
var bt = startTime + (timeDisplayBegin.x - flick.x) * timePerPixel;
var et = startTime + xpos * timePerPixel;
var timeDisplayBeginTime = Math.min(bt, et);
var timeDisplayEndTime = Math.max(bt, et);
timeDisplayText.text = qsTr("length:")+detailedPrintTime(timeDisplayEndTime-timeDisplayBeginTime);
timeDisplayEnd.visible = true;
timeDisplayEnd.x = xpos + flick.x
}
onMousePositionChanged: {
if (!Plotter.ranges.length)
return;
if (!pressed && timeDisplayEnd.visible)
return;
timeDisplayLabel.x = mouseX + flick.x
timeDisplayLabel.visible = true
if (pressed) {
setEndTime(mouseX);
} else {
setStartTime(mouseX);
}
}
onPressed: {
setStartTime(mouseX);
}
onEntered: {
root.hideRangeDetails();
}
onExited: {
if ((!pressed) && (!timeDisplayEnd.visible)) {
timeDisplayLabel.hideAll();
}
}
}
}