AlbumCoverLoaderResult: Use enum class for type
This commit is contained in:
@@ -668,7 +668,7 @@ void CollectionModel::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoaderR
|
|||||||
pending_cache_keys_.remove(cache_key);
|
pending_cache_keys_.remove(cache_key);
|
||||||
|
|
||||||
// Insert this image in the cache.
|
// Insert this image in the cache.
|
||||||
if (!result.success || result.image_scaled.isNull() || result.type == AlbumCoverLoaderResult::Type_ManuallyUnset) {
|
if (!result.success || result.image_scaled.isNull() || result.type == AlbumCoverLoaderResult::Type::ManuallyUnset) {
|
||||||
// Set the no_cover image so we don't continually try to load art.
|
// Set the no_cover image so we don't continually try to load art.
|
||||||
QPixmapCache::insert(cache_key, no_cover_icon_);
|
QPixmapCache::insert(cache_key, no_cover_icon_);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3069,14 +3069,14 @@ void MainWindow::AlbumCoverLoaded(const Song &song, const AlbumCoverLoaderResult
|
|||||||
emit AlbumCoverReady(song, result.album_cover.image);
|
emit AlbumCoverReady(song, result.album_cover.image);
|
||||||
|
|
||||||
const bool enable_change_art = song.is_collection_song() && !song.effective_albumartist().isEmpty() && !song.album().isEmpty();
|
const bool enable_change_art = song.is_collection_song() && !song.effective_albumartist().isEmpty() && !song.album().isEmpty();
|
||||||
album_cover_choice_controller_->show_cover_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset);
|
album_cover_choice_controller_->show_cover_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset);
|
||||||
album_cover_choice_controller_->cover_to_file_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset);
|
album_cover_choice_controller_->cover_to_file_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset);
|
||||||
album_cover_choice_controller_->cover_from_file_action()->setEnabled(enable_change_art);
|
album_cover_choice_controller_->cover_from_file_action()->setEnabled(enable_change_art);
|
||||||
album_cover_choice_controller_->cover_from_url_action()->setEnabled(enable_change_art);
|
album_cover_choice_controller_->cover_from_url_action()->setEnabled(enable_change_art);
|
||||||
album_cover_choice_controller_->search_for_cover_action()->setEnabled(app_->cover_providers()->HasAnyProviders() && enable_change_art);
|
album_cover_choice_controller_->search_for_cover_action()->setEnabled(app_->cover_providers()->HasAnyProviders() && enable_change_art);
|
||||||
album_cover_choice_controller_->unset_cover_action()->setEnabled(enable_change_art && !song.has_manually_unset_cover());
|
album_cover_choice_controller_->unset_cover_action()->setEnabled(enable_change_art && !song.has_manually_unset_cover());
|
||||||
album_cover_choice_controller_->clear_cover_action()->setEnabled(enable_change_art && !song.art_manual().isEmpty());
|
album_cover_choice_controller_->clear_cover_action()->setEnabled(enable_change_art && !song.art_manual().isEmpty());
|
||||||
album_cover_choice_controller_->delete_cover_action()->setEnabled(enable_change_art && result.success && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset);
|
album_cover_choice_controller_->delete_cover_action()->setEnabled(enable_change_art && result.success && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset);
|
||||||
|
|
||||||
GetCoverAutomatically();
|
GetCoverAutomatically();
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ void StandardItemIconLoader::AlbumCoverLoaded(const quint64 id, const AlbumCover
|
|||||||
QStandardItem *item = pending_covers_.take(id);
|
QStandardItem *item = pending_covers_.take(id);
|
||||||
if (!item) return;
|
if (!item) return;
|
||||||
|
|
||||||
if (result.success && !result.image_scaled.isNull() && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset) {
|
if (result.success && !result.image_scaled.isNull() && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset) {
|
||||||
item->setIcon(QIcon(QPixmap::fromImage(result.image_scaled)));
|
item->setIcon(QIcon(QPixmap::fromImage(result.image_scaled)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ void AlbumCoverLoader::NextState(Task *task) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Give up
|
// Give up
|
||||||
emit AlbumCoverLoaded(task->id, AlbumCoverLoaderResult(false, AlbumCoverLoaderResult::Type_None, AlbumCoverImageResult(task->options.default_output_image_), task->options.default_scaled_image_, task->options.default_thumbnail_image_, task->art_updated));
|
emit AlbumCoverLoaded(task->id, AlbumCoverLoaderResult(false, AlbumCoverLoaderResult::Type::None, AlbumCoverImageResult(task->options.default_output_image_), task->options.default_scaled_image_, task->options.default_thumbnail_image_, task->art_updated));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -225,7 +225,7 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(Task *task) {
|
|||||||
|
|
||||||
// Only scale and pad.
|
// Only scale and pad.
|
||||||
if (task->album_cover.is_valid()) {
|
if (task->album_cover.is_valid()) {
|
||||||
return TryLoadResult(false, true, AlbumCoverLoaderResult::Type_Embedded, task->album_cover);
|
return TryLoadResult(false, true, AlbumCoverLoaderResult::Type::Embedded, task->album_cover);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For local files and streams initialize art if found.
|
// For local files and streams initialize art if found.
|
||||||
@@ -246,16 +246,16 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(Task *task) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AlbumCoverLoaderResult::Type type(AlbumCoverLoaderResult::Type_None);
|
AlbumCoverLoaderResult::Type type = AlbumCoverLoaderResult::Type::None;
|
||||||
QUrl cover_url;
|
QUrl cover_url;
|
||||||
switch (task->state) {
|
switch (task->state) {
|
||||||
case State::None:
|
case State::None:
|
||||||
case State::Automatic:
|
case State::Automatic:
|
||||||
type = AlbumCoverLoaderResult::Type_Automatic;
|
type = AlbumCoverLoaderResult::Type::Automatic;
|
||||||
cover_url = task->song.art_automatic();
|
cover_url = task->song.art_automatic();
|
||||||
break;
|
break;
|
||||||
case State::Manual:
|
case State::Manual:
|
||||||
type = AlbumCoverLoaderResult::Type_Manual;
|
type = AlbumCoverLoaderResult::Type::Manual;
|
||||||
cover_url = task->song.art_manual();
|
cover_url = task->song.art_manual();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -263,17 +263,17 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(Task *task) {
|
|||||||
|
|
||||||
if (!cover_url.isEmpty() && !cover_url.path().isEmpty()) {
|
if (!cover_url.isEmpty() && !cover_url.path().isEmpty()) {
|
||||||
if (cover_url.path() == Song::kManuallyUnsetCover) {
|
if (cover_url.path() == Song::kManuallyUnsetCover) {
|
||||||
return TryLoadResult(false, true, AlbumCoverLoaderResult::Type_ManuallyUnset, AlbumCoverImageResult(cover_url, QString(), QByteArray(), task->options.default_output_image_));
|
return TryLoadResult(false, true, AlbumCoverLoaderResult::Type::ManuallyUnset, AlbumCoverImageResult(cover_url, QString(), QByteArray(), task->options.default_output_image_));
|
||||||
}
|
}
|
||||||
else if (cover_url.path() == Song::kEmbeddedCover && task->song.url().isLocalFile()) {
|
else if (cover_url.path() == Song::kEmbeddedCover && task->song.url().isLocalFile()) {
|
||||||
QByteArray image_data = TagReaderClient::Instance()->LoadEmbeddedArtBlocking(task->song.url().toLocalFile());
|
QByteArray image_data = TagReaderClient::Instance()->LoadEmbeddedArtBlocking(task->song.url().toLocalFile());
|
||||||
if (!image_data.isEmpty()) {
|
if (!image_data.isEmpty()) {
|
||||||
QImage image;
|
QImage image;
|
||||||
if (!image_data.isEmpty() && task->options.get_image_ && image.loadFromData(image_data)) {
|
if (!image_data.isEmpty() && task->options.get_image_ && image.loadFromData(image_data)) {
|
||||||
return TryLoadResult(false, !image.isNull(), AlbumCoverLoaderResult::Type_Embedded, AlbumCoverImageResult(cover_url, QString(), image_data, image));
|
return TryLoadResult(false, !image.isNull(), AlbumCoverLoaderResult::Type::Embedded, AlbumCoverImageResult(cover_url, QString(), image_data, image));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return TryLoadResult(false, !image_data.isEmpty(), AlbumCoverLoaderResult::Type_Embedded, AlbumCoverImageResult(cover_url, QString(), image_data, image));
|
return TryLoadResult(false, !image_data.isEmpty(), AlbumCoverLoaderResult::Type::Embedded, AlbumCoverImageResult(cover_url, QString(), image_data, image));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,7 +334,7 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(Task *task) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TryLoadResult(false, false, AlbumCoverLoaderResult::Type_None, AlbumCoverImageResult(cover_url, QString(), QByteArray(), task->options.default_output_image_));
|
return TryLoadResult(false, false, AlbumCoverLoaderResult::Type::None, AlbumCoverImageResult(cover_url, QString(), QByteArray(), task->options.default_output_image_));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ class AlbumCoverLoader : public QObject {
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
struct Task {
|
struct Task {
|
||||||
explicit Task() : id(0), state(State::None), type(AlbumCoverLoaderResult::Type_None), art_updated(false), redirects(0) {}
|
explicit Task() : id(0), state(State::None), type(AlbumCoverLoaderResult::Type::None), art_updated(false), redirects(0) {}
|
||||||
|
|
||||||
AlbumCoverLoaderOptions options;
|
AlbumCoverLoaderOptions options;
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ class AlbumCoverLoader : public QObject {
|
|||||||
struct TryLoadResult {
|
struct TryLoadResult {
|
||||||
explicit TryLoadResult(const bool _started_async = false,
|
explicit TryLoadResult(const bool _started_async = false,
|
||||||
const bool _loaded_success = false,
|
const bool _loaded_success = false,
|
||||||
const AlbumCoverLoaderResult::Type _type = AlbumCoverLoaderResult::Type_None,
|
const AlbumCoverLoaderResult::Type _type = AlbumCoverLoaderResult::Type::None,
|
||||||
const AlbumCoverImageResult &_album_cover = AlbumCoverImageResult()) :
|
const AlbumCoverImageResult &_album_cover = AlbumCoverImageResult()) :
|
||||||
started_async(_started_async),
|
started_async(_started_async),
|
||||||
loaded_success(_loaded_success),
|
loaded_success(_loaded_success),
|
||||||
|
|||||||
@@ -29,17 +29,17 @@
|
|||||||
|
|
||||||
struct AlbumCoverLoaderResult {
|
struct AlbumCoverLoaderResult {
|
||||||
|
|
||||||
enum Type {
|
enum class Type {
|
||||||
Type_None,
|
None,
|
||||||
Type_ManuallyUnset,
|
ManuallyUnset,
|
||||||
Type_Embedded,
|
Embedded,
|
||||||
Type_Automatic,
|
Automatic,
|
||||||
Type_Manual,
|
Manual,
|
||||||
Type_Remote,
|
Remote
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit AlbumCoverLoaderResult(const bool _success = false,
|
explicit AlbumCoverLoaderResult(const bool _success = false,
|
||||||
const Type _type = Type_None,
|
const Type _type = Type::None,
|
||||||
const AlbumCoverImageResult &_album_cover = AlbumCoverImageResult(),
|
const AlbumCoverImageResult &_album_cover = AlbumCoverImageResult(),
|
||||||
const QImage &_image_scaled = QImage(),
|
const QImage &_image_scaled = QImage(),
|
||||||
const QImage &_image_thumbnail = QImage(),
|
const QImage &_image_thumbnail = QImage(),
|
||||||
|
|||||||
@@ -449,7 +449,7 @@ void AlbumCoverManager::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoade
|
|||||||
|
|
||||||
AlbumItem *item = cover_loading_tasks_.take(id);
|
AlbumItem *item = cover_loading_tasks_.take(id);
|
||||||
|
|
||||||
if (!result.success || result.image_scaled.isNull() || result.type == AlbumCoverLoaderResult::Type_ManuallyUnset) {
|
if (!result.success || result.image_scaled.isNull() || result.type == AlbumCoverLoaderResult::Type::ManuallyUnset) {
|
||||||
item->setIcon(icon_nocover_item_);
|
item->setIcon(icon_nocover_item_);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -893,7 +893,7 @@ void EditTagDialog::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoaderRes
|
|||||||
if (id == tags_cover_art_id_) {
|
if (id == tags_cover_art_id_) {
|
||||||
ui_->tags_art->clear();
|
ui_->tags_art->clear();
|
||||||
bool enable_change_art = false;
|
bool enable_change_art = false;
|
||||||
if (result.success && !result.image_scaled.isNull() && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset) {
|
if (result.success && !result.image_scaled.isNull() && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset) {
|
||||||
ui_->tags_art->setPixmap(QPixmap::fromImage(result.image_scaled));
|
ui_->tags_art->setPixmap(QPixmap::fromImage(result.image_scaled));
|
||||||
for (const QModelIndex &idx : ui_->song_list->selectionModel()->selectedIndexes()) {
|
for (const QModelIndex &idx : ui_->song_list->selectionModel()->selectedIndexes()) {
|
||||||
data_[idx.row()].cover_result_ = result.album_cover;
|
data_[idx.row()].cover_result_ = result.album_cover;
|
||||||
@@ -908,13 +908,13 @@ void EditTagDialog::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoaderRes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tags_cover_art_id_ = -1;
|
tags_cover_art_id_ = -1;
|
||||||
album_cover_choice_controller_->show_cover_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset);
|
album_cover_choice_controller_->show_cover_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset);
|
||||||
album_cover_choice_controller_->cover_to_file_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset);
|
album_cover_choice_controller_->cover_to_file_action()->setEnabled(result.success && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset);
|
||||||
album_cover_choice_controller_->delete_cover_action()->setEnabled(enable_change_art && result.success && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset);
|
album_cover_choice_controller_->delete_cover_action()->setEnabled(enable_change_art && result.success && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (id == summary_cover_art_id_) {
|
else if (id == summary_cover_art_id_) {
|
||||||
if (result.success && !result.image_scaled.isNull() && result.type != AlbumCoverLoaderResult::Type_ManuallyUnset) {
|
if (result.success && !result.image_scaled.isNull() && result.type != AlbumCoverLoaderResult::Type::ManuallyUnset) {
|
||||||
ui_->summary_art->setPixmap(QPixmap::fromImage(result.image_scaled));
|
ui_->summary_art->setPixmap(QPixmap::fromImage(result.image_scaled));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -2319,9 +2319,9 @@ void Playlist::UpdateScrobblePoint(const qint64 seek_point_nanosec) {
|
|||||||
void Playlist::AlbumCoverLoaded(const Song &song, const AlbumCoverLoaderResult &result) {
|
void Playlist::AlbumCoverLoaded(const Song &song, const AlbumCoverLoaderResult &result) {
|
||||||
|
|
||||||
// Update art_manual for local songs that are not in the collection.
|
// Update art_manual for local songs that are not in the collection.
|
||||||
if (((result.type == AlbumCoverLoaderResult::Type_Manual && result.album_cover.cover_url.isLocalFile()) || result.type == AlbumCoverLoaderResult::Type_ManuallyUnset) && (song.source() == Song::Source::LocalFile || song.source() == Song::Source::CDDA || song.source() == Song::Source::Device)) {
|
if (((result.type == AlbumCoverLoaderResult::Type::Manual && result.album_cover.cover_url.isLocalFile()) || result.type == AlbumCoverLoaderResult::Type::ManuallyUnset) && (song.source() == Song::Source::LocalFile || song.source() == Song::Source::CDDA || song.source() == Song::Source::Device)) {
|
||||||
PlaylistItemPtr item = current_item();
|
PlaylistItemPtr item = current_item();
|
||||||
if (item && item->Metadata() == song && (!item->Metadata().art_manual_is_valid() || (result.type == AlbumCoverLoaderResult::Type_ManuallyUnset && !item->Metadata().has_manually_unset_cover()))) {
|
if (item && item->Metadata() == song && (!item->Metadata().art_manual_is_valid() || (result.type == AlbumCoverLoaderResult::Type::ManuallyUnset && !item->Metadata().has_manually_unset_cover()))) {
|
||||||
qLog(Debug) << "Updating art manual for local song" << song.title() << song.album() << song.title() << "to" << result.album_cover.cover_url << "in playlist.";
|
qLog(Debug) << "Updating art manual for local song" << song.title() << song.album() << song.title() << "to" << result.album_cover.cover_url << "in playlist.";
|
||||||
item->SetArtManual(result.album_cover.cover_url);
|
item->SetArtManual(result.album_cover.cover_url);
|
||||||
ScheduleSaveAsync();
|
ScheduleSaveAsync();
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ void RadioModel::AlbumCoverLoaded(const quint64 id, const AlbumCoverLoaderResult
|
|||||||
|
|
||||||
pending_cache_keys_.remove(cache_key);
|
pending_cache_keys_.remove(cache_key);
|
||||||
|
|
||||||
if (!result.success || result.image_scaled.isNull() || result.type == AlbumCoverLoaderResult::Type_ManuallyUnset) {
|
if (!result.success || result.image_scaled.isNull() || result.type == AlbumCoverLoaderResult::Type::ManuallyUnset) {
|
||||||
QPixmapCache::insert(cache_key, ServiceIcon(item));
|
QPixmapCache::insert(cache_key, ServiceIcon(item));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user