mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-12 11:13:46 +08:00
Drive Summary
This commit is contained in:
@@ -49,6 +49,7 @@ frogpilot_src = ["../../frogpilot/ui/frogpilot_ui.cc", "../../frogpilot/ui/qt/of
|
||||
"../../frogpilot/ui/qt/offroad/wheel_settings.cc", "../../frogpilot/ui/qt/onroad/frogpilot_annotated_camera.cc",
|
||||
"../../frogpilot/ui/qt/onroad/frogpilot_buttons.cc", "../../frogpilot/ui/qt/onroad/frogpilot_onroad.cc",
|
||||
"../../frogpilot/ui/qt/widgets/developer_sidebar.cc", "../../frogpilot/ui/qt/widgets/drive_stats.cc",
|
||||
"../../frogpilot/ui/qt/widgets/drive_summary.cc",
|
||||
"../../frogpilot/ui/qt/widgets/navigation_functions.cc"]
|
||||
qt_src += frogpilot_src
|
||||
|
||||
|
||||
+39
-6
@@ -10,6 +10,7 @@
|
||||
#include "selfdrive/ui/qt/widgets/prime.h"
|
||||
|
||||
#include "frogpilot/ui/qt/widgets/drive_stats.h"
|
||||
#include "frogpilot/ui/qt/widgets/drive_summary.h"
|
||||
|
||||
// HomeWindow: the container for the offroad and onroad UIs
|
||||
|
||||
@@ -170,20 +171,35 @@ OffroadHome::OffroadHome(QWidget* parent) : QFrame(parent) {
|
||||
home_layout->setContentsMargins(0, 0, 0, 0);
|
||||
home_layout->setSpacing(30);
|
||||
|
||||
// left: stack of DriveStats
|
||||
// left: stack of DriveStats / DriveSummary
|
||||
QWidget *left_widget = new QWidget(this);
|
||||
QStackedLayout *left_stack = new QStackedLayout(left_widget);
|
||||
left_stack->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
left_stack->addWidget(new DriveStats());
|
||||
FrogPilotDriveSummary *drive_summary = new FrogPilotDriveSummary(this);
|
||||
left_stack->addWidget(drive_summary);
|
||||
|
||||
QObject::connect(drive_summary, &FrogPilotDriveSummary::panelClosed, [left_stack]() {
|
||||
left_stack->setCurrentIndex(0);
|
||||
});
|
||||
QObject::connect(uiState(), &UIState::offroadTransition, [left_stack](bool offroad) {
|
||||
static bool previouslyOnroad = false;
|
||||
if (offroad && previouslyOnroad) {
|
||||
left_stack->setCurrentIndex(1);
|
||||
}
|
||||
previouslyOnroad = !offroad;
|
||||
});
|
||||
|
||||
home_layout->addWidget(left_widget, 1);
|
||||
|
||||
// right: ExperimentalModeButton, SetupWidget
|
||||
QWidget* right_widget = new QWidget(this);
|
||||
QVBoxLayout* right_column = new QVBoxLayout(right_widget);
|
||||
right_column->setContentsMargins(0, 0, 0, 0);
|
||||
// right: ExperimentalModeButton, SetupWidget, Random Events Summary
|
||||
QStackedWidget *right_widget = new QStackedWidget(this);
|
||||
right_widget->setFixedWidth(750);
|
||||
|
||||
QWidget *default_right = new QWidget(this);
|
||||
QVBoxLayout *right_column = new QVBoxLayout(default_right);
|
||||
right_column->setContentsMargins(0, 0, 0, 0);
|
||||
right_column->setSpacing(30);
|
||||
|
||||
ExperimentalModeButton *experimental_mode = new ExperimentalModeButton(this);
|
||||
@@ -194,7 +210,24 @@ OffroadHome::OffroadHome(QWidget* parent) : QFrame(parent) {
|
||||
QObject::connect(setup_widget, &SetupWidget::openSettings, this, &OffroadHome::openSettings);
|
||||
right_column->addWidget(setup_widget, 1);
|
||||
|
||||
home_layout->addWidget(right_widget, 1);
|
||||
right_widget->addWidget(default_right);
|
||||
|
||||
FrogPilotDriveSummary *random_events_summary = new FrogPilotDriveSummary(this, true);
|
||||
right_widget->addWidget(random_events_summary);
|
||||
right_widget->setCurrentIndex(0);
|
||||
|
||||
QObject::connect(random_events_summary, &FrogPilotDriveSummary::panelClosed, [=]() {
|
||||
right_widget->setCurrentIndex(0);
|
||||
});
|
||||
QObject::connect(uiState(), &UIState::offroadTransition, [right_widget](bool offroad) {
|
||||
static bool previouslyOnroad = false;
|
||||
if (offroad && previouslyOnroad && frogpilotUIState()->frogpilot_scene.frogpilot_toggles.value("random_events").toBool()) {
|
||||
right_widget->setCurrentIndex(1);
|
||||
}
|
||||
previouslyOnroad = !offroad;
|
||||
});
|
||||
|
||||
home_layout->addWidget(right_widget, 0);
|
||||
}
|
||||
center_layout->addWidget(home_widget);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user