about summary refs log tree commit diff stats
path: root/src/ap_state.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-05-14 11:41:50 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2024-05-14 11:41:50 -0400
commit7f4b6b4f0cb276a7e0868c7e97d862b1feb468d3 (patch)
tree101ca3148d5470db821d1572c8f795dd5ad61759 /src/ap_state.cpp
parent34133b1e330a7d3c2a3e6a6bcd36deb5f95e8f13 (diff)
downloadlingo-ap-tracker-7f4b6b4f0cb276a7e0868c7e97d862b1feb468d3.tar.gz
lingo-ap-tracker-7f4b6b4f0cb276a7e0868c7e97d862b1feb468d3.tar.bz2
lingo-ap-tracker-7f4b6b4f0cb276a7e0868c7e97d862b1feb468d3.zip
Hovered connections on subway map!
Diffstat (limited to 'src/ap_state.cpp')
-rw-r--r--src/ap_state.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/ap_state.cpp b/src/ap_state.cpp index 8feb78b..b057beb 100644 --- a/src/ap_state.cpp +++ b/src/ap_state.cpp
@@ -173,7 +173,7 @@ struct APState {
173 TrackerLog("Location: " + std::to_string(location_id)); 173 TrackerLog("Location: " + std::to_string(location_id));
174 } 174 }
175 175
176 RefreshTracker(); 176 RefreshTracker(false);
177 }); 177 });
178 178
179 apclient->set_slot_disconnected_handler([this]() { 179 apclient->set_slot_disconnected_handler([this]() {
@@ -197,7 +197,7 @@ struct APState {
197 TrackerLog("Item: " + std::to_string(item.item)); 197 TrackerLog("Item: " + std::to_string(item.item));
198 } 198 }
199 199
200 RefreshTracker(); 200 RefreshTracker(false);
201 }); 201 });
202 202
203 apclient->set_retrieved_handler( 203 apclient->set_retrieved_handler(
@@ -206,14 +206,14 @@ struct APState {
206 HandleDataStorage(key, value); 206 HandleDataStorage(key, value);
207 } 207 }
208 208
209 RefreshTracker(); 209 RefreshTracker(false);
210 }); 210 });
211 211
212 apclient->set_set_reply_handler([this](const std::string& key, 212 apclient->set_set_reply_handler([this](const std::string& key,
213 const nlohmann::json& value, 213 const nlohmann::json& value,
214 const nlohmann::json&) { 214 const nlohmann::json&) {
215 HandleDataStorage(key, value); 215 HandleDataStorage(key, value);
216 RefreshTracker(); 216 RefreshTracker(false);
217 }); 217 });
218 218
219 apclient->set_slot_connected_handler([this]( 219 apclient->set_slot_connected_handler([this](
@@ -271,7 +271,7 @@ struct APState {
271 connected = true; 271 connected = true;
272 has_connection_result = true; 272 has_connection_result = true;
273 273
274 RefreshTracker(); 274 RefreshTracker(true);
275 275
276 std::list<std::string> corrected_keys; 276 std::list<std::string> corrected_keys;
277 for (const std::string& key : tracked_data_storage_keys) { 277 for (const std::string& key : tracked_data_storage_keys) {
@@ -353,7 +353,7 @@ struct APState {
353 } 353 }
354 354
355 if (connected) { 355 if (connected) {
356 RefreshTracker(); 356 RefreshTracker(false);
357 } else { 357 } else {
358 client_active = false; 358 client_active = false;
359 } 359 }
@@ -407,11 +407,16 @@ struct APState {
407 return data_storage.count(key) && std::any_cast<bool>(data_storage.at(key)); 407 return data_storage.count(key) && std::any_cast<bool>(data_storage.at(key));
408 } 408 }
409 409
410 void RefreshTracker() { 410 void RefreshTracker(bool reset) {
411 TrackerLog("Refreshing display..."); 411 TrackerLog("Refreshing display...");
412 412
413 RecalculateReachability(); 413 RecalculateReachability();
414 tracker_frame->UpdateIndicators(); 414
415 if (reset) {
416 tracker_frame->ResetIndicators();
417 } else {
418 tracker_frame->UpdateIndicators();
419 }
415 } 420 }
416 421
417 int64_t GetItemId(const std::string& item_name) { 422 int64_t GetItemId(const std::string& item_name) {