Mercurial > minori
changeset 392:a72d6d7b3568
anime_info: don't need to wait on the thread, just disconnect
eventually, we can cancel any outgoing requests, but it's kind of
unnecessary
| author | Paper <paper@tflc.us> |
|---|---|
| date | Fri, 07 Nov 2025 07:10:32 -0500 |
| parents | c3f717b7321b |
| children | 963047512d34 |
| files | src/core/anime_db.cc src/gui/widgets/anime_info.cc src/services/kitsu.cc src/services/services.cc |
| diffstat | 4 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/anime_db.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/core/anime_db.cc Fri Nov 07 07:10:32 2025 -0500 @@ -385,7 +385,10 @@ QImage Database::GetAnimePoster(int id) { /* Creates an anime poster and then saves it to disk - * Sorry this is kind of spaghetti... */ + * Sorry this is kind of spaghetti... + * + * TODO need to do spring cleaning here. For example, we can + * delete posters that haven't been accessed in over a week. */ QImage res; QString posterfile;
--- a/src/gui/widgets/anime_info.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/gui/widgets/anime_info.cc Fri Nov 07 07:10:32 2025 -0500 @@ -87,7 +87,6 @@ AnimeInfoWidget::~AnimeInfoWidget() { disconnect(&get_metadata_thread, nullptr, this, nullptr); - get_metadata_thread.wait(); } void AnimeInfoWidget::SetAnime(const Anime::Anime &anime)
--- a/src/services/kitsu.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/services/kitsu.cc Fri Nov 07 07:10:32 2025 -0500 @@ -515,7 +515,7 @@ { /* TODO: the genres should *probably* be a std::optional */ Anime::Anime &anime = Anime::db.items[id]; - if (anime.GetGenres().size() > 0 && anime.GetProducers().size()) + if (anime.GetGenres().size() > 0 && anime.GetProducers().size() > 0) return false; std::optional<std::string> service_id = anime.GetServiceId(Anime::Service::Kitsu);
--- a/src/services/services.cc Fri Nov 07 07:09:31 2025 -0500 +++ b/src/services/services.cc Fri Nov 07 07:10:32 2025 -0500 @@ -21,6 +21,12 @@ } } +/* This is specific to Kitsu; by default they don't provide genre + * nor producer info so we grab it only when we need it (i.e. when + * the anime info list is open). + * + * The backend should automatically detect whether this is unnecessary + * and simply return false if it is. */ bool RetrieveAnimeMetadata(int id) { switch (session.config.service) {
