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.
		
		
		
		
		
			
		
			
				
					
					
						
							98 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							98 lines
						
					
					
						
							1.9 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 expandToggleDescription(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();
 | |
| 
 | |
| private slots:
 | |
|   void poweroff();
 | |
|   void reboot();
 | |
|   void updateCalibDescription();
 | |
| 
 | |
| private:
 | |
|   Params params;
 | |
|   ButtonControl *pair_device;
 | |
| };
 | |
| 
 | |
| class TogglesPanel : public ListWidget {
 | |
|   Q_OBJECT
 | |
| public:
 | |
|   explicit TogglesPanel(SettingsWindow *parent);
 | |
|   void showEvent(QShowEvent *event) override;
 | |
| 
 | |
| public slots:
 | |
|   void expandToggleDescription(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;
 | |
| };
 | |
| 
 |