From ecce9dbaaa782675c83c1bedd74ae2ab98d62939 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 8 Sep 2023 13:08:03 +0300 Subject: [PATCH] Added ability to hide point details on chart by second click. --- Telegram/SourceFiles/statistics/chart_widget.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/statistics/chart_widget.cpp b/Telegram/SourceFiles/statistics/chart_widget.cpp index 409775aaa..0dad2008b 100644 --- a/Telegram/SourceFiles/statistics/chart_widget.cpp +++ b/Telegram/SourceFiles/statistics/chart_widget.cpp @@ -1192,6 +1192,7 @@ void ChartWidget::setupDetails() { switch (state.mouseState) { case QEvent::MouseButtonPress: case QEvent::MouseMove: { + const auto wasXIndex = _details.widget->xIndex(); const auto chartRect = chartAreaRect(); const auto currentXLimits = _animationController.finalXLimits(); const auto nearestXIndex = _chartView->findXIndexByPosition( @@ -1218,6 +1219,10 @@ void ChartWidget::setupDetails() { if (_details.widget->isHidden()) { _details.hideOnAnimationEnd = false; _details.animation.start(); + } else if ((state.mouseState == QEvent::MouseButtonPress) + && (wasXIndex == nearestXIndex)) { + _details.hideOnAnimationEnd = true; + _details.animation.start(); } _details.widget->show(); _chartArea->update(); @@ -1233,7 +1238,6 @@ void ChartWidget::setupDetails() { 0., 1.); const auto alpha = _details.hideOnAnimationEnd ? (1. - value) : value; - _chartArea->update(); if (_details.widget) { _details.widget->setAlpha(alpha); _details.widget->update(); @@ -1245,6 +1249,7 @@ void ChartWidget::setupDetails() { } _details.animation.stop(); } + _chartArea->update(); }); }