diff options
Diffstat (limited to 'src/tracker_config.cpp')
| -rw-r--r-- | src/tracker_config.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
| diff --git a/src/tracker_config.cpp b/src/tracker_config.cpp index 85164d5..da5d60a 100644 --- a/src/tracker_config.cpp +++ b/src/tracker_config.cpp | |||
| @@ -16,7 +16,9 @@ void TrackerConfig::Load() { | |||
| 16 | asked_to_check_for_updates = file["asked_to_check_for_updates"].as<bool>(); | 16 | asked_to_check_for_updates = file["asked_to_check_for_updates"].as<bool>(); |
| 17 | should_check_for_updates = file["should_check_for_updates"].as<bool>(); | 17 | should_check_for_updates = file["should_check_for_updates"].as<bool>(); |
| 18 | hybrid_areas = file["hybrid_areas"].as<bool>(); | 18 | hybrid_areas = file["hybrid_areas"].as<bool>(); |
| 19 | show_hunt_panels = file["show_hunt_panels"].as<bool>(); | 19 | if (file["show_hunt_panels"] && file["show_hunt_panels"].as<bool>()) { |
| 20 | visible_panels = kHUNT_PANELS; | ||
| 21 | } | ||
| 20 | 22 | ||
| 21 | if (file["connection_history"]) { | 23 | if (file["connection_history"]) { |
| 22 | for (const auto& connection : file["connection_history"]) { | 24 | for (const auto& connection : file["connection_history"]) { |
| @@ -27,6 +29,11 @@ void TrackerConfig::Load() { | |||
| 27 | }); | 29 | }); |
| 28 | } | 30 | } |
| 29 | } | 31 | } |
| 32 | |||
| 33 | ipc_address = file["ipc_address"].as<std::string>(); | ||
| 34 | track_position = file["track_position"].as<bool>(); | ||
| 35 | visible_panels = | ||
| 36 | static_cast<VisiblePanels>(file["visible_panels"].as<int>()); | ||
| 30 | } catch (const std::exception&) { | 37 | } catch (const std::exception&) { |
| 31 | // It's fine if the file can't be loaded. | 38 | // It's fine if the file can't be loaded. |
| 32 | } | 39 | } |
| @@ -40,7 +47,6 @@ void TrackerConfig::Save() { | |||
| 40 | output["asked_to_check_for_updates"] = asked_to_check_for_updates; | 47 | output["asked_to_check_for_updates"] = asked_to_check_for_updates; |
| 41 | output["should_check_for_updates"] = should_check_for_updates; | 48 | output["should_check_for_updates"] = should_check_for_updates; |
| 42 | output["hybrid_areas"] = hybrid_areas; | 49 | output["hybrid_areas"] = hybrid_areas; |
| 43 | output["show_hunt_panels"] = show_hunt_panels; | ||
| 44 | 50 | ||
| 45 | output.remove("connection_history"); | 51 | output.remove("connection_history"); |
| 46 | for (const ConnectionDetails& details : connection_history) { | 52 | for (const ConnectionDetails& details : connection_history) { |
| @@ -52,6 +58,10 @@ void TrackerConfig::Save() { | |||
| 52 | output["connection_history"].push_back(connection); | 58 | output["connection_history"].push_back(connection); |
| 53 | } | 59 | } |
| 54 | 60 | ||
| 61 | output["ipc_address"] = ipc_address; | ||
| 62 | output["track_position"] = track_position; | ||
| 63 | output["visible_panels"] = static_cast<int>(visible_panels); | ||
| 64 | |||
| 55 | std::ofstream filewriter(filename_); | 65 | std::ofstream filewriter(filename_); |
| 56 | filewriter << output; | 66 | filewriter << output; |
| 57 | } | 67 | } |
