Files
StarPilot/selfdrive/ui/qt/offroad/settings.h
T
Dean Lee 2fefa32476 UI: new class ListWidget (#21273)
* ListWidget

* continue

* remove function horizontal_line

* cleanup

* default spacing 25

* fix networkpanel margin on EON

* solid expanding

* 0 width

* cleanup

* apply reviews

* remove function addLayout,make it looks like QLIstWidget

* rename addWidget to addItem

* rebase master

* rebase master

* merge master

* cleanup

* fixed title bar position

* no flash while folding

* cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: abffc8b2ade75eb9365552cb25a1885442d7e011
2021-09-19 15:14:54 -07:00

73 lines
1.4 KiB
C++

#pragma once
#include <QButtonGroup>
#include <QFileSystemWatcher>
#include <QFrame>
#include <QLabel>
#include <QPushButton>
#include <QStackedWidget>
#include <QWidget>
#include "selfdrive/ui/qt/widgets/controls.h"
// ********** settings window + top-level panels **********
class DevicePanel : public ListWidget {
Q_OBJECT
public:
explicit DevicePanel(QWidget* parent = nullptr);
signals:
void reviewTrainingGuide();
void showDriverView();
};
class TogglesPanel : public ListWidget {
Q_OBJECT
public:
explicit TogglesPanel(QWidget *parent = nullptr);
};
class SoftwarePanel : public ListWidget {
Q_OBJECT
public:
explicit SoftwarePanel(QWidget* parent = nullptr);
private:
void showEvent(QShowEvent *event) override;
void updateLabels();
LabelControl *gitBranchLbl;
LabelControl *gitCommitLbl;
LabelControl *osVersionLbl;
LabelControl *versionLbl;
LabelControl *lastUpdateLbl;
ButtonControl *updateBtn;
Params params;
QFileSystemWatcher *fs_watch;
};
class SettingsWindow : public QFrame {
Q_OBJECT
public:
explicit SettingsWindow(QWidget *parent = 0);
protected:
void hideEvent(QHideEvent *event) override;
void showEvent(QShowEvent *event) override;
signals:
void closeSettings();
void offroadTransition(bool offroad);
void reviewTrainingGuide();
void showDriverView();
private:
QPushButton *sidebar_alert_widget;
QWidget *sidebar_widget;
QButtonGroup *nav_btns;
QStackedWidget *panel_widget;
};