diff --git a/libnymea-app-core/models/logsmodelng.cpp b/libnymea-app-core/models/logsmodelng.cpp index cde7a236..8997f52a 100644 --- a/libnymea-app-core/models/logsmodelng.cpp +++ b/libnymea-app-core/models/logsmodelng.cpp @@ -253,6 +253,15 @@ void LogsModelNg::logsReply(const QVariantMap &data) // End the batch at 1 again m_graphSeries->append(QPointF(entry->timestamp().addSecs(-1).toMSecsSinceEpoch(), 1)); } + + // Adjust min/max + if (!newMin.isValid() || newMin > entry->value()) { + newMin = 0; + } + if (!newMax.isValid() || newMax < entry->value()) { + newMax = 1; + } + } else { // if (i > 0) { // LogEntry *newerEntry = newBlock.at(i - 1); @@ -268,18 +277,21 @@ void LogsModelNg::logsReply(const QVariantMap &data) } // qDebug() << "Adding line series point:" << (offset + i) << entry->timestamp().toMSecsSinceEpoch() << (entry->value().toReal()); m_graphSeries->append(QPointF(entry->timestamp().toMSecsSinceEpoch(), entry->value().toReal())); + + // Adjust min/max + if (!newMin.isValid() || newMin > entry->value()) { + newMin = entry->value().toReal(); + } + if (!newMax.isValid() || newMax < entry->value()) { + newMax = entry->value().toReal(); + } } } - if (!newMin.isValid() || newMin > entry->value()) { - newMin = entry->value().toReal(); - } - if (!newMax.isValid() || newMax < entry->value()) { - newMax = entry->value().toReal(); - } } endInsertRows(); emit countChanged(); -// qDebug() << "min" << m_minValue << "max" << m_maxValue << "newMin" << newMin << "newMax" << newMax; + + qDebug() << "min" << m_minValue << "max" << m_maxValue << "newMin" << newMin << "newMax" << newMax; if (m_minValue != newMin) { m_minValue = newMin; emit minValueChanged(); diff --git a/nymea-app/ui/customviews/GenericTypeGraph.qml b/nymea-app/ui/customviews/GenericTypeGraph.qml index d1b9e64b..d6ec772e 100644 --- a/nymea-app/ui/customviews/GenericTypeGraph.qml +++ b/nymea-app/ui/customviews/GenericTypeGraph.qml @@ -104,8 +104,17 @@ Item { ValueAxis { id: yAxis - max: Math.ceil(logsModelNg.maxValue + Math.abs(logsModelNg.maxValue * .05)) + max: { + switch (root.stateType.type.toLowerCase()) { + case "bool": + return 1; + default: + Math.ceil(logsModelNg.maxValue + Math.abs(logsModelNg.maxValue * .05)) + } + } min: Math.floor(logsModelNg.minValue - Math.abs(logsModelNg.minValue * .05)) + onMinChanged: print("min set to", min) + onMaxChanged: print("max set to", min) labelsFont.pixelSize: app.smallFont labelFormat: { switch (root.stateType.type.toLowerCase()) { @@ -241,6 +250,7 @@ Item { id: lineSeries1 onPointAdded: { var newPoint = lineSeries1.at(index) + print("pointadded", newPoint.x, newPoint.y) if (newPoint.x > lineSeries0.at(0).x) { lineSeries0.replace(0, newPoint.x, 0) @@ -254,7 +264,6 @@ Item { } var diffMaxToNew = newPoint.x - xAxis.max.getTime(); - print("diffToNew is", diffMaxToNew) if (diffMaxToNew < 1000 * 60 * 5) { chartView.animationOptions = ChartView.NoAnimation var newMin = xAxis.min.getTime() + diffMaxToNew; @@ -262,6 +271,7 @@ Item { xAxis.min = new Date(newMin) chartView.animationOptions = ChartView.SeriesAnimations } + } } color: Qt.rgba(root.color.r, root.color.g, root.color.b, .3)