Don't generate QMovie() at all if we're told we're a static AOImage
This commit is contained in:
parent
885c510e3c
commit
132bf9b9d9
@ -8,15 +8,18 @@ AOImage::AOImage(QWidget *parent, AOApplication *p_ao_app, bool make_static) : Q
|
|||||||
{
|
{
|
||||||
m_parent = parent;
|
m_parent = parent;
|
||||||
ao_app = p_ao_app;
|
ao_app = p_ao_app;
|
||||||
movie = new QMovie();
|
|
||||||
is_static = make_static;
|
is_static = make_static;
|
||||||
connect(movie, &QMovie::frameChanged, [=]{
|
if (!is_static) // Only create the QMovie if we're non-static
|
||||||
QPixmap f_pixmap = movie->currentPixmap();
|
{
|
||||||
f_pixmap =
|
movie = new QMovie();
|
||||||
f_pixmap.scaled(this->size(), Qt::IgnoreAspectRatio);
|
connect(movie, &QMovie::frameChanged, [=]{
|
||||||
this->setPixmap(f_pixmap);
|
QPixmap f_pixmap = movie->currentPixmap();
|
||||||
this->setMask(f_pixmap.mask());
|
f_pixmap =
|
||||||
});
|
f_pixmap.scaled(this->size(), Qt::IgnoreAspectRatio);
|
||||||
|
this->setPixmap(f_pixmap);
|
||||||
|
this->setMask(f_pixmap.mask());
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AOImage::~AOImage() {}
|
AOImage::~AOImage() {}
|
||||||
@ -36,12 +39,14 @@ bool AOImage::set_image(QString p_path, QString p_misc)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
path = p_path;
|
path = p_path;
|
||||||
movie->stop();
|
if (!is_static) {
|
||||||
movie->setFileName(path);
|
movie->stop();
|
||||||
if (ao_app->get_animated_theme() && movie->frameCount() > 1) {
|
movie->setFileName(path);
|
||||||
movie->start();
|
if (ao_app->get_animated_theme() && movie->frameCount() > 1) {
|
||||||
|
movie->start();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
if (is_static || !ao_app->get_animated_theme() || movie->frameCount() <= 1) {
|
||||||
QPixmap f_pixmap(path);
|
QPixmap f_pixmap(path);
|
||||||
|
|
||||||
f_pixmap =
|
f_pixmap =
|
||||||
|
Loading…
Reference in New Issue
Block a user