Mercurial > minori
diff src/services/anilist.cc @ 187:9613d72b097e
*: multiple performance improvements
like marking `static const` when it makes sense...
date: change old stupid heap-based method to a structure which should
make copying the thing actually make a copy.
also many performance-based changes, like removing the std::tie
dependency and forward-declaring nlohmann json
*: replace every instance of QString::fromUtf8 to Strings::ToQString.
the main difference is that our function will always convert exactly
what is in the string, while some other times it would only convert
up to the nearest NUL byte
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Wed, 06 Dec 2023 13:43:54 -0500 |
| parents | 62e336597bb7 |
| children | 7cf53145de11 |
line wrap: on
line diff
--- a/src/services/anilist.cc Wed Dec 06 11:47:59 2023 -0500 +++ b/src/services/anilist.cc Wed Dec 06 13:43:54 2023 -0500 @@ -7,12 +7,15 @@ #include "core/session.h" #include "core/strings.h" #include "gui/translate/anilist.h" + +#include <QDate> #include <QByteArray> #include <QDesktopServices> #include <QInputDialog> #include <QLineEdit> #include <QMessageBox> #include <QUrl> + #include <chrono> #include <exception> @@ -72,7 +75,7 @@ } void ParseListStatus(std::string status, Anime::Anime& anime) { - std::unordered_map<std::string, Anime::ListStatus> map = { + static const std::unordered_map<std::string, Anime::ListStatus> map = { {"CURRENT", Anime::ListStatus::CURRENT }, {"PLANNING", Anime::ListStatus::PLANNING }, {"COMPLETED", Anime::ListStatus::COMPLETED}, @@ -91,7 +94,7 @@ return; } - anime.SetUserStatus(map[status]); + anime.SetUserStatus(map.at(status)); } std::string ListStatusToString(const Anime::Anime& anime) {
