HomeWindow: cleanup mousePressEvent (#21683)

* cleanup mousePressEvent

* show/hide map in onroad

* merge master
old-commit-hash: 579fb8072a
commatwo_master
Dean Lee 4 years ago committed by GitHub
parent 06c7d5af32
commit ae5c6aeae6
  1. 15
      selfdrive/ui/qt/home.cc
  2. 9
      selfdrive/ui/qt/onroad.cc
  3. 5
      selfdrive/ui/qt/onroad.h

@ -68,19 +68,8 @@ void HomeWindow::showDriverView(bool show) {
void HomeWindow::mousePressEvent(QMouseEvent* e) {
// Handle sidebar collapsing
if (onroad->isVisible() && (!sidebar->isVisible() || e->x() > sidebar->width())) {
// TODO: Handle this without exposing pointer to map widget
// Hide map first if visible, then hide sidebar
if (onroad->map != nullptr && onroad->map->isVisible()) {
onroad->map->setVisible(false);
} else if (!sidebar->isVisible()) {
sidebar->setVisible(true);
} else {
sidebar->setVisible(false);
if (onroad->map != nullptr) onroad->map->setVisible(true);
}
if (onroad->isVisible()) {
sidebar->setVisible(!sidebar->isVisible() && !onroad->isMapVisible());
}
}

@ -69,6 +69,15 @@ void OnroadWindow::updateState(const UIState &s) {
}
}
void OnroadWindow::mousePressEvent(QMouseEvent* e) {
if (map != nullptr) {
bool sidebarVisible = geometry().x() > 0;
map->setVisible(!sidebarVisible && !map->isVisible());
}
// propagation event to parent(HomeWindow)
QWidget::mousePressEvent(e);
}
void OnroadWindow::offroadTransition(bool offroad) {
#ifdef ENABLE_MAPS
if (!offroad) {

@ -54,14 +54,15 @@ class OnroadWindow : public QWidget {
public:
OnroadWindow(QWidget* parent = 0);
QWidget *map = nullptr;
bool isMapVisible() const { return map && map->isVisible(); }
private:
void paintEvent(QPaintEvent *event);
void mousePressEvent(QMouseEvent* e) override;
OnroadAlerts *alerts;
NvgWindow *nvg;
QColor bg = bg_colors[STATUS_DISENGAGED];
QWidget *map = nullptr;
QHBoxLayout* split;
signals:

Loading…
Cancel
Save