mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-13 03:43:48 +08:00
Show Driver Camera When In Reverse
This commit is contained in:
@@ -56,4 +56,5 @@ void FrogPilotUIState::update() {
|
|||||||
update_state(this);
|
update_state(this);
|
||||||
|
|
||||||
frogpilot_scene.conditional_status = frogpilot_scene.enabled ? params_memory.getInt("CEStatus") : 0;
|
frogpilot_scene.conditional_status = frogpilot_scene.enabled ? params_memory.getInt("CEStatus") : 0;
|
||||||
|
frogpilot_scene.driver_camera_timer = frogpilot_scene.reverse && frogpilot_scene.frogpilot_toggles.value("driver_camera_in_reverse").toBool() ? frogpilot_scene.driver_camera_timer + 1 : 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ struct FrogPilotUIScene {
|
|||||||
bool standstill;
|
bool standstill;
|
||||||
|
|
||||||
int conditional_status;
|
int conditional_status;
|
||||||
|
int driver_camera_timer;
|
||||||
int started_timer;
|
int started_timer;
|
||||||
|
|
||||||
QJsonObject frogpilot_toggles;
|
QJsonObject frogpilot_toggles;
|
||||||
|
|||||||
+15
-4
@@ -70,9 +70,18 @@ void HomeWindow::updateState(const UIState &s, const FrogPilotUIState &fs) {
|
|||||||
const QJsonObject &frogpilot_toggles = frogpilot_scene.frogpilot_toggles;
|
const QJsonObject &frogpilot_toggles = frogpilot_scene.frogpilot_toggles;
|
||||||
|
|
||||||
if (s.scene.started) {
|
if (s.scene.started) {
|
||||||
developer_sidebar->setVisible(frogpilot_toggles.value("developer_sidebar").toBool());
|
if (frogpilot_scene.driver_camera_timer >= UI_FREQ / 2) {
|
||||||
|
showDriverView(true, true);
|
||||||
|
} else {
|
||||||
|
if (driver_view->isVisible()) {
|
||||||
|
sidebar->setVisible(params.getBool("Sidebar") || frogpilot_toggles.value("debug_mode").toBool());
|
||||||
|
slayout->setCurrentWidget(onroad);
|
||||||
|
}
|
||||||
|
|
||||||
frogpilotUIState()->frogpilot_scene.sidebars_open = developer_sidebar->isVisible() && sidebar->isVisible();
|
developer_sidebar->setVisible(frogpilot_toggles.value("developer_sidebar").toBool());
|
||||||
|
|
||||||
|
frogpilotUIState()->frogpilot_scene.sidebars_open = developer_sidebar->isVisible() && sidebar->isVisible();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,9 +103,11 @@ void HomeWindow::offroadTransition(bool offroad) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HomeWindow::showDriverView(bool show) {
|
void HomeWindow::showDriverView(bool show, bool started) {
|
||||||
if (show) {
|
if (show) {
|
||||||
emit closeSettings();
|
if (!started) {
|
||||||
|
emit closeSettings();
|
||||||
|
}
|
||||||
slayout->setCurrentWidget(driver_view);
|
slayout->setCurrentWidget(driver_view);
|
||||||
} else {
|
} else {
|
||||||
slayout->setCurrentWidget(home);
|
slayout->setCurrentWidget(home);
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ signals:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void offroadTransition(bool offroad);
|
void offroadTransition(bool offroad);
|
||||||
void showDriverView(bool show);
|
void showDriverView(bool show, bool started=false);
|
||||||
void showSidebar(bool show);
|
void showSidebar(bool show);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
|
|||||||
case QEvent::MouseButtonPress:
|
case QEvent::MouseButtonPress:
|
||||||
case QEvent::MouseMove: {
|
case QEvent::MouseMove: {
|
||||||
// ignore events when device is awakened by resetInteractiveTimeout
|
// ignore events when device is awakened by resetInteractiveTimeout
|
||||||
ignore = !device()->isAwake();
|
ignore = !device()->isAwake() || frogpilot_scene.driver_camera_timer >= UI_FREQ / 2;
|
||||||
device()->resetInteractiveTimeout(frogpilot_toggles.value("screen_timeout").toInt(), frogpilot_toggles.value("screen_timeout_onroad").toInt());
|
device()->resetInteractiveTimeout(frogpilot_toggles.value("screen_timeout").toInt(), frogpilot_toggles.value("screen_timeout_onroad").toInt());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user