# 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 : : mapSettingsRequested ( ) {
emit mapPanelRequested ( ) ;
setVisible ( true ) ;
content_stack - > setCurrentIndex ( 1 ) ;
}