ui: sunnypilot setting panels refactor (#125)

* General: use ListWidget

* Controls: use ListWidget

* Visuals: use ListWidget

* General: tuple list

* Controls: full refactor based on ListWidget change

* Controls: FINALLYYYYYYY

* Controls: move things around

* check actual toggle as well

* handle this

* Visuals: use ListWidget

* const for

* separate each panel into each file

* rename and move files

* Revert "rename and move files"

This reverts commit 5cfedabe2c6a2cb25355318107f119ade480baac.

* Revert "separate each panel into each file"

This reverts commit aa2c0e9162d5344a5cbbbfaf1ff2bd77d1e5a10b.
This commit is contained in:
Jason Wen
2023-06-10 21:12:00 -04:00
committed by GitHub
parent c566e87b61
commit 3dc9ffb9bb
2 changed files with 551 additions and 673 deletions
File diff suppressed because it is too large Load Diff
+79 -109
View File
@@ -41,115 +41,6 @@ private:
void refresh();
};
class SPGeneralPanel : public QWidget {
Q_OBJECT
public:
explicit SPGeneralPanel(QWidget *parent = nullptr);
private:
QVBoxLayout *main_layout;
ParamControl *endToEndLongAlert;
};
class SPControlsPanel : public QWidget {
Q_OBJECT
public:
explicit SPControlsPanel(QWidget *parent = nullptr);
void showEvent(QShowEvent *event) override;
public slots:
void updateToggles();
private:
Params params;
QVBoxLayout *main_layout;
QWidget *madsMainControl;
QVBoxLayout *madsSubControl;
QWidget *dlpMain;
QVBoxLayout *dlpSub;
QWidget *customOffsetsMain;
QVBoxLayout *customOffsetsSub;
QWidget *gacMain;
QVBoxLayout *gacSub;
QWidget *torqueMain;
QVBoxLayout *torqueSub;
QWidget *customTorqueMain;
QVBoxLayout *customTorqueSub;
QWidget *speedLimitMain;
QVBoxLayout *speedLimitSub;
QWidget *speedOffsetMain;
QVBoxLayout *speedOffsetSub;
QWidget *speedOffsetValMain;
QVBoxLayout *speedOffsetValSub;
ParamControl *madsControl;
ParamControl *disengageLateralOnBrake;
ParamControl *accMadsCombo;
ParamControl *madsCruiseMain;
ParamControl *belowSpeed;
ParamControl *dlpControl;
ParamControl *dlpCurve;
ParamControl *customOffsets;
ParamControl *gapAdjustCruise;
ParamControl *torqueLateral;
ParamControl *customTorqueLateral;
ParamControl *liveTorque;
ParamControl *speedLimitControl;
ParamControl *speedPercControl;
ParamControl *osmLocalDb;
SpeedLimitOffsetType *slo_type;
SpeedLimitValueOffset *slvo;
};
class SPVehiclesPanel : public QWidget {
Q_OBJECT
public:
explicit SPVehiclesPanel(QWidget *parent = nullptr);
private:
Params params;
QStackedLayout* main_layout = nullptr;
QWidget* home = nullptr;
QWidget* home_widget;
};
class SPVehiclesTogglesPanel : public ListWidget {
Q_OBJECT
public:
explicit SPVehiclesTogglesPanel(SPVehiclesPanel *parent);
private:
Params params;
ParamControl *stockLongToyota;
};
class SPVisualsPanel : public QWidget {
Q_OBJECT
public:
explicit SPVisualsPanel(QWidget *parent = nullptr);
void showEvent(QShowEvent *event) override;
private:
Params params;
QWidget *devUiMain;
QVBoxLayout *devUiSub;
ParamControl *devUi;
ParamControl *customMapbox;
void updateToggles();
};
class MaxTimeOffroad : public AbstractControl {
Q_OBJECT
@@ -344,3 +235,82 @@ private:
void refresh();
};
class SPGeneralPanel : public ListWidget {
Q_OBJECT
public:
explicit SPGeneralPanel(QWidget *parent = nullptr);
private:
Params params;
std::map<std::string, ParamControl*> toggles;
};
class SPControlsPanel : public ListWidget {
Q_OBJECT
public:
explicit SPControlsPanel(QWidget *parent = nullptr);
void showEvent(QShowEvent *event) override;
public slots:
void updateToggles();
private:
Params params;
std::map<std::string, ParamControl*> toggles;
CameraOffset *camera_offset;
PathOffset *path_offset;
AutoLaneChangeTimer *auto_lane_change_timer;
SpeedLimitOffsetType *slo_type;
SpeedLimitValueOffset *slvo;
GapAdjustCruiseMode *gac_mode;
TorqueFriction *friction;
TorqueMaxLatAccel *lat_accel_factor;
SpeedLimitStyle *speed_limit_style;
};
class SPVehiclesPanel : public QWidget {
Q_OBJECT
public:
explicit SPVehiclesPanel(QWidget *parent = nullptr);
private:
Params params;
QStackedLayout* main_layout = nullptr;
QWidget* home = nullptr;
QWidget* home_widget;
};
class SPVehiclesTogglesPanel : public ListWidget {
Q_OBJECT
public:
explicit SPVehiclesTogglesPanel(SPVehiclesPanel *parent);
private:
Params params;
ParamControl *stockLongToyota;
};
class SPVisualsPanel : public ListWidget {
Q_OBJECT
public:
explicit SPVisualsPanel(QWidget *parent = nullptr);
void showEvent(QShowEvent *event) override;
private:
Params params;
std::map<std::string, ParamControl*> toggles;
DevUiInfo *dev_ui_info;
ChevronInfo *chevron_info;
void updateToggles();
};