From 20736db8c9d59f0fec8d88d0bc23e8f96a23c9c4 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 1 Jul 2022 17:54:53 +0200 Subject: [PATCH] Improve energy tooltips a little more --- nymea-app/ui/components/NymeaToolTip.qml | 29 ++++++++++++++++--- .../ui/mainviews/energy/ConsumerStats.qml | 2 +- .../ui/mainviews/energy/PowerBalanceStats.qml | 9 +++--- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/nymea-app/ui/components/NymeaToolTip.qml b/nymea-app/ui/components/NymeaToolTip.qml index 83fef8f4..7d969846 100644 --- a/nymea-app/ui/components/NymeaToolTip.qml +++ b/nymea-app/ui/components/NymeaToolTip.qml @@ -8,10 +8,31 @@ Item { property alias backgroundItem: blurEffectSource.sourceItem property alias backgroundRect: blurEffectSource.sourceRect - Behavior on x { NumberAnimation { duration: Style.animationDuration } } - Behavior on y { NumberAnimation { duration: Style.animationDuration } } - Behavior on width { NumberAnimation { duration: Style.animationDuration } } - Behavior on height { NumberAnimation { duration: Style.animationDuration } } + Behavior on x { enabled: d.animationsEnabled; NumberAnimation { duration: Style.animationDuration } } + Behavior on y { enabled: d.animationsEnabled; NumberAnimation { duration: Style.animationDuration } } + Behavior on width { enabled: d.animationsEnabled; NumberAnimation { duration: Style.animationDuration } } + Behavior on height { enabled: d.animationsEnabled; NumberAnimation { duration: Style.animationDuration } } + + readonly property alias animationsEnabled: d.animationsEnabled + + Timer { + running: visible + repeat: false + interval: 1 + onTriggered: { + d.animationsEnabled = true + } + } + onVisibleChanged: { + if (!visible) { + d.animationsEnabled = false + } + } + + QtObject { + id: d + property bool animationsEnabled: false + } Rectangle { id: blurSource diff --git a/nymea-app/ui/mainviews/energy/ConsumerStats.qml b/nymea-app/ui/mainviews/energy/ConsumerStats.qml index 0add797c..79a8b6e5 100644 --- a/nymea-app/ui/mainviews/energy/ConsumerStats.qml +++ b/nymea-app/ui/mainviews/energy/ConsumerStats.qml @@ -378,7 +378,7 @@ StatsBase { visible: toolTip.visible x: idx * parent.width / categoryAxis.count - Behavior on x { NumberAnimation { duration: Style.animationDuration } } + Behavior on x { enabled: toolTip.animationsEnabled; NumberAnimation { duration: Style.animationDuration } } } } diff --git a/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml b/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml index 422b7842..ce7c59d1 100644 --- a/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml +++ b/nymea-app/ui/mainviews/energy/PowerBalanceStats.qml @@ -379,7 +379,7 @@ StatsBase { visible: toolTip.visible x: idx * parent.width / categoryAxis.count - Behavior on x { NumberAnimation { duration: Style.animationDuration } } + Behavior on x { enabled: toolTip.animationsEnabled; NumberAnimation { duration: Style.animationDuration } } } } @@ -415,9 +415,10 @@ StatsBase { x: chartWidth - (idx * barWidth + barWidth + Style.smallMargins) > width ? idx * barWidth + barWidth + Style.smallMargins : idx * barWidth - Style.smallMargins - width - property double setMaxValue: d.consumptionSet && d.productionSet && d.acquisitionSet && d.returnSet ? - Math.max(d.consumptionSet.at(idx), Math.max(d.productionSet.at(idx), Math.max(d.acquisitionSet.at(idx), d.returnSet.at(idx)))) - : 0 + property double setMaxValue: Math.max(d.consumptionSet ? d.consumptionSet.at(idx) : 0, + d.productionSet ? d.productionSet.at(idx) : 0, + d.acquisitionSet ? d.acquisitionSet.at(idx) : 0, + d.returnSet ? d.returnSet.at(idx) : 0) y: Math.min(Math.max(mouseArea.height - (setMaxValue * mouseArea.height / valueAxis.max) - height - Style.smallMargins, 0), mouseArea.height - height) width: tooltipLayout.implicitWidth + Style.smallMargins * 2 height: tooltipLayout.implicitHeight + Style.smallMargins * 2