HomeWindow: cleanup mousePressEvent (#21683)
* cleanup mousePressEvent * show/hide map in onroad * merge master old-commit-hash: 579fb8072a002dc0794fe8584ca0f0edc6682a35
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user