comparison src/gui/window.cc @ 347:a0aa8c8c4307

dep/anitomy: port to use UCS-4 rather than wide strings rationale: wide strings are not the same on every platform, and might not even be Unicode. (while they usually are, its possible that they are not) I was *going* to change StringToInt to use a string stream, but outputting to an integer doesn't seem to work at all with UCS-4, even though it ought to, so I just rolled my own that uses the arabic digits only.
author Paper <paper@paper.us.eu.org>
date Sun, 23 Jun 2024 10:32:09 -0400
parents 71396ecb6f7e
children 886f66775f31
comparison
equal deleted inserted replaced
346:e65b89bcc528 347:a0aa8c8c4307
104 NowPlayingPage* page = reinterpret_cast<NowPlayingPage*>(stack_.widget(static_cast<int>(Pages::NOW_PLAYING))); 104 NowPlayingPage* page = reinterpret_cast<NowPlayingPage*>(stack_.widget(static_cast<int>(Pages::NOW_PLAYING)));
105 105
106 connect(&playing_thread_, &MainWindowPlayingThread::Done, this, [page](const std::vector<std::string>& files) { 106 connect(&playing_thread_, &MainWindowPlayingThread::Done, this, [page](const std::vector<std::string>& files) {
107 for (const auto& file : files) { 107 for (const auto& file : files) {
108 anitomy::Anitomy anitomy; 108 anitomy::Anitomy anitomy;
109 anitomy.Parse(Strings::ToWstring(file)); 109 anitomy.Parse(file);
110 110
111 const auto& elements = anitomy.elements(); 111 const auto& elements = anitomy.elements();
112
112 const std::string title = Strings::ToUtf8String(elements.get(anitomy::kElementAnimeTitle)); 113 const std::string title = Strings::ToUtf8String(elements.get(anitomy::kElementAnimeTitle));
113 114
114 int id = Anime::db.LookupAnimeTitle(title); 115 int id = Anime::db.LookupAnimeTitle(title);
115 if (id <= 0) 116 if (id <= 0)
116 continue; 117 continue;