diff options
| author | TrickyLeifa <date.epoch@gmail.com> | 2024-05-15 00:00:17 +0200 |
|---|---|---|
| committer | TrickyLeifa <date.epoch@gmail.com> | 2024-05-15 00:04:16 +0200 |
| commit | c9f52b7223685d2e7fca925594171f94dd8c6e3b (patch) | |
| tree | 740bb32a40da98a4d52836432f59a16b31333900 /src/aoimage.cpp | |
| parent | 951766666621fa77e257e6b5616fe4ab1eb2a52f (diff) | |
Ported to CMake, ...
* Ported the project to CMake
* Android and Mac support dropped for the time
being.
* Tests, BASS and Discord-RPC are now options
* Restructured and reformated the project.
* Merged `include` and `src`
* Renamed `resource` to `data`
* Renamed various files
* External libraries headers are no longer included in `src`
* Replaced header guards with #pragma once
* Multiple refactors (keywords, headers)
* Added Qt6 compatibility
* Removed various unused functions and headers
* Reworked AOPacket
* When content is passed to AOPacket, it should be ensured that the content is already decoded.
* Encoding/decoding are now static methods.
* Fixed various memory leaks
* Removed animation code for AOImage
* AOImage is always using static images
* Simplified ChatLogPiece
Diffstat (limited to 'src/aoimage.cpp')
| -rw-r--r-- | src/aoimage.cpp | 59 |
1 files changed, 18 insertions, 41 deletions
diff --git a/src/aoimage.cpp b/src/aoimage.cpp index e737ffb3..85f127ef 100644 --- a/src/aoimage.cpp +++ b/src/aoimage.cpp @@ -5,56 +5,33 @@ #include <QBitmap> -AOImage::AOImage(QWidget *parent, AOApplication *p_ao_app, bool make_static) : QLabel(parent) +AOImage::AOImage(AOApplication *p_ao_app, QWidget *parent) + : QLabel(parent) + , ao_app(p_ao_app) +{} + +AOImage::~AOImage() +{} + +QString AOImage::file_name() { - m_parent = parent; - ao_app = p_ao_app; - is_static = make_static; - if (!is_static) // Only create the QMovie if we're non-static - { - movie = new QMovie(this); - connect(movie, &QMovie::frameChanged, [this]{ - QPixmap f_pixmap = movie->currentPixmap(); - f_pixmap = - f_pixmap.scaled(this->size(), Qt::IgnoreAspectRatio); - this->setPixmap(f_pixmap); - if (masked) { - this->setMask(f_pixmap.mask()); - } - }); - } + return m_file_name; } -AOImage::~AOImage() {} - bool AOImage::set_image(QString p_image, QString p_misc) { - QString p_image_resolved = ao_app->get_image(p_image, Options::getInstance().theme(), Options::getInstance().subTheme(), - ao_app->default_theme, p_misc, "", "", - is_static || !Options::getInstance().animatedThemeEnabled()); + QString p_image_resolved = ao_app->get_image(p_image, Options::getInstance().theme(), Options::getInstance().subTheme(), ao_app->default_theme, p_misc, "", "", false); - if (!file_exists(p_image_resolved)) { + if (!file_exists(p_image_resolved)) + { qWarning() << "could not find image" << p_image; return false; } - path = p_image_resolved; - if (!is_static) { - movie->stop(); - movie->setFileName(path); - if (Options::getInstance().animatedThemeEnabled() && movie->frameCount() > 1) { - movie->start(); - } - } - if (is_static || !Options::getInstance().animatedThemeEnabled() || movie->frameCount() <= 1) { - QPixmap f_pixmap(path); - - f_pixmap = - f_pixmap.scaled(this->size(), Qt::IgnoreAspectRatio); - this->setPixmap(f_pixmap); - if (masked) { - this->setMask(f_pixmap.mask()); - } - } + m_file_name = p_image_resolved; + QPixmap f_pixmap(m_file_name); + f_pixmap = f_pixmap.scaled(size(), Qt::IgnoreAspectRatio); + setPixmap(f_pixmap); + return true; } |
