#pragma once #include "frogpilot/ui/qt/offroad/frogpilot_settings.h" class FrogPilotVisualsPanel : public FrogPilotListWidget { Q_OBJECT public: explicit FrogPilotVisualsPanel(FrogPilotSettingsWindow *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", "HideLeadMarker", "HideMaxSpeed", "HideSpeed", "HideSpeedLimit", "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"}; QSet parentKeys; FrogPilotSettingsWindow *parent; Params params; };