Files
dragonpilot/selfdrive/ui/qt/maps/map_settings.h
Dean Lee ef767f6332 MapPanel: refresh only when visible and destination changes (#25739)
rebuild widgets only when mappanel is visible
2022-09-12 22:54:33 -07:00

40 lines
891 B
C++

#pragma once
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
#include <QStackedWidget>
#include "common/params.h"
#include "selfdrive/ui/qt/widgets/controls.h"
class MapPanel : public QWidget {
Q_OBJECT
public:
explicit MapPanel(QWidget* parent = nullptr);
void navigateTo(const QJsonObject &place);
void parseResponse(const QString &response, bool success);
void updateCurrentRoute();
void clear();
private:
void showEvent(QShowEvent *event) override;
void refresh();
Params params;
QString prev_destinations, cur_destinations;
QStackedWidget *stack;
QPushButton *home_button, *work_button;
QLabel *home_address, *work_address;
QVBoxLayout *recent_layout;
QWidget *current_widget;
ButtonControl *current_route;
signals:
void closeSettings();
};