mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-26 09:04:01 +08:00
* add image
* remove extra spacing
* add images
* use nav-settings-square-smaller.png
* draft
* clean up
* kinda works!
* nop need to update state
* can just use clicked
* MORE
* remove old button
* slightly smaller (todo change image))
* this works but is ugly
* remove old settings button
* draft
* no it's not
* draft 2.0
* clean up
* clean up
* let's make map_settings_btn public
* since we don't have map, use enabled
* fix image size
* can do clean up in another PR
show
* add line
* rename
* useless spacing
* use old nav icon
* handle DM icon (and test)
* clean up
* no reason
* remove old image
* don't use setCurrentIndex
* Revert "don't use setCurrentIndex"
This reverts commit 6fde765a3cd3a9ee39205614587a23fbfbc60950.
* also can use a ternary
* seems cleanest
This reverts commit f9287230704b94f46b6bb5376d9a17075a20caf7.
old-commit-hash: 0dd1dcc7d0
44 lines
1.5 KiB
C++
44 lines
1.5 KiB
C++
#include "selfdrive/ui/qt/maps/map_panel.h"
|
|
|
|
#include <QHBoxLayout>
|
|
#include <QWidget>
|
|
|
|
#include "selfdrive/ui/qt/maps/map.h"
|
|
#include "selfdrive/ui/qt/maps/map_settings.h"
|
|
#include "selfdrive/ui/qt/util.h"
|
|
#include "selfdrive/ui/ui.h"
|
|
|
|
MapPanel::MapPanel(const QMapboxGLSettings &mapboxSettings, QWidget *parent) : QFrame(parent) {
|
|
content_stack = new QStackedLayout(this);
|
|
content_stack->setContentsMargins(0, 0, 0, 0);
|
|
|
|
auto map = new MapWindow(mapboxSettings);
|
|
QObject::connect(uiState(), &UIState::offroadTransition, map, &MapWindow::offroadTransition);
|
|
QObject::connect(device(), &Device::interactiveTimeout, [=]() {
|
|
content_stack->setCurrentIndex(0);
|
|
});
|
|
QObject::connect(map, &MapWindow::requestVisible, [=](bool visible) {
|
|
// when we show the map for a new route, signal HomeWindow to hide the sidebar
|
|
if (visible) { emit mapPanelRequested(); }
|
|
setVisible(visible);
|
|
});
|
|
QObject::connect(map, &MapWindow::requestSettings, [=](bool settings) {
|
|
content_stack->setCurrentIndex(settings ? 1 : 0);
|
|
});
|
|
content_stack->addWidget(map);
|
|
|
|
auto settings = new MapSettings(true, parent);
|
|
QObject::connect(settings, &MapSettings::closeSettings, [=]() {
|
|
content_stack->setCurrentIndex(0);
|
|
});
|
|
content_stack->addWidget(settings);
|
|
}
|
|
|
|
void MapPanel::toggleMapSettings() {
|
|
// show settings if not visible, then toggle between map and settings
|
|
int new_index = isVisible() ? (1 - content_stack->currentIndex()) : 1;
|
|
content_stack->setCurrentIndex(new_index);
|
|
emit mapPanelRequested();
|
|
show();
|
|
}
|