Move gif timer stuff to its own class

Clean up unused includes
This commit is contained in:
Rasmus Karlsson
2018-06-05 18:30:26 +02:00
committed by fourtf
parent 78664f79ee
commit 8e70f02e3b
7 changed files with 63 additions and 53 deletions
+31
View File
@@ -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
+21
View File
@@ -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