You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							106 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							106 lines
						
					
					
						
							2.2 KiB
						
					
					
				#pragma once
 | 
						|
 | 
						|
#include <map>
 | 
						|
#include <string>
 | 
						|
 | 
						|
#include <QButtonGroup>
 | 
						|
#include <QFrame>
 | 
						|
#include <QLabel>
 | 
						|
#include <QPushButton>
 | 
						|
#include <QStackedWidget>
 | 
						|
#include <QWidget>
 | 
						|
 | 
						|
#include "selfdrive/ui/ui.h"
 | 
						|
#include "selfdrive/ui/qt/util.h"
 | 
						|
#include "selfdrive/ui/qt/widgets/controls.h"
 | 
						|
 | 
						|
// ********** settings window + top-level panels **********
 | 
						|
class SettingsWindow : public QFrame {
 | 
						|
  Q_OBJECT
 | 
						|
 | 
						|
public:
 | 
						|
  explicit SettingsWindow(QWidget *parent = 0);
 | 
						|
  void setCurrentPanel(int index, const QString ¶m = "");
 | 
						|
 | 
						|
protected:
 | 
						|
  void showEvent(QShowEvent *event) override;
 | 
						|
 | 
						|
signals:
 | 
						|
  void closeSettings();
 | 
						|
  void reviewTrainingGuide();
 | 
						|
  void showDriverView();
 | 
						|
  void expandToggleDescription(const QString ¶m);
 | 
						|
  void scrollToToggle(const QString ¶m);
 | 
						|
 | 
						|
private:
 | 
						|
  QPushButton *sidebar_alert_widget;
 | 
						|
  QWidget *sidebar_widget;
 | 
						|
  QButtonGroup *nav_btns;
 | 
						|
  QStackedWidget *panel_widget;
 | 
						|
};
 | 
						|
 | 
						|
class DevicePanel : public ListWidget {
 | 
						|
  Q_OBJECT
 | 
						|
public:
 | 
						|
  explicit DevicePanel(SettingsWindow *parent);
 | 
						|
 | 
						|
signals:
 | 
						|
  void reviewTrainingGuide();
 | 
						|
  void showDriverView();
 | 
						|
 | 
						|
private slots:
 | 
						|
  void poweroff();
 | 
						|
  void reboot();
 | 
						|
  void updateCalibDescription();
 | 
						|
 | 
						|
private:
 | 
						|
  Params params;
 | 
						|
  ButtonControl *pair_device;
 | 
						|
  ButtonControl *resetCalibBtn;
 | 
						|
};
 | 
						|
 | 
						|
class TogglesPanel : public ListWidget {
 | 
						|
  Q_OBJECT
 | 
						|
public:
 | 
						|
  explicit TogglesPanel(SettingsWindow *parent);
 | 
						|
  void showEvent(QShowEvent *event) override;
 | 
						|
 | 
						|
public slots:
 | 
						|
  void expandToggleDescription(const QString ¶m);
 | 
						|
  void scrollToToggle(const QString ¶m);
 | 
						|
 | 
						|
private slots:
 | 
						|
  void updateState(const UIState &s);
 | 
						|
 | 
						|
private:
 | 
						|
  Params params;
 | 
						|
  std::map<std::string, ParamControl*> toggles;
 | 
						|
  ButtonParamControl *long_personality_setting;
 | 
						|
 | 
						|
  void updateToggles();
 | 
						|
};
 | 
						|
 | 
						|
class SoftwarePanel : public ListWidget {
 | 
						|
  Q_OBJECT
 | 
						|
public:
 | 
						|
  explicit SoftwarePanel(QWidget* parent = nullptr);
 | 
						|
 | 
						|
private:
 | 
						|
  void showEvent(QShowEvent *event) override;
 | 
						|
  void updateLabels();
 | 
						|
  void checkForUpdates();
 | 
						|
 | 
						|
  bool is_onroad = false;
 | 
						|
 | 
						|
  QLabel *onroadLbl;
 | 
						|
  LabelControl *versionLbl;
 | 
						|
  ButtonControl *installBtn;
 | 
						|
  ButtonControl *downloadBtn;
 | 
						|
  ButtonControl *targetBranchBtn;
 | 
						|
 | 
						|
  Params params;
 | 
						|
  ParamWatcher *fs_watch;
 | 
						|
};
 | 
						|
 | 
						|
// Forward declaration
 | 
						|
class FirehosePanel;
 | 
						|
 |