Use const reference for AlbumCoverLoaderResult
This commit is contained in:
@@ -21,8 +21,6 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <QWidget>
|
||||
#include <QDialog>
|
||||
#include <QStandardItemModel>
|
||||
@@ -159,7 +157,7 @@ void AlbumCoverSearcher::Init(AlbumCoverFetcher *fetcher) {
|
||||
|
||||
}
|
||||
|
||||
AlbumCoverImageResultPtr AlbumCoverSearcher::Exec(const QString &artist, const QString &album) {
|
||||
AlbumCoverImageResult AlbumCoverSearcher::Exec(const QString &artist, const QString &album) {
|
||||
|
||||
ui_->artist->setText(artist);
|
||||
ui_->album->setText(album);
|
||||
@@ -169,16 +167,16 @@ AlbumCoverImageResultPtr AlbumCoverSearcher::Exec(const QString &artist, const Q
|
||||
Search();
|
||||
}
|
||||
|
||||
if (exec() == QDialog::Rejected) return AlbumCoverImageResultPtr();
|
||||
if (exec() == QDialog::Rejected) return AlbumCoverImageResult();
|
||||
|
||||
QModelIndex selected = ui_->covers->currentIndex();
|
||||
if (!selected.isValid() || !selected.data(Role_ImageFetchFinished).toBool())
|
||||
return AlbumCoverImageResultPtr();
|
||||
return AlbumCoverImageResult();
|
||||
|
||||
AlbumCoverImageResultPtr result = std::make_shared<AlbumCoverImageResult>();
|
||||
result->image_data = selected.data(Role_ImageData).toByteArray();
|
||||
result->image = selected.data(Role_Image).value<QImage>();
|
||||
result->mime_type = Utilities::MimeTypeFromData(result->image_data);
|
||||
AlbumCoverImageResult result;
|
||||
result.image_data = selected.data(Role_ImageData).toByteArray();
|
||||
result.image = selected.data(Role_Image).value<QImage>();
|
||||
result.mime_type = Utilities::MimeTypeFromData(result.image_data);
|
||||
|
||||
return result;
|
||||
|
||||
@@ -244,19 +242,19 @@ void AlbumCoverSearcher::SearchFinished(const quint64 id, const CoverProviderSea
|
||||
|
||||
}
|
||||
|
||||
void AlbumCoverSearcher::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoaderResultPtr result) {
|
||||
void AlbumCoverSearcher::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoaderResult &result) {
|
||||
|
||||
if (!cover_loading_tasks_.contains(id)) return;
|
||||
QStandardItem *item = cover_loading_tasks_.take(id);
|
||||
|
||||
if (cover_loading_tasks_.isEmpty()) ui_->busy->hide();
|
||||
|
||||
if (!result || !result->success || result->album_cover->image_data == nullptr || result->album_cover->image_data.isNull() || result->album_cover->image.isNull() || result->image_thumbnail.isNull()) {
|
||||
if (!result.success || result.album_cover.image_data.isNull() || result.album_cover.image.isNull() || result.image_thumbnail.isNull()) {
|
||||
model_->removeRow(item->row());
|
||||
return;
|
||||
}
|
||||
|
||||
const QPixmap pixmap = QPixmap::fromImage(result->image_thumbnail);
|
||||
const QPixmap pixmap = QPixmap::fromImage(result.image_thumbnail);
|
||||
if (pixmap.isNull()) {
|
||||
model_->removeRow(item->row());
|
||||
return;
|
||||
@@ -265,10 +263,10 @@ void AlbumCoverSearcher::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoad
|
||||
const QIcon icon(pixmap);
|
||||
|
||||
item->setData(true, Role_ImageFetchFinished);
|
||||
item->setData(result->album_cover->image_data, Role_ImageData);
|
||||
item->setData(result->album_cover->image, Role_Image);
|
||||
item->setData(result->album_cover->image.width() * result->album_cover->image.height(), Role_ImageDimensions);
|
||||
item->setData(result->album_cover->image.size(), Role_ImageSize);
|
||||
item->setData(result.album_cover.image_data, Role_ImageData);
|
||||
item->setData(result.album_cover.image, Role_Image);
|
||||
item->setData(result.album_cover.image.width() * result.album_cover.image.height(), Role_ImageDimensions);
|
||||
item->setData(result.album_cover.image.size(), Role_ImageSize);
|
||||
if (!icon.isNull()) item->setIcon(icon);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user