diff --git a/selfdrive/ui/qt/home.cc b/selfdrive/ui/qt/home.cc index 6fdd83a..cecb16c 100644 --- a/selfdrive/ui/qt/home.cc +++ b/selfdrive/ui/qt/home.cc @@ -88,7 +88,6 @@ void HomeWindow::offroadTransition(bool offroad) { if (offroad) { sidebar->setVisible(false); slayout->setCurrentWidget(ready); - refresh(); // this->showDriverView(true, true); // Temp } else { sidebar->setVisible(false); @@ -266,8 +265,4 @@ void OffroadHome::refresh() { if (alerts) { alert_notif->setText(QString::number(alerts) + (alerts > 1 ? tr(" ALERTS") : tr(" ALERT"))); } - - if (ready->isVisible()) { - ready->refresh(); - } } diff --git a/selfdrive/ui/qt/ready.cc b/selfdrive/ui/qt/ready.cc index bc55a7b..1c6301d 100644 --- a/selfdrive/ui/qt/ready.cc +++ b/selfdrive/ui/qt/ready.cc @@ -27,6 +27,19 @@ ReadyWindow::ReadyWindow(QWidget *parent) : QWidget(parent) { setAttribute(Qt::WA_OpaquePaintEvent); setStyleSheet("ReadyWindow { background-color: black; }"); + + timer = new QTimer(this); + timer->callOnTimeout(this, &ReadyWindow::refresh); +} + + +void ReadyWindow::showEvent(QShowEvent *event) { + refresh(); + timer->start(5 * 1000); +} + +void ReadyWindow::hideEvent(QHideEvent *event) { + timer->stop(); } void ReadyWindow::paintEvent(QPaintEvent *event) { diff --git a/selfdrive/ui/qt/ready.h b/selfdrive/ui/qt/ready.h index 76b8119..f2132d6 100644 --- a/selfdrive/ui/qt/ready.h +++ b/selfdrive/ui/qt/ready.h @@ -18,8 +18,12 @@ class ReadyWindow : public QWidget { public: ReadyWindow(QWidget* parent = nullptr); private: - void paintEvent(QPaintEvent *event) override; + void showEvent(QShowEvent *event) override; + void hideEvent(QHideEvent *event) override; void refresh(); + void paintEvent(QPaintEvent *event) override; + Params params; + QTimer* timer; bool is_hot = false; QString cur_temp; QPixmap img_ready;