Remove tweeny

This commit is contained in:
Nicolas Werner 2021-03-05 14:04:11 +01:00
parent 56c44d0454
commit 626d8bf151
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
3 changed files with 26 additions and 29 deletions

View file

@ -39,8 +39,6 @@ option(USE_BUNDLED_LMDB "Use the bundled version of lmdb."
${HUNTER_ENABLED})
option(USE_BUNDLED_LMDBXX "Use the bundled version of lmdb++."
${HUNTER_ENABLED})
option(USE_BUNDLED_TWEENY "Use the bundled version of tweeny."
${HUNTER_ENABLED})
option(USE_BUNDLED_QTKEYCHAIN "Use the bundled version of Qt5Keychain."
${HUNTER_ENABLED})
@ -446,18 +444,6 @@ else()
add_library(lmdbxx::lmdbxx ALIAS lmdbxx)
endif()
if(USE_BUNDLED_TWEENY)
include(FetchContent)
FetchContent_Declare(
Tweeny
GIT_REPOSITORY https://github.com/mobius3/tweeny.git
GIT_TAG 6a5033372fe53c4c731c66c8a2d56261746cd85c #v3 <- v3 has unfixed warnings
)
FetchContent_MakeAvailable(Tweeny)
else()
find_package(Tweeny REQUIRED)
endif()
include(FindPkgConfig)
pkg_check_modules(GSTREAMER IMPORTED_TARGET gstreamer-sdp-1.0>=1.18 gstreamer-webrtc-1.0>=1.18)
if (TARGET PkgConfig::GSTREAMER)
@ -643,7 +629,6 @@ target_link_libraries(nheko PRIVATE
nlohmann_json::nlohmann_json
lmdbxx::lmdbxx
liblmdb::lmdb
tweeny
SingleApplication::SingleApplication)
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16.0")

View file

@ -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();
}

View file

@ -6,6 +6,7 @@
#include <QCoreApplication>
#include <QPaintEvent>
#include <QPropertyAnimation>
#include <QTimer>
#include <deque>
@ -23,6 +24,7 @@ class SnackBar : public OverlayWidget
Q_PROPERTY(QColor bgColor READ backgroundColor WRITE setBackgroundColor)
Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor)
Q_PROPERTY(double offset READ offset WRITE setOffset NOTIFY offsetChanged)
public:
explicit SnackBar(QWidget *parent);
@ -46,9 +48,21 @@ public:
update();
}
double offset() { return offset_; }
void setOffset(double offset)
{
if (offset != offset_) {
offset_ = offset;
emit offsetChanged();
}
}
public slots:
void showMessage(const QString &msg);
signals:
void offsetChanged();
protected:
void paintEvent(QPaintEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
@ -68,10 +82,11 @@ private:
std::deque<QString> messages_;
QTimer showTimer_;
QTimer hideTimer_;
double boxHeight_;
QPropertyAnimation offset_anim;
SnackBarPosition position_;
};