Mercurial > minori
diff src/gui/widgets/anime_info.cc @ 370:ea3a74ed2ef9
*: hm, last commit wasn't quite finished?
author | Paper <paper@tflc.us> |
---|---|
date | Fri, 25 Jul 2025 10:22:04 -0400 |
parents | 6b0768158dcd |
children |
line wrap: on
line diff
--- a/src/gui/widgets/anime_info.cc Fri Jul 25 10:16:02 2025 -0400 +++ b/src/gui/widgets/anime_info.cc Fri Jul 25 10:22:04 2025 -0400 @@ -8,15 +8,19 @@ #include <QHBoxLayout> #include <QTextStream> -AnimeInfoWidgetGetMetadataThread::AnimeInfoWidgetGetMetadataThread(QObject* parent) : QThread(parent) {} +AnimeInfoWidgetGetMetadataThread::AnimeInfoWidgetGetMetadataThread(QObject *parent) : QThread(parent) +{ +} -void AnimeInfoWidgetGetMetadataThread::AddToQueue(int id) { +void AnimeInfoWidgetGetMetadataThread::AddToQueue(int id) +{ const std::lock_guard<std::mutex> guard(queue_mutex_); queue_.push(id); } /* processes the queue... */ -void AnimeInfoWidgetGetMetadataThread::run() { +void AnimeInfoWidgetGetMetadataThread::run() +{ queue_mutex_.lock(); while (!queue_.empty() && !isInterruptionRequested()) { int id = queue_.front(); @@ -36,8 +40,9 @@ /* all widgets share this thread */ static AnimeInfoWidgetGetMetadataThread get_metadata_thread; -AnimeInfoWidget::AnimeInfoWidget(QWidget* parent) : QWidget(parent) { - QVBoxLayout* layout = new QVBoxLayout(this); +AnimeInfoWidget::AnimeInfoWidget(QWidget *parent) : QWidget(parent) +{ + QVBoxLayout *layout = new QVBoxLayout(this); _title.GetHeader().SetText(Strings::Translate("Alternative titles")); layout->addWidget(&_title); @@ -45,13 +50,13 @@ _details.GetHeader().SetText(Strings::Translate("Details")); const std::vector<std::pair<std::string, std::string>> items = { - {Strings::Translate("Type:"), ""}, - {Strings::Translate("Episodes:"), ""}, - {Strings::Translate("Status:"), ""}, - {Strings::Translate("Season:"), ""}, - {Strings::Translate("Genres:"), ""}, - {Strings::Translate("Producers:"), ""}, - {Strings::Translate("Score:"), ""}, + {Strings::Translate("Type:"), ""}, + {Strings::Translate("Episodes:"), ""}, + {Strings::Translate("Status:"), ""}, + {Strings::Translate("Season:"), ""}, + {Strings::Translate("Genres:"), ""}, + {Strings::Translate("Producers:"), ""}, + {Strings::Translate("Score:"), ""}, }; _details.GetContent().SetData(items); @@ -74,11 +79,13 @@ }); } -AnimeInfoWidget::AnimeInfoWidget(const Anime::Anime& anime, QWidget* parent) : AnimeInfoWidget(parent) { +AnimeInfoWidget::AnimeInfoWidget(const Anime::Anime &anime, QWidget *parent) : AnimeInfoWidget(parent) +{ SetAnime(anime); } -void AnimeInfoWidget::SetAnime(const Anime::Anime& anime) { +void AnimeInfoWidget::SetAnime(const Anime::Anime &anime) +{ setUpdatesEnabled(false); id_ = anime.GetId(); @@ -99,7 +106,8 @@ updateGeometry(); } -void AnimeInfoWidget::RefreshGenres(const Anime::Anime& anime) { +void AnimeInfoWidget::RefreshGenres(const Anime::Anime &anime) +{ /* we have to convert ALL of these strings to * QString because QTextStream sucks and assumes * Latin-1 (on Windows?) */ @@ -107,13 +115,13 @@ const auto producers = anime.GetProducers(); const std::vector<std::pair<std::string, std::string>> items = { - {Strings::Translate("Type:"), Translate::ToLocalString(anime.GetFormat())}, - {Strings::Translate("Episodes:"), Strings::ToUtf8String(anime.GetEpisodes())}, - {Strings::Translate("Status:"), Translate::ToLocalString(anime.GetAiringStatus())}, - {Strings::Translate("Season:"), Translate::ToLocalString(anime.GetSeason())}, - {Strings::Translate("Genres:"), (genres.size() > 1) ? Strings::Implode(genres, ", ") : "-"}, - {Strings::Translate("Producers:"), (producers.size() > 1) ? Strings::Implode(producers, ", ") : "-"}, - {Strings::Translate("Score:"), Strings::ToUtf8String(anime.GetAudienceScore()) + "%"}, + {Strings::Translate("Type:"), Translate::ToLocalString(anime.GetFormat())}, + {Strings::Translate("Episodes:"), Strings::ToUtf8String(anime.GetEpisodes())}, + {Strings::Translate("Status:"), Translate::ToLocalString(anime.GetAiringStatus())}, + {Strings::Translate("Season:"), Translate::ToLocalString(anime.GetSeason())}, + {Strings::Translate("Genres:"), (genres.size() > 1) ? Strings::Implode(genres, ", ") : "-"}, + {Strings::Translate("Producers:"), (producers.size() > 1) ? Strings::Implode(producers, ", ") : "-"}, + {Strings::Translate("Score:"), Strings::ToUtf8String(anime.GetAudienceScore()) + "%"}, }; _details.GetContent().SetData(items);