From c6b435ad9debd31cfb1bdd30749058d19a76e7a9 Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Tue, 27 Feb 2024 16:34:47 -0700 Subject: [PATCH] Sidebar retains its previous display when going onroad Added function to retain the previous sidebar display when going onroad. --- common/params.cc | 1 + selfdrive/ui/qt/home.cc | 2 ++ selfdrive/ui/qt/window.cc | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/common/params.cc b/common/params.cc index 28a7a8adf..56d39055c 100644 --- a/common/params.cc +++ b/common/params.cc @@ -382,6 +382,7 @@ std::unordered_map keys = { {"ShowStorageLeft", PERSISTENT}, {"ShowStorageUsed", PERSISTENT}, {"ShowTuning", PERSISTENT}, + {"Sidebar", PERSISTENT}, {"StandardFollow", PERSISTENT}, {"StandardJerk", PERSISTENT}, {"StandbyMode", PERSISTENT}, diff --git a/selfdrive/ui/qt/home.cc b/selfdrive/ui/qt/home.cc index ba145b31b..9c7c89a2b 100644 --- a/selfdrive/ui/qt/home.cc +++ b/selfdrive/ui/qt/home.cc @@ -91,6 +91,7 @@ void HomeWindow::showDriverView(bool show, bool started) { } else { if (started) { slayout->setCurrentWidget(onroad); + sidebar->setVisible(params.getBool("Sidebar")); } else { slayout->setCurrentWidget(home); sidebar->setVisible(show == false); @@ -103,6 +104,7 @@ void HomeWindow::mousePressEvent(QMouseEvent* e) { if ((onroad->isVisible() || body->isVisible()) && (!sidebar->isVisible() || e->x() > sidebar->width())) { sidebar->setVisible(!sidebar->isVisible() && !onroad->isMapVisible()); uiState()->scene.map_open = onroad->isMapVisible(); + params.putBool("Sidebar", sidebar->isVisible()); } } diff --git a/selfdrive/ui/qt/window.cc b/selfdrive/ui/qt/window.cc index ecc578022..4e4bd36a1 100644 --- a/selfdrive/ui/qt/window.cc +++ b/selfdrive/ui/qt/window.cc @@ -74,10 +74,11 @@ void MainWindow::closeSettings() { main_layout->setCurrentWidget(homeWindow); if (uiState()->scene.started) { - homeWindow->showSidebar(false); // Map is always shown when using navigate on openpilot if (uiState()->scene.navigate_on_openpilot) { homeWindow->showMapPanel(true); + } else { + homeWindow->showSidebar(params.getBool("Sidebar")); } } }