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

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
This commit is contained in:
Dean Lee
2023-07-15 18:37:41 +08:00
committed by GitHub
parent cbde480cb9
commit 187696977e
2 changed files with 5 additions and 1 deletions
+3 -1
View File
@@ -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::nextDestinationUpdated, this, &MapSettings::updateCurrentRoute);
current_locations = NavigationRequest::instance()->currentLocations();
}
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)
QJsonArray locations = doc.array();
locations = doc.array();
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) {
QString a_label = a["label"].toString(), b_label = b["label"].toString();
+2
View File
@@ -25,6 +25,7 @@ class NavigationRequest : public QObject {
public:
static NavigationRequest *instance();
QJsonArray currentLocations() const { return locations; };
signals:
void locationsUpdated(const QJsonArray &locations);
@@ -36,6 +37,7 @@ private:
Params params;
QString prev_response;
QJsonArray locations;
};
class MapSettings : public QFrame {