#pragma once #include "starpilot/ui/qt/offroad/starpilot_settings.h" class StarPilotVisualsPanel : public StarPilotListWidget { Q_OBJECT public: explicit StarPilotVisualsPanel(StarPilotSettingsWindow *parent, bool forceOpen = false); signals: void openSubPanel(); void openSubSubPanel(); protected: void showEvent(QShowEvent *event) override; private: void updateMetric(bool metric, bool bootRun); void updateToggles(); bool forceOpenDescriptions; std::map toggles; QSet advancedCustomOnroadUIKeys = {"HideAlerts", "HideChangingLanesBanner", "HideDistanceProfileBanner", "HideDMIcon", "HideLeadMarker", "HideMaxSpeed", "HideSpeed", "HideSpeedLimit", "HideSteeringWheel", "HideTurningBanner", "WheelSpeed"}; QSet customOnroadUIKeys = {"AccelerationPath", "AdjacentPath", "BlindSpotPath", "Compass", "OnroadDistanceButton", "PedalsOnUI", "RotatingWheel"}; QSet modelUIKeys = {"DynamicPathWidth", "LaneLinesWidth", "PathEdgeWidth", "PathWidth", "RoadEdgesWidth"}; QSet navigationUIKeys = {"RoadNameUI", "ShowSpeedLimits", "SLCMapboxFiller", "UseVienna"}; QSet qualityOfLifeKeys = {"CameraView", "DriverCamera", "StoppedTimer", "StockConfidenceBallWidget"}; QSet parentKeys; StarPilotSettingsWindow *parent; Params params; };