mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-27 08:52:05 +08:00
ui/MapSettings: store destinations to load on widget init (#28950)
Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user