Files
StarPilot/frogpilot/ui/qt/offroad/model_settings.h
T
2025-11-15 15:22:08 -06:00

69 lines
1.6 KiB
C++

#pragma once
#include <set>
#include "frogpilot/ui/qt/offroad/frogpilot_settings.h"
class FrogPilotModelPanel : public FrogPilotListWidget {
Q_OBJECT
public:
explicit FrogPilotModelPanel(FrogPilotSettingsWindow *parent);
signals:
void openSubPanel();
protected:
void showEvent(QShowEvent *event) override;
private:
void updateModelLabels(FrogPilotListWidget *labelsList);
void updateState(const UIState &s, const FrogPilotUIState &fs);
void updateToggles();
bool isModelInstalled(const QString &key) const;
QMap<QString, QString> getDeletableModelDisplayNames();
bool allModelsDownloaded;
bool allModelsDownloading;
bool cancellingDownload;
bool finalizingDownload;
bool forceOpenDescriptions;
bool modelDownloading;
bool noModelsDownloaded;
bool started;
bool tinygradUpdate;
bool updatingTinygrad;
int tuningLevel;
std::map<QString, AbstractControl*> toggles;
ButtonControl *selectModelButton;
FrogPilotButtonsControl *deleteModelButton;
FrogPilotButtonsControl *downloadModelButton;
FrogPilotButtonsControl *updateTinygradButton;
FrogPilotSettingsWindow *parent;
Params params;
Params params_cache{"/cache/params"};
Params params_default{"/dev/shm/params_default"};
Params params_memory{"/dev/shm/params"};
QDir modelDir{"/data/models/"};
QJsonObject frogpilotToggleLevels;
QMap<QString, QString> modelFileToNameMap;
QMap<QString, QString> modelFileToNameMapProcessed;
QMap<QString, QString> modelReleasedDates;
QMap<QString, QString> modelSeriesMap;
QString currentModel;
QStringList availableModelNames;
QStringList availableModelSeries;
};