@ -8,6 +8,12 @@ MainWindow::MainWindow(QWidget *parent) : QWidget(parent) {
main_layout = new QStackedLayout ( this ) ;
main_layout - > setMargin ( 0 ) ;
onboardingWindow = new OnboardingWindow ( this ) ;
main_layout - > addWidget ( onboardingWindow ) ;
QObject : : connect ( onboardingWindow , & OnboardingWindow : : onboardingDone , [ = ] ( ) {
main_layout - > setCurrentWidget ( homeWindow ) ;
} ) ;
homeWindow = new HomeWindow ( this ) ;
main_layout - > addWidget ( homeWindow ) ;
QObject : : connect ( homeWindow , & HomeWindow : : openSettings , this , & MainWindow : : openSettings ) ;
@ -21,26 +27,25 @@ MainWindow::MainWindow(QWidget *parent) : QWidget(parent) {
main_layout - > addWidget ( settingsWindow ) ;
QObject : : connect ( settingsWindow , & SettingsWindow : : closeSettings , this , & MainWindow : : closeSettings ) ;
QObject : : connect ( & qs , & QUIState : : offroadTransition , settingsWindow , & SettingsWindow : : offroadTransition ) ;
QObject : : connect ( settingsWindow , & SettingsWindow : : reviewTrainingGuide , this , & MainWindow : : reviewTrainingGuide ) ;
QObject : : connect ( settingsWindow , & SettingsWindow : : reviewTrainingGuide , [ = ] ( ) {
main_layout - > setCurrentWidget ( onboardingWindow ) ;
} ) ;
QObject : : connect ( settingsWindow , & SettingsWindow : : showDriverView , [ = ] {
homeWindow - > showDriverView ( true ) ;
} ) ;
onboardingWindow = new OnboardingWindow ( this ) ;
onboardingDone = onboardingWindow - > isOnboardingDone ( ) ;
main_layout - > addWidget ( onboardingWindow ) ;
main_layout - > setCurrentWidget ( onboardingWindow ) ;
QObject : : connect ( onboardingWindow , & OnboardingWindow : : onboardingDone , [ = ] ( ) {
onboardingDone = true ;
closeSettings ( ) ;
} ) ;
onboardingWindow - > updateActiveScreen ( ) ;
device . setAwake ( true , true ) ;
QObject : : connect ( & qs , & QUIState : : uiUpdate , & device , & Device : : update ) ;
QObject : : connect ( & qs , & QUIState : : offroadTransition , this , & MainWindow : : offroadTransition ) ;
QObject : : connect ( & device , & Device : : displayPowerChanged , this , & MainWindow : : closeSettings ) ;
QObject : : connect ( & qs , & QUIState : : offroadTransition , [ = ] ( bool offroad ) {
if ( ! offroad ) {
closeSettings ( ) ;
}
} ) ;
QObject : : connect ( & device , & Device : : displayPowerChanged , [ = ] ( ) {
if ( main_layout - > currentWidget ( ) ! = onboardingWindow ) {
closeSettings ( ) ;
}
} ) ;
// load fonts
QFontDatabase : : addApplicationFont ( " ../assets/fonts/opensans_regular.ttf " ) ;
@ -56,26 +61,12 @@ MainWindow::MainWindow(QWidget *parent) : QWidget(parent) {
) " );
}
void MainWindow : : offroadTransition ( bool offroad ) {
if ( ! offroad ) {
closeSettings ( ) ;
}
}
void MainWindow : : openSettings ( ) {
main_layout - > setCurrentWidget ( settingsWindow ) ;
}
void MainWindow : : closeSettings ( ) {
if ( onboardingDone ) {
main_layout - > setCurrentWidget ( homeWindow ) ;
}
}
void MainWindow : : reviewTrainingGuide ( ) {
onboardingDone = false ;
main_layout - > setCurrentWidget ( onboardingWindow ) ;
onboardingWindow - > updateActiveScreen ( ) ;
main_layout - > setCurrentWidget ( homeWindow ) ;
}
bool MainWindow : : eventFilter ( QObject * obj , QEvent * event ) {