diff --git a/src/ui/SnackBar.cpp b/src/ui/SnackBar.cpp
index 03609802..2453369d 100644
--- a/src/ui/SnackBar.cpp
+++ b/src/ui/SnackBar.cpp
@@ -4,8 +4,6 @@
#include <QPainter>
-#include <tweeny.h>
-
#include "SnackBar.h"
constexpr int STARTING_OFFSET = 1;
@@ -16,6 +14,7 @@ constexpr double MIN_WIDTH_PERCENTAGE = 0.3;
SnackBar::SnackBar(QWidget *parent)
: OverlayWidget(parent)
+ , offset_anim(this, "offset", this)
{
QFont font;
font.setPointSizeF(font.pointSizeF() * 1.2);
@@ -28,17 +27,16 @@ SnackBar::SnackBar(QWidget *parent)
hideTimer_.setSingleShot(true);
- auto offset_anim = tweeny::from(1.0f).to(0.0f).during(100).via(tweeny::easing::cubicOut);
- connect(&showTimer_, &QTimer::timeout, this, [this, offset_anim]() mutable {
- if (offset_anim.progress() < 1.0f) {
- offset_ = offset_anim.step(0.07f);
+ offset_anim.setStartValue(1.0);
+ offset_anim.setEndValue(0.0);
+ offset_anim.setDuration(100);
+ offset_anim.setEasingCurve(QEasingCurve::OutCubic);
+
+ connect(this, &SnackBar::offsetChanged, this, [this]() mutable {
repaint();
- } else {
- showTimer_.stop();
- hideTimer_.start(ANIMATION_DURATION);
- offset_anim.seek(0.0f);
- }
});
+ connect(
+ &offset_anim, &QPropertyAnimation::finished, this, [this]() { hideTimer_.start(10000); });
connect(&hideTimer_, SIGNAL(timeout()), this, SLOT(hideMessage()));
@@ -54,7 +52,7 @@ SnackBar::start()
show();
raise();
- showTimer_.start(10);
+ offset_anim.start();
}
void
@@ -77,7 +75,6 @@ SnackBar::hideMessage()
void
SnackBar::stopTimers()
{
- showTimer_.stop();
hideTimer_.stop();
}
|