mirror-chatterino2/src/singletons/TooltipPreviewImage.cpp

38 lines
929 B
C++

#include "TooltipPreviewImage.hpp"
#include "Application.hpp"
#include "singletons/WindowManager.hpp"
#include "widgets/TooltipWidget.hpp"
namespace chatterino {
TooltipPreviewImage &TooltipPreviewImage::getInstance()
{
static TooltipPreviewImage *instance = new TooltipPreviewImage();
return *instance;
}
TooltipPreviewImage::TooltipPreviewImage()
{
connections_.push_back(getApp()->windows->gifRepaintRequested.connect([&] {
auto tooltipWidget = TooltipWidget::getInstance();
if (this->image_ && !tooltipWidget->isHidden())
{
auto pixmap = this->image_->pixmapOrLoad();
if (pixmap)
{
tooltipWidget->setImage(*pixmap);
}
}
else
{
tooltipWidget->clearImage();
}
}));
}
void TooltipPreviewImage::setImage(ImagePtr image)
{
this->image_ = image;
}
} // namespace chatterino