summary refs log tree commit diff
path: root/src/BlurhashProvider.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-12-21 12:17:12 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2021-12-21 12:17:12 +0100
commitd424145ee4eaf2b656666e55efeefb2f54f596ef (patch)
tree66827355efd5230d68abf89d7009617d6b4618c6 /src/BlurhashProvider.cpp
parentFix date in CHANGELOG and appdata (diff)
downloadnheko-d424145ee4eaf2b656666e55efeefb2f54f596ef.tar.xz
Modernize blurhashprovider implementation
Might fix #844

See
https://code.qt.io/cgit/qt/qtdeclarative.git/commit/examples/quick/imageresponseprovider/imageresponseprovider.cpp?h=5.15&id=b1f238568214e6587b829d6695677e55a99b1d40
for context.
Diffstat (limited to '')
-rw-r--r--src/BlurhashProvider.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/BlurhashProvider.cpp b/src/BlurhashProvider.cpp

index e905474a..5ea322bd 100644 --- a/src/BlurhashProvider.cpp +++ b/src/BlurhashProvider.cpp
@@ -11,17 +11,16 @@ #include "blurhash.hpp" void -BlurhashResponse::run() +BlurhashRunnable::run() { if (m_requestedSize.width() < 0 || m_requestedSize.height() < 0) { - m_error = QStringLiteral("Blurhash needs size request"); - emit finished(); + emit error("Blurhash needs size request"); return; } if (m_requestedSize.width() == 0 || m_requestedSize.height() == 0) { - m_image = QImage(m_requestedSize, QImage::Format_RGB32); - m_image.fill(QColor(0, 0, 0)); - emit finished(); + auto image = QImage(m_requestedSize, QImage::Format_RGB32); + image.fill(QColor(0, 0, 0)); + emit done(image); return; } @@ -29,8 +28,7 @@ BlurhashResponse::run() m_requestedSize.width(), m_requestedSize.height()); if (decoded.image.empty()) { - m_error = QStringLiteral("Failed decode!"); - emit finished(); + emit error(QStringLiteral("Failed decode!")); return; } @@ -40,6 +38,5 @@ BlurhashResponse::run() (int)decoded.width * 3, QImage::Format_RGB888); - m_image = image.copy(); - emit finished(); + emit done(std::move(image)); }