Move gif timer stuff to its own class
Clean up unused includes
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
#include "singletons/helper/giftimer.hpp"
|
||||
|
||||
#include "application.hpp"
|
||||
#include "singletons/settingsmanager.hpp"
|
||||
#include "singletons/windowmanager.hpp"
|
||||
|
||||
namespace chatterino {
|
||||
namespace singletons {
|
||||
|
||||
void GIFTimer::initialize()
|
||||
{
|
||||
this->timer.setInterval(30);
|
||||
|
||||
getApp()->settings->enableGifAnimations.connect([this](bool enabled, auto) {
|
||||
if (enabled) {
|
||||
this->timer.start();
|
||||
} else {
|
||||
this->timer.stop();
|
||||
}
|
||||
});
|
||||
|
||||
QObject::connect(&this->timer, &QTimer::timeout, [this] {
|
||||
this->signal.invoke();
|
||||
// fourtf:
|
||||
auto app = getApp();
|
||||
app->windows->repaintGifEmotes();
|
||||
});
|
||||
}
|
||||
|
||||
} // namespace singletons
|
||||
} // namespace chatterino
|
||||
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include <QTimer>
|
||||
#include <pajlada/signals/signal.hpp>
|
||||
|
||||
namespace chatterino {
|
||||
namespace singletons {
|
||||
|
||||
class GIFTimer
|
||||
{
|
||||
public:
|
||||
void initialize();
|
||||
|
||||
pajlada::Signals::NoArgSignal signal;
|
||||
|
||||
private:
|
||||
QTimer timer;
|
||||
};
|
||||
|
||||
} // namespace singletons
|
||||
} // namespace chatterino
|
||||
Reference in New Issue
Block a user