diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-19 10:23:19 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-19 10:23:19 -0400 |
commit | 334773ba2aa62c5b539273e2888df5b3befdf5b0 (patch) | |
tree | b4d95b0ffd83f903f6249d55e9f4e863def7ad5c /src/tracker_frame.cpp | |
parent | 6f8eadab09c0bce461f5760684b39167f30287dc (diff) | |
download | lingo-ap-tracker-334773ba2aa62c5b539273e2888df5b3befdf5b0.tar.gz lingo-ap-tracker-334773ba2aa62c5b539273e2888df5b3befdf5b0.tar.bz2 lingo-ap-tracker-334773ba2aa62c5b539273e2888df5b3befdf5b0.zip |
Check for updates on Four Island now
Diffstat (limited to 'src/tracker_frame.cpp')
-rw-r--r-- | src/tracker_frame.cpp | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/src/tracker_frame.cpp b/src/tracker_frame.cpp index 49f947f..a74e81e 100644 --- a/src/tracker_frame.cpp +++ b/src/tracker_frame.cpp | |||
@@ -135,9 +135,7 @@ void TrackerFrame::OnStatusChanged(wxCommandEvent &event) { | |||
135 | 135 | ||
136 | void TrackerFrame::CheckForUpdates(bool manual) { | 136 | void TrackerFrame::CheckForUpdates(bool manual) { |
137 | wxWebRequest request = wxWebSession::GetDefault().CreateRequest( | 137 | wxWebRequest request = wxWebSession::GetDefault().CreateRequest( |
138 | this, | 138 | this, "https://code.fourisland.com/lingo-ap-tracker/plain/VERSION"); |
139 | "https://api.github.com/repos/hatkirby/lingo-ap-tracker/" | ||
140 | "releases?per_page=8"); | ||
141 | 139 | ||
142 | if (!request.IsOk()) { | 140 | if (!request.IsOk()) { |
143 | if (manual) { | 141 | if (manual) { |
@@ -153,28 +151,20 @@ void TrackerFrame::CheckForUpdates(bool manual) { | |||
153 | Bind(wxEVT_WEBREQUEST_STATE, [this, manual](wxWebRequestEvent &evt) { | 151 | Bind(wxEVT_WEBREQUEST_STATE, [this, manual](wxWebRequestEvent &evt) { |
154 | if (evt.GetState() == wxWebRequest::State_Completed) { | 152 | if (evt.GetState() == wxWebRequest::State_Completed) { |
155 | std::string response = evt.GetResponse().AsString().ToStdString(); | 153 | std::string response = evt.GetResponse().AsString().ToStdString(); |
156 | nlohmann::json parsed_response = nlohmann::json::parse(response); | 154 | |
157 | 155 | Version latest_version(response); | |
158 | if (parsed_response.is_array() && !parsed_response.empty()) { | 156 | if (kTrackerVersion < latest_version) { |
159 | // This will parse to 0.0.0 if it's invalid, which will always be older | 157 | std::ostringstream message_text; |
160 | // than our current version. | 158 | message_text << "There is a newer version of Lingo AP Tracker " |
161 | Version latest_version( | 159 | "available. You have " |
162 | parsed_response[0]["tag_name"].get<std::string>()); | 160 | << kTrackerVersion << ", and the latest version is " |
163 | if (kTrackerVersion < latest_version) { | 161 | << latest_version << ". Would you like to update?"; |
164 | std::ostringstream message_text; | 162 | |
165 | message_text << "There is a newer version of Lingo AP Tracker " | 163 | if (wxMessageBox(message_text.str(), "Update available", wxYES_NO) == |
166 | "available. You have " | 164 | wxYES) { |
167 | << kTrackerVersion << ", and the latest version is " | 165 | wxLaunchDefaultBrowser( |
168 | << latest_version << ". Would you like to update?"; | 166 | "https://code.fourisland.com/lingo-ap-tracker/about/" |
169 | 167 | "CHANGELOG.md"); | |
170 | if (wxMessageBox(message_text.str(), "Update available", wxYES_NO) == | ||
171 | wxYES) { | ||
172 | wxLaunchDefaultBrowser( | ||
173 | parsed_response[0]["html_url"].get<std::string>()); | ||
174 | } | ||
175 | } else if (manual) { | ||
176 | wxMessageBox("Lingo AP Tracker is up to date!", "Lingo AP Tracker", | ||
177 | wxOK); | ||
178 | } | 168 | } |
179 | } else if (manual) { | 169 | } else if (manual) { |
180 | wxMessageBox("Lingo AP Tracker is up to date!", "Lingo AP Tracker", | 170 | wxMessageBox("Lingo AP Tracker is up to date!", "Lingo AP Tracker", |