diff --git a/selfdrive/ui/qt/offroad/settings.cc b/selfdrive/ui/qt/offroad/settings.cc index 20b3698f11..e63a689e10 100644 --- a/selfdrive/ui/qt/offroad/settings.cc +++ b/selfdrive/ui/qt/offroad/settings.cc @@ -346,12 +346,18 @@ void SettingsWindow::setCurrentPanel(int index, const QString ¶m) { } } -//void SettingsWindow::updatePersonalitySetting(int personality) { -// emit updatePersonalitySetting1(personality); -//} +void SettingsWindow::updateState(const UIState &s) { + qDebug() << "updateState" << static_cast(s.scene.personality); + const SubMaster &sm = *(s.sm); + if (s.scene.started && sm.updated("longitudinalPlan")) { + emit updatePersonalitySetting(static_cast(s.scene.personality)); + } +} SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { + QObject::connect(uiState(), &UIState::uiUpdate, this, &SettingsWindow::updateState); + // setup two main layouts sidebar_widget = new QWidget; QVBoxLayout *sidebar_layout = new QVBoxLayout(sidebar_widget); diff --git a/selfdrive/ui/qt/offroad/settings.h b/selfdrive/ui/qt/offroad/settings.h index fd6fb9542b..14a6176654 100644 --- a/selfdrive/ui/qt/offroad/settings.h +++ b/selfdrive/ui/qt/offroad/settings.h @@ -11,6 +11,7 @@ #include +#include "selfdrive/ui/ui.h" #include "selfdrive/ui/qt/util.h" #include "selfdrive/ui/qt/widgets/controls.h" @@ -22,6 +23,9 @@ public: explicit SettingsWindow(QWidget *parent = 0); void setCurrentPanel(int index, const QString ¶m = ""); +private slots: + void updateState(const UIState &s); + protected: void showEvent(QShowEvent *event) override; diff --git a/selfdrive/ui/qt/window.cc b/selfdrive/ui/qt/window.cc index 08f331069a..d3a6f40162 100644 --- a/selfdrive/ui/qt/window.cc +++ b/selfdrive/ui/qt/window.cc @@ -4,17 +4,16 @@ #include "system/hardware/hw.h" -void MainWindow::updateState(const UIState &s) { - qDebug() << "updateState" << static_cast(s.scene.personality); - emit updatePersonalitySetting(static_cast(s.scene.personality)); -// settingsWindow->updatePersonalitySetting(static_cast(s.scene.personality)); -} +//void MainWindow::updateState(const UIState &s) { +//// qDebug() << "updateState" << static_cast(s.scene.personality); +//// emit updatePersonalitySetting(static_cast(s.scene.personality)); +//} MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { main_layout = new QStackedLayout(this); main_layout->setMargin(0); - QObject::connect(uiState(), &UIState::uiUpdate, this, &MainWindow::updateState); +// QObject::connect(uiState(), &UIState::uiUpdate, this, &MainWindow::updateState); homeWindow = new HomeWindow(this); main_layout->addWidget(homeWindow); @@ -23,7 +22,7 @@ MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { settingsWindow = new SettingsWindow(this); main_layout->addWidget(settingsWindow); - QObject::connect(this, &MainWindow::updatePersonalitySetting, settingsWindow, &SettingsWindow::updatePersonalitySetting); +// QObject::connect(this, &MainWindow::updatePersonalitySetting, settingsWindow, &SettingsWindow::updatePersonalitySetting); QObject::connect(settingsWindow, &SettingsWindow::closeSettings, this, &MainWindow::closeSettings); QObject::connect(settingsWindow, &SettingsWindow::reviewTrainingGuide, [=]() { onboardingWindow->showTrainingGuide(); diff --git a/selfdrive/ui/qt/window.h b/selfdrive/ui/qt/window.h index 425c78ba65..65990cadfe 100644 --- a/selfdrive/ui/qt/window.h +++ b/selfdrive/ui/qt/window.h @@ -13,8 +13,8 @@ class MainWindow : public QWidget { public: explicit MainWindow(QWidget *parent = 0); -private slots: - void updateState(const UIState &s); +//private slots: +// void updateState(const UIState &s); signals: void updatePersonalitySetting(int personality); diff --git a/selfdrive/ui/ui.cc b/selfdrive/ui/ui.cc index 1d39d37ef5..09a0a30407 100644 --- a/selfdrive/ui/ui.cc +++ b/selfdrive/ui/ui.cc @@ -208,9 +208,7 @@ static void update_state(UIState *s) { scene.light_sensor = std::max(100.0f - scale * cam_state.getExposureValPercent(), 0.0f); } if (sm.updated("longitudinalPlan")) { - auto plan = sm["longitudinalPlan"].getLongitudinalPlan(); - scene.personality = plan.getPersonality(); - std::cout << "Personality: " << static_cast(scene.personality) << std::endl; + scene.personality = sm["longitudinalPlan"].getLongitudinalPlan().getPersonality(); } scene.started = sm["deviceState"].getDeviceState().getStarted() && scene.ignition;