pull/29068/head
Shane Smiskol 2 years ago
parent af2c6405c9
commit 6cded14cfa
  1. 47
      selfdrive/ui/qt/maps/map_panel.cc
  2. 1
      selfdrive/ui/qt/maps/map_panel.h
  3. 5
      selfdrive/ui/qt/onroad.cc
  4. 4
      selfdrive/ui/qt/onroad.h

@ -17,15 +17,16 @@ MapPanel::MapPanel(const QMapboxGLSettings &mapboxSettings, QWidget *parent) : Q
QObject::connect(device(), &Device::interactiveTimeout, [=]() { QObject::connect(device(), &Device::interactiveTimeout, [=]() {
content_stack->setCurrentIndex(0); content_stack->setCurrentIndex(0);
}); });
QObject::connect(map, &MapWindow::requestVisible, [=](bool visible) { QObject::connect(map, &MapWindow::requestVisible, this, &MapPanel::requestVisible);
// when we show the map for a new route, signal HomeWindow to hide the sidebar // QObject::connect(map, &MapWindow::requestVisible, [=](bool visible) {
if (visible) { emit mapPanelRequested(); } // // when we show the map for a new route, signal HomeWindow to hide the sidebar
setVisible(visible); // if (visible) { emit mapPanelRequested(); }
}); // setVisible(visible);
// QObject::connect(map, &MapWindow::requestSettings, this, &MapPanel::requestMapSettings); // });
QObject::connect(map, &MapWindow::requestSettings, [=](bool settings) { QObject::connect(map, &MapWindow::requestSettings, this, &MapPanel::requestMapSettings);
content_stack->setCurrentIndex(settings ? 1 : 0); // QObject::connect(map, &MapWindow::requestSettings, [=](bool settings) {
}); // content_stack->setCurrentIndex(settings ? 1 : 0);
// });
content_stack->addWidget(map); content_stack->addWidget(map);
auto settings = new MapSettings(true, parent); auto settings = new MapSettings(true, parent);
@ -35,14 +36,30 @@ MapPanel::MapPanel(const QMapboxGLSettings &mapboxSettings, QWidget *parent) : Q
content_stack->addWidget(settings); content_stack->addWidget(settings);
} }
void MapPanel::requestVisible(bool visible) {
if (visible != isVisible()) {
// signal HomeWindow to hide the sidebar and switch to map window if showing
// TODO: perhaps showEvent is better
if (visible) {
emit mapPanelRequested();
content_stack->setCurrentIndex(0);
}
setVisible(visible);
}
}
void MapPanel::toggleMapSettings() { void MapPanel::toggleMapSettings() {
emit mapPanelRequested(); requestVisible(true);
setVisible(true); // if (!isVisible()) {
// emit mapPanelRequested(); qDebug() << "emit mapPanelRequested()";
// setVisible(true);
// }
content_stack->setCurrentIndex((content_stack->currentIndex() + 1) % 2); content_stack->setCurrentIndex((content_stack->currentIndex() + 1) % 2);
} }
void MapPanel::requestMapSettings(bool settings) { // TODO rename requestMapSettings void MapPanel::requestMapSettings(bool settings) {
emit mapPanelRequested(); content_stack->setCurrentIndex(settings ? 1 : 0);
setVisible(true); // emit mapPanelRequested();
content_stack->setCurrentIndex(1); // setVisible(true);
// content_stack->setCurrentIndex(1);
} }

@ -14,6 +14,7 @@ signals:
void mapPanelRequested(); void mapPanelRequested();
public slots: public slots:
void requestVisible(bool visible);
void requestMapSettings(bool settings); void requestMapSettings(bool settings);
void toggleMapSettings(); void toggleMapSettings();

@ -92,8 +92,7 @@ void OnroadWindow::offroadTransition(bool offroad) {
map = m; map = m;
QObject::connect(m, &MapPanel::mapPanelRequested, this, &OnroadWindow::mapPanelRequested); QObject::connect(m, &MapPanel::mapPanelRequested, this, &OnroadWindow::mapPanelRequested);
// QObject::connect(nvg, &AnnotatedCameraWidget::mapSettingsRequested, m, &MapPanel::mapSettingsRequested); QObject::connect(nvg, &AnnotatedCameraWidget::toggleMapSettings, m, &MapPanel::toggleMapSettings);
QObject::connect(nvg, &AnnotatedCameraWidget::mapSettingsRequested, m, &MapPanel::toggleMapSettings);
m->setFixedWidth(topWidget(this)->width() / 2 - UI_BORDER_SIZE); m->setFixedWidth(topWidget(this)->width() / 2 - UI_BORDER_SIZE);
split->insertWidget(0, m); split->insertWidget(0, m);
@ -257,7 +256,7 @@ AnnotatedCameraWidget::AnnotatedCameraWidget(VisionStreamType type, QWidget* par
main_layout->addWidget(experimental_btn, 0, Qt::AlignTop | Qt::AlignRight); main_layout->addWidget(experimental_btn, 0, Qt::AlignTop | Qt::AlignRight);
map_settings_btn = new MapSettingsButton(this); map_settings_btn = new MapSettingsButton(this);
QObject::connect(map_settings_btn, &MapSettingsButton::clicked, this, &AnnotatedCameraWidget::mapSettingsRequested); QObject::connect(map_settings_btn, &MapSettingsButton::clicked, this, &AnnotatedCameraWidget::toggleMapSettings);
main_layout->addWidget(map_settings_btn, 0, Qt::AlignBottom | Qt::AlignRight); main_layout->addWidget(map_settings_btn, 0, Qt::AlignBottom | Qt::AlignRight);
dm_img = loadPixmap("../assets/img_driver_face.png", {img_size + 5, img_size + 5}); dm_img = loadPixmap("../assets/img_driver_face.png", {img_size + 5, img_size + 5});

@ -55,7 +55,7 @@ public:
explicit MapSettingsButton(QWidget *parent = 0); explicit MapSettingsButton(QWidget *parent = 0);
signals: signals:
void mapSettingsRequested(); void toggleMapSettings();
private: private:
void paintEvent(QPaintEvent *event) override; void paintEvent(QPaintEvent *event) override;
@ -85,7 +85,7 @@ public:
void updateState(const UIState &s); void updateState(const UIState &s);
signals: signals:
void mapSettingsRequested(); void toggleMapSettings();
private: private:
void drawIcon(QPainter &p, int x, int y, QPixmap &img, QBrush bg, float opacity); void drawIcon(QPainter &p, int x, int y, QPixmap &img, QBrush bg, float opacity);

Loading…
Cancel
Save