ui/driverview: hide on interactive timeout (#29464)

* hide on interactiveTimeout

* cleanup

* requestDone->closeView

* dont reset timeout on hideEvent

---------

Co-authored-by: sshane <shane@smiskol.com>
old-commit-hash: b6b255c103
beeps
Dean Lee 2 years ago committed by GitHub
parent 2c86b69c92
commit 74195e1d78
  1. 13
      selfdrive/ui/qt/offroad/driverview.cc
  2. 5
      selfdrive/ui/qt/offroad/driverview.h

@ -20,11 +20,19 @@ DriverViewWindow::DriverViewWindow(QWidget* parent) : QWidget(parent) {
connect(cameraView, &CameraWidget::vipcThreadFrameReceived, scene, &DriverViewScene::frameUpdated); connect(cameraView, &CameraWidget::vipcThreadFrameReceived, scene, &DriverViewScene::frameUpdated);
layout->addWidget(scene); layout->addWidget(scene);
layout->setCurrentWidget(scene); layout->setCurrentWidget(scene);
QObject::connect(device(), &Device::interactiveTimeout, this, &DriverViewWindow::closeView);
}
void DriverViewWindow::closeView() {
if (isVisible()) {
cameraView->stopVipcThread();
emit done();
}
} }
void DriverViewWindow::mouseReleaseEvent(QMouseEvent* e) { void DriverViewWindow::mouseReleaseEvent(QMouseEvent* e) {
cameraView->stopVipcThread(); closeView();
emit done();
} }
DriverViewScene::DriverViewScene(QWidget* parent) : sm({"driverStateV2"}), QWidget(parent) { DriverViewScene::DriverViewScene(QWidget* parent) : sm({"driverStateV2"}), QWidget(parent) {
@ -39,7 +47,6 @@ void DriverViewScene::showEvent(QShowEvent* event) {
void DriverViewScene::hideEvent(QHideEvent* event) { void DriverViewScene::hideEvent(QHideEvent* event) {
params.putBool("IsDriverViewEnabled", false); params.putBool("IsDriverViewEnabled", false);
device()->resetInteractiveTimeout();
} }
void DriverViewScene::frameUpdated() { void DriverViewScene::frameUpdated() {

@ -1,10 +1,7 @@
#pragma once #pragma once
#include <memory>
#include <QStackedLayout> #include <QStackedLayout>
#include "common/util.h"
#include "selfdrive/ui/qt/widgets/cameraview.h" #include "selfdrive/ui/qt/widgets/cameraview.h"
class DriverViewScene : public QWidget { class DriverViewScene : public QWidget {
@ -40,8 +37,8 @@ signals:
protected: protected:
void mouseReleaseEvent(QMouseEvent* e) override; void mouseReleaseEvent(QMouseEvent* e) override;
void closeView();
private:
CameraWidget *cameraView; CameraWidget *cameraView;
DriverViewScene *scene; DriverViewScene *scene;
QStackedLayout *layout; QStackedLayout *layout;

Loading…
Cancel
Save