Fix a crash when removing smart meters
This commit is contained in:
parent
d47f3cbf59
commit
1dfbfcaffc
@ -245,19 +245,28 @@ MainViewBase {
|
|||||||
XYPoint { x: xAxis.min.getTime(); y: 0 }
|
XYPoint { x: xAxis.min.getTime(); y: 0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
property AreaSeries areaSeries: null
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
var indexInModel = consumers.indexOf(consumer.thing)
|
var indexInModel = consumers.indexOf(consumer.thing)
|
||||||
print("creating series", consumer.thing.name, index, indexInModel)
|
print("creating series", consumer.thing.name, index, indexInModel)
|
||||||
seriesAdapter.ensureSamples(xAxis.min, xAxis.max)
|
seriesAdapter.ensureSamples(xAxis.min, xAxis.max)
|
||||||
var areaSeries = chartView.createSeries(ChartView.SeriesTypeArea, consumer.thing.name, xAxis, yAxis)
|
areaSeries = chartView.createSeries(ChartView.SeriesTypeArea, consumer.thing.name, xAxis, yAxis)
|
||||||
areaSeries.useOpenGL = true
|
areaSeries.useOpenGL = true
|
||||||
areaSeries.upperSeries = upperSeries;
|
areaSeries.upperSeries = upperSeries;
|
||||||
if (index > 0) {
|
seriesAdapter.baseSeries = Qt.binding(function() {
|
||||||
areaSeries.lowerSeries = consumersRepeater.itemAt(index - 1).lineSeries
|
if (index > 0) {
|
||||||
seriesAdapter.baseSeries = consumersRepeater.itemAt(index - 1).lineSeries
|
return consumersRepeater.itemAt(index - 1).lineSeries
|
||||||
} else {
|
} else {
|
||||||
areaSeries.lowerSeries = lowerSeries;
|
return null;
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
areaSeries.lowerSeries = Qt.binding(function() {
|
||||||
|
if (index > 0) {
|
||||||
|
return consumersRepeater.itemAt(index - 1).lineSeries
|
||||||
|
} else {
|
||||||
|
return lowerSeries;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
var color = Style.accentColor
|
var color = Style.accentColor
|
||||||
for (var j = 0; j <= indexInModel; j+=2) {
|
for (var j = 0; j <= indexInModel; j+=2) {
|
||||||
@ -271,6 +280,9 @@ MainViewBase {
|
|||||||
areaSeries.borderColor = color;
|
areaSeries.borderColor = color;
|
||||||
areaSeries.borderWidth = 0;
|
areaSeries.borderWidth = 0;
|
||||||
}
|
}
|
||||||
|
Component.onDestruction: {
|
||||||
|
chartView.removeSeries(areaSeries)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user