ui/MapSettings: store destinations to load on widget init (#28950)

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>

old-commit-hash: 187696977e
beeps
Dean Lee 2 years ago committed by GitHub
parent 78939ebcbd
commit b81910128d
  1. 4
      selfdrive/ui/qt/maps/map_settings.cc
  2. 2
      selfdrive/ui/qt/maps/map_settings.h

@ -83,6 +83,8 @@ MapSettings::MapSettings(bool closeable, QWidget *parent) : QFrame(parent) {
QObject::connect(NavigationRequest::instance(), &NavigationRequest::locationsUpdated, this, &MapSettings::updateLocations); QObject::connect(NavigationRequest::instance(), &NavigationRequest::locationsUpdated, this, &MapSettings::updateLocations);
QObject::connect(NavigationRequest::instance(), &NavigationRequest::nextDestinationUpdated, this, &MapSettings::updateCurrentRoute); QObject::connect(NavigationRequest::instance(), &NavigationRequest::nextDestinationUpdated, this, &MapSettings::updateCurrentRoute);
current_locations = NavigationRequest::instance()->currentLocations();
} }
void MapSettings::mousePressEvent(QMouseEvent *ev) { void MapSettings::mousePressEvent(QMouseEvent *ev) {
@ -333,7 +335,7 @@ void NavigationRequest::parseLocationsResponse(const QString &response, bool suc
} }
// Sort: HOME, WORK, alphabetical FAVORITES, and then most recent (as returned by API) // Sort: HOME, WORK, alphabetical FAVORITES, and then most recent (as returned by API)
QJsonArray locations = doc.array(); locations = doc.array();
std::stable_sort(locations.begin(), locations.end(), [](const QJsonValue &a, const QJsonValue &b) { std::stable_sort(locations.begin(), locations.end(), [](const QJsonValue &a, const QJsonValue &b) {
if (a["save_type"] == NAV_TYPE_FAVORITE || b["save_type"] == NAV_TYPE_FAVORITE) { if (a["save_type"] == NAV_TYPE_FAVORITE || b["save_type"] == NAV_TYPE_FAVORITE) {
QString a_label = a["label"].toString(), b_label = b["label"].toString(); QString a_label = a["label"].toString(), b_label = b["label"].toString();

@ -25,6 +25,7 @@ class NavigationRequest : public QObject {
public: public:
static NavigationRequest *instance(); static NavigationRequest *instance();
QJsonArray currentLocations() const { return locations; };
signals: signals:
void locationsUpdated(const QJsonArray &locations); void locationsUpdated(const QJsonArray &locations);
@ -36,6 +37,7 @@ private:
Params params; Params params;
QString prev_response; QString prev_response;
QJsonArray locations;
}; };
class MapSettings : public QFrame { class MapSettings : public QFrame {

Loading…
Cancel
Save