QmlProfiler: Consistently clear when clear button pressed

Several QML properties need extra treatment to avoid stale data
after clearing. Toggling the visibility of the timeline renderer
doesn't really help there.

Task-number: QTCREATORBUG-11833

Change-Id: I1903d7bd69d6fe31ecc4cadca8e30fa2104fa09a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
This commit is contained in:
Ulf Hermann
2014-03-25 17:10:25 +01:00
parent 85b7d34ea8
commit 0c9a9348f9
6 changed files with 24 additions and 26 deletions

View File

@@ -82,16 +82,14 @@ Rectangle {
onStateChanged: {
// Clear if model is empty.
if (qmlProfilerModelProxy.getState() === 0)
root.clearAll();
root.clear();
}
onDataAvailable: {
view.clearData();
zoomControl.setRange(0,0);
view.visible = true;
view.requestPaint();
zoomControl.setRange(qmlProfilerModelProxy.traceStartTime(),
qmlProfilerModelProxy.traceStartTime() +
qmlProfilerModelProxy.traceDuration()/10);
view.requestPaint();
}
}
@@ -106,21 +104,18 @@ Rectangle {
}
}
function clearData() {
function clear() {
flick.contentY = 0;
flick.contentX = 0;
flick.contentWidth = 0;
view.clearData();
view.startTime = view.endTime = 0;
hideRangeDetails();
selectionRangeMode = false;
updateRangeButton();
zoomControl.setRange(0,0);
}
function clearDisplay() {
clearData();
view.visible = false;
}
function clearAll() {
clearDisplay();
zoomSlider.externalUpdate = true;
zoomSlider.value = zoomSlider.minimumValue;
}
function nextEvent() {