Mercurial > minori
annotate src/core/config.cc @ 320:1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
there are some things the API just... doesn't provide. therefore
we have to request the genres separately any time a new anime info
box is opened...
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 12 Jun 2024 19:49:19 -0400 |
| parents | 3b355fa948c7 |
| children | a7d4e5107531 |
| rev | line source |
|---|---|
| 9 | 1 #include "core/config.h" |
| 2 #include "core/anime.h" | |
| 258 | 3 #include "core/filesystem.h" |
| 9 | 4 #include "core/json.h" |
| 258 | 5 #include "core/strings.h" |
|
90
c4bb49c2f6eb
config: improve handling of vars
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
6 #include "gui/translate/anime.h" |
|
c4bb49c2f6eb
config: improve handling of vars
Paper <mrpapersonic@gmail.com>
parents:
81
diff
changeset
|
7 #include "gui/translate/config.h" |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
8 |
| 258 | 9 #include "animone/player.h" |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
10 |
|
101
c537996cf67b
*: multitude of config changes
Paper <mrpapersonic@gmail.com>
parents:
90
diff
changeset
|
11 #include <algorithm> |
| 9 | 12 #include <cstdlib> |
| 13 #include <cstring> | |
| 14 #include <filesystem> | |
| 15 #include <fstream> | |
| 16 #include <limits.h> | |
| 17 | |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
18 #include <toml11/toml.hpp> |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
19 |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
20 #include <QFile> |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
21 #include <QTextStream> |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
22 |
| 250 | 23 #include <iostream> |
| 24 | |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
25 /* NOTE: This config file is prone to breakage, as Minori is alpha software and |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
26 * as such nothing is constant. */ |
| 120 | 27 |
| 9 | 28 int Config::Load() { |
|
135
0a458cb26ff4
filesystem: move to using std::filesystem after C++17 switch
Paper <mrpapersonic@gmail.com>
parents:
120
diff
changeset
|
29 std::filesystem::path cfg_path = Filesystem::GetConfigPath(); |
| 102 | 30 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
31 std::ifstream ifs(cfg_path, std::ios_base::binary); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
32 if (!ifs.good()) |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
33 return 0; |
|
101
c537996cf67b
*: multitude of config changes
Paper <mrpapersonic@gmail.com>
parents:
90
diff
changeset
|
34 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
35 toml::value data; |
| 120 | 36 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
37 try { |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
38 data = toml::parse(ifs); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
39 } catch (const std::exception& ex) { |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
40 std::cerr << "config: failed to parse toml with error " << ex.what() << std::endl; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
41 return 0; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
42 } |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
43 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
44 service = Translate::ToService(toml::find_or(data, "General", "Service", "None")); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
45 locale.RefreshAvailableLocales(); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
46 locale.SetActiveLocale(QLocale(Strings::ToQString(toml::find_or(data, "General", "Locale", "en_US")))); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
47 |
|
183
01d259b9c89f
pages/torrents.cc: parse feed descriptions separately
Paper <mrpapersonic@gmail.com>
parents:
151
diff
changeset
|
48 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
49 anime_list.score_format = Translate::ToScoreFormat(toml::find_or(data, "Anime List", "Score format", "100-point")); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
50 anime_list.language = Translate::ToLanguage(toml::find_or(data, "Anime List", "Title language", "Romaji")); |
|
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
51 anime_list.display_aired_episodes = toml::find_or(data, "Anime List", "Display only aired episodes", true); |
|
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
52 anime_list.display_available_episodes = toml::find_or(data, "Anime List", "Display only available episodes in library", true); |
|
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
53 anime_list.highlight_anime_if_available = toml::find_or(data, "Anime List", "Highlight anime if available", true); |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
54 anime_list.highlighted_anime_above_others = |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
55 (anime_list.highlight_anime_if_available) |
|
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
56 ? toml::find_or(data, "Anime List", "Display highlighted anime above others", false) |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
57 : false; |
| 120 | 58 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
59 auth.anilist.auth_token = toml::find_or(data, "Authentication/AniList", "Auth Token", ""); |
|
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
60 auth.anilist.user_id = toml::find_or(data, "Authentication/AniList", "User ID", 0); |
|
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
286
diff
changeset
|
61 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
62 auth.kitsu.access_token = toml::find_or(data, "Authentication/Kitsu", "Access Token", ""); |
|
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
63 auth.kitsu.access_token_expiration = toml::find_or(data, "Authentication/Kitsu", "Access Token Expiration", static_cast<Time::Timestamp>(0)); |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
64 auth.kitsu.refresh_token = toml::find_or(data, "Authentication/Kitsu", "Refresh Token", ""); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
65 auth.kitsu.user_id = toml::find_or(data, "Authentication/Kitsu", "User ID", ""); |
|
116
254b1d2b7096
settings: add torrents page, make rss feed configurable
Paper <mrpapersonic@gmail.com>
parents:
108
diff
changeset
|
66 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
67 torrents.feed_link = toml::find_or(data, "Torrents", "RSS feed", "https://www.tokyotosho.info/rss.php?filter=1,11&zwnj=0"); |
|
135
0a458cb26ff4
filesystem: move to using std::filesystem after C++17 switch
Paper <mrpapersonic@gmail.com>
parents:
120
diff
changeset
|
68 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
69 recognition.detect_media_players = toml::find_or(data, "Recognition", "Detect media players", true); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
70 |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
71 { |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
72 QFile f(":/players.anisthesia"); |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
73 if (!f.exists()) |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
74 return false; |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
75 |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
76 f.open(QFile::ReadOnly | QFile::Text); |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
77 QTextStream ts(&f); |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
78 |
| 258 | 79 std::vector<animone::Player> players; |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
80 |
| 258 | 81 if (!animone::ParsePlayersData(Strings::ToUtf8String(ts.readAll()), players)) |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
82 return false; |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
83 |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
84 recognition.players.reserve(players.size()); |
|
185
62e336597bb7
anime list: add support for different score formats
Paper <mrpapersonic@gmail.com>
parents:
183
diff
changeset
|
85 for (const auto& player : players) |
|
151
54744a48a7d7
last commit part 2: struct init with {} is valid syntax, actually
Paper <mrpapersonic@gmail.com>
parents:
150
diff
changeset
|
86 recognition.players.push_back({true, player}); |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
87 } |
|
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
88 |
|
149
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
89 for (auto& [enabled, player] : recognition.players) { |
|
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
90 switch (player.type) { |
|
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
91 default: |
| 258 | 92 case animone::PlayerType::Default: |
|
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
93 enabled = toml::find_or(data, "Recognition/Players", player.name, true); |
|
149
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
94 break; |
| 258 | 95 case animone::PlayerType::WebBrowser: |
|
320
1b5c04268d6a
services/kitsu: ACTUALLY finish GetAnimeList
Paper <paper@paper.us.eu.org>
parents:
318
diff
changeset
|
96 enabled = toml::find_or(data, "Recognition/Browsers", player.name, true); |
|
149
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
97 break; |
|
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
98 } |
|
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
99 } |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
100 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
101 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
102 theme.SetTheme(Translate::ToTheme(toml::find_or(data, "Appearance", "Theme", "Default"))); |
|
116
254b1d2b7096
settings: add torrents page, make rss feed configurable
Paper <mrpapersonic@gmail.com>
parents:
108
diff
changeset
|
103 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
104 if (data.contains("Library") && data["Library"].contains("Folders")) { |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
105 const toml::value& folders = toml::find(data, "Library", "Folders"); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
106 std::vector<std::string> v = toml::get_or<std::vector<std::string>>(folders, {}); |
| 250 | 107 for (const auto& s : v) |
| 108 if (!library.paths.count(s)) | |
| 109 library.paths.insert(s); | |
| 226 | 110 } |
| 111 | |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
112 library.real_time_monitor = toml::find_or(data, "Library", "Real-time monitor", true); |
|
223
84e0a3c4737a
library: implement menu bar buttons
Paper <mrpapersonic@gmail.com>
parents:
221
diff
changeset
|
113 |
| 9 | 114 return 0; |
| 115 } | |
| 116 | |
| 250 | 117 int Config::Save() { |
|
135
0a458cb26ff4
filesystem: move to using std::filesystem after C++17 switch
Paper <mrpapersonic@gmail.com>
parents:
120
diff
changeset
|
118 std::filesystem::path cfg_path = Filesystem::GetConfigPath(); |
|
0a458cb26ff4
filesystem: move to using std::filesystem after C++17 switch
Paper <mrpapersonic@gmail.com>
parents:
120
diff
changeset
|
119 Filesystem::CreateDirectories(cfg_path); |
|
101
c537996cf67b
*: multitude of config changes
Paper <mrpapersonic@gmail.com>
parents:
90
diff
changeset
|
120 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
121 std::ofstream file(cfg_path); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
122 if (!file.good()) |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
123 return 0; |
| 120 | 124 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
125 toml::value data; |
| 120 | 126 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
127 data["Library"]["Folders"] = library.paths; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
128 data["Library"]["Real-time monitor"] = library.real_time_monitor; |
|
101
c537996cf67b
*: multitude of config changes
Paper <mrpapersonic@gmail.com>
parents:
90
diff
changeset
|
129 |
|
149
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
130 for (const auto& [enabled, player] : recognition.players) { |
|
276
ec0a2b5493f8
ini: simplify INI code, use templates less
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
131 const std::string section = (player.type == animone::PlayerType::WebBrowser) ? "Recognition/Players" : "Recognition/Browsers"; |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
132 data[section][player.name] = enabled; |
|
149
e41505d24733
players: filter out web browsers, they aren't even supported in animia yet
Paper <mrpapersonic@gmail.com>
parents:
147
diff
changeset
|
133 } |
|
147
6fdf0632c003
track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents:
135
diff
changeset
|
134 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
135 data["Recognition"]["Detect media players"] = recognition.detect_media_players; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
136 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
137 data["Torrents"]["RSS feed"] = torrents.feed_link; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
138 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
139 data["Authentication/Kitsu"]["Access Token"] = auth.kitsu.access_token; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
140 data["Authentication/Kitsu"]["Access Token Expiration"] = auth.kitsu.access_token_expiration; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
141 data["Authentication/Kitsu"]["Refresh Token"] = auth.kitsu.refresh_token; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
142 data["Authentication/Kitsu"]["User ID"] = auth.kitsu.user_id; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
143 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
144 data["Authentication/AniList"]["Auth Token"] = auth.anilist.auth_token; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
145 data["Authentication/AniList"]["User ID"] = auth.anilist.user_id; |
|
223
84e0a3c4737a
library: implement menu bar buttons
Paper <mrpapersonic@gmail.com>
parents:
221
diff
changeset
|
146 |
|
318
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
147 data["Anime List"]["Score format"] = Translate::ToString(anime_list.score_format); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
148 data["Anime List"]["Title language"] = Translate::ToString(anime_list.language); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
149 data["Anime List"]["Display only aired episodes"] = anime_list.display_aired_episodes; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
150 data["Anime List"]["Display only available episodes in library"] = anime_list.display_available_episodes; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
151 data["Anime List"]["Highlight anime if available"] = anime_list.highlight_anime_if_available; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
152 data["Anime List"]["Display highlighted anime above others"] = anime_list.highlighted_anime_above_others; |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
153 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
154 data["Appearance"]["Theme"] = Translate::ToString(theme.GetTheme()); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
155 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
156 data["General"]["Service"] = Translate::ToString(service); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
157 data["General"]["Locale"] = Strings::ToUtf8String(locale.GetLocale().name()); |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
158 |
|
3b355fa948c7
config: use TOML instead of INI
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
159 file << std::setw(0) << data; |
|
101
c537996cf67b
*: multitude of config changes
Paper <mrpapersonic@gmail.com>
parents:
90
diff
changeset
|
160 |
| 9 | 161 return 0; |
| 162 } |
