Mercurial > minori
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; |