#pragma once #include #include "selfdrive/ui/qt/offroad/settings.h" #include "selfdrive/ui/ui.h" class FrogPilotVisualsPanel : public FrogPilotListWidget { Q_OBJECT public: explicit FrogPilotVisualsPanel(SettingsWindow *parent); signals: void openParentToggle(); private: void hideToggles(); void showEvent(QShowEvent *event); void updateCarToggles(); void updateMetric(); void updateState(const UIState &s); std::set alertVolumeControlKeys = {"DisengageVolume", "EngageVolume", "PromptDistractedVolume", "PromptVolume", "RefuseVolume", "WarningImmediateVolume", "WarningSoftVolume"}; std::set customAlertsKeys = {"GreenLightAlert", "LeadDepartingAlert", "LoudBlindspotAlert"}; std::set customOnroadUIKeys = {"Compass", "CustomPaths", "PedalsOnUI", "RoadNameUI", "WheelIcon"}; std::set customThemeKeys = {"CustomColors", "CustomIcons", "CustomSignals", "CustomSounds", "HolidayThemes", "RandomEvents"}; std::set developerUIKeys = {"BorderMetrics", "FPSCounter", "LateralMetrics", "LongitudinalMetrics", "NumericalTemp", "SidebarMetrics", "UseSI"}; std::set modelUIKeys = {"DynamicPathWidth", "HideLeadMarker", "LaneLinesWidth", "PathEdgeWidth", "PathWidth", "RoadEdgesWidth", "UnlimitedLength"}; std::set qolKeys = {"BigMap", "CameraView", "DriverCamera", "FullMap", "HideSpeed", "MapStyle", "WheelSpeed"}; std::set screenKeys = {"HideUIElements", "ScreenBrightness", "ScreenBrightnessOnroad", "ScreenRecorder", "ScreenTimeout", "ScreenTimeoutOnroad", "StandbyMode"}; std::map toggles; Params params; bool hasAutoTune; bool hasBSM; bool hasOpenpilotLongitudinal; bool isMetric = params.getBool("IsMetric"); bool isRelease; bool started; };