From 99fb775e30166685f84f702815b1990d513a5816 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Thu, 12 Sep 2024 23:09:38 +0200 Subject: [PATCH] CurrentAlbumCoverLoader: Port away from QTemporaryFile --- src/covermanager/currentalbumcoverloader.cpp | 35 ++++++++------------ src/covermanager/currentalbumcoverloader.h | 6 ++-- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/src/covermanager/currentalbumcoverloader.cpp b/src/covermanager/currentalbumcoverloader.cpp index 4d3c6b3f4..ca6db4d50 100644 --- a/src/covermanager/currentalbumcoverloader.cpp +++ b/src/covermanager/currentalbumcoverloader.cpp @@ -27,11 +27,11 @@ #include #include #include -#include #include #include "core/application.h" #include "core/song.h" +#include "core/temporaryfile.h" #include "playlist/playlistmanager.h" #include "albumcoverloader.h" #include "albumcoverloaderresult.h" @@ -58,12 +58,7 @@ CurrentAlbumCoverLoader::CurrentAlbumCoverLoader(Application *app, QObject *pare } -CurrentAlbumCoverLoader::~CurrentAlbumCoverLoader() { - - if (temp_cover_) temp_cover_->remove(); - if (temp_cover_thumbnail_) temp_cover_thumbnail_->remove(); - -} +CurrentAlbumCoverLoader::~CurrentAlbumCoverLoader() = default; void CurrentAlbumCoverLoader::ReloadSettingsAsync() { @@ -90,35 +85,33 @@ void CurrentAlbumCoverLoader::AlbumCoverReady(const quint64 id, AlbumCoverLoader id_ = 0; if (!result.album_cover.image.isNull()) { - temp_cover_ = make_unique(temp_file_pattern_); - temp_cover_->setAutoRemove(true); - if (temp_cover_->open()) { - if (result.album_cover.image.save(temp_cover_->fileName(), "JPEG")) { - result.temp_cover_url = QUrl::fromLocalFile(temp_cover_->fileName()); + temp_cover_ = make_unique(temp_file_pattern_); + if (!temp_cover_->filename().isEmpty()) { + if (result.album_cover.image.save(temp_cover_->filename(), "JPEG")) { + result.temp_cover_url = QUrl::fromLocalFile(temp_cover_->filename()); } else { - qLog(Error) << "Failed to save cover image to" << temp_cover_->fileName() << temp_cover_->errorString(); + qLog(Error) << "Failed to save cover image to" << temp_cover_->filename(); } } else { - qLog(Error) << "Failed to open" << temp_cover_->fileName() << temp_cover_->errorString(); + qLog(Error) << "Failed to open" << temp_cover_->filename(); } } QUrl thumbnail_url; if (!result.image_scaled.isNull()) { - temp_cover_thumbnail_ = make_unique(temp_file_pattern_); - temp_cover_thumbnail_->setAutoRemove(true); - if (temp_cover_thumbnail_->open()) { - if (result.image_scaled.save(temp_cover_thumbnail_->fileName(), "JPEG")) { - thumbnail_url = QUrl::fromLocalFile(temp_cover_thumbnail_->fileName()); + temp_cover_thumbnail_ = make_unique(temp_file_pattern_); + if (temp_cover_thumbnail_->filename().isEmpty()) { + if (result.image_scaled.save(temp_cover_thumbnail_->filename(), "JPEG")) { + thumbnail_url = QUrl::fromLocalFile(temp_cover_thumbnail_->filename()); } else { - qLog(Error) << "Unable to save cover thumbnail image to" << temp_cover_thumbnail_->fileName(); + qLog(Error) << "Unable to save cover thumbnail image to" << temp_cover_thumbnail_->filename(); } } else { - qLog(Error) << "Unable to open" << temp_cover_thumbnail_->fileName(); + qLog(Error) << "Unable to open" << temp_cover_thumbnail_->filename(); } } diff --git a/src/covermanager/currentalbumcoverloader.h b/src/covermanager/currentalbumcoverloader.h index a9d5f1cac..008d62224 100644 --- a/src/covermanager/currentalbumcoverloader.h +++ b/src/covermanager/currentalbumcoverloader.h @@ -28,9 +28,9 @@ #include #include #include -#include #include "core/scoped_ptr.h" +#include "core/temporaryfile.h" #include "core/song.h" #include "albumcoverloaderoptions.h" #include "albumcoverloaderresult.h" @@ -66,8 +66,8 @@ class CurrentAlbumCoverLoader : public QObject { QString temp_file_pattern_; - ScopedPtr temp_cover_; - ScopedPtr temp_cover_thumbnail_; + ScopedPtr temp_cover_; + ScopedPtr temp_cover_thumbnail_; quint64 id_; Song last_song_;