comparison src/core/anime.cc @ 195:975a3f0965e2

locale: only attempt loading locales after QApplication is init'd also the general application stuff and anime list is separated in settings
author Paper <mrpapersonic@gmail.com>
date Thu, 07 Dec 2023 11:14:01 -0500
parents 6ef31dbb90ca
children 7cf53145de11
comparison
equal deleted inserted replaced
194:8548dc425697 195:975a3f0965e2
179 return info_.title.native; 179 return info_.title.native;
180 } 180 }
181 181
182 std::vector<std::string> Anime::GetTitleSynonyms() const { 182 std::vector<std::string> Anime::GetTitleSynonyms() const {
183 std::vector<std::string> result; 183 std::vector<std::string> result;
184 #define IN_VECTOR(v, k) (std::count(v.begin(), v.end(), k)) 184
185 #define ADD_TO_SYNONYMS(v, k) \ 185 auto add_to_synonyms = [this](std::vector<std::string>& vec, std::string key) {
186 if (!k.empty() && !IN_VECTOR(v, k) && k != GetUserPreferredTitle()) \ 186 if (!key.empty() && !std::count(vec.begin(), vec.end(), key) && key != GetUserPreferredTitle())
187 v.push_back(k) 187 vec.push_back(key);
188 ADD_TO_SYNONYMS(result, info_.title.english); 188 };
189 ADD_TO_SYNONYMS(result, info_.title.romaji); 189
190 ADD_TO_SYNONYMS(result, info_.title.native); 190 add_to_synonyms(result, info_.title.english);
191 for (auto& synonym : info_.synonyms) { 191 add_to_synonyms(result, info_.title.romaji);
192 ADD_TO_SYNONYMS(result, synonym); 192 add_to_synonyms(result, info_.title.native);
193 } 193
194 #undef ADD_TO_SYNONYMS 194 for (auto& synonym : info_.synonyms)
195 #undef IN_VECTOR 195 add_to_synonyms(result, synonym);
196
196 return result; 197 return result;
197 } 198 }
198 199
199 int Anime::GetEpisodes() const { 200 int Anime::GetEpisodes() const {
200 return info_.episodes; 201 return info_.episodes;