From db4ab216a1db8ad52cf0d9569878955cdb0721b8 Mon Sep 17 00:00:00 2001 From: Nate Weibley Date: Thu, 7 Apr 2016 14:21:24 -0400 Subject: [PATCH] Show the user some positive feedback when parameters load from cache. For #3114 --- src/FactSystem/ParameterLoader.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/FactSystem/ParameterLoader.cc b/src/FactSystem/ParameterLoader.cc index 97d658b49..22183d76b 100644 --- a/src/FactSystem/ParameterLoader.cc +++ b/src/FactSystem/ParameterLoader.cc @@ -32,8 +32,10 @@ #include "FirmwarePlugin.h" #include "UAS.h" +#include #include #include +#include /* types for local parameter cache */ typedef QPair ParamTypeVal; @@ -711,6 +713,26 @@ void ParameterLoader::_tryCacheHashLoad(int uasId, int componentId, QVariant has mavlink_message_t msg; mavlink_msg_param_set_encode(_mavlink->getSystemId(), _mavlink->getComponentId(), &msg, &p); _vehicle->sendMessageOnLink(_vehicle->priorityLink(), msg); + + // Give the user some feedback things loaded properly + QVariantAnimation *ani = new QVariantAnimation(this); + ani->setEasingCurve(QEasingCurve::OutCubic); + ani->setStartValue(0.0); + ani->setEndValue(1.0); + ani->setDuration(750); + + connect(ani, &QVariantAnimation::valueChanged, [this](const QVariant &value) { + emit parameterListProgress(value.toFloat()); + }); + + // Hide 500ms after animation finishes + connect(ani, &QVariantAnimation::finished, [this](){ + QTimer::singleShot(500, [this]() { + emit parameterListProgress(0); + }); + }); + + ani->start(QAbstractAnimation::DeleteWhenStopped); } } -- 2.22.0