Files
StarPilot/frogpilot/ui/qt/offroad/model_settings.h
T
firestar5683 d0e1db6766 StarPilot
2026-03-22 03:15:05 -05:00

67 lines
1.5 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_memory{"", true};
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;
};