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.
		
		
		
		
			
				
					100 lines
				
				2.2 KiB
			
		
		
			
		
	
	
					100 lines
				
				2.2 KiB
			| 
											5 years ago
										 | #pragma once
 | ||
| 
											5 years ago
										 | 
 | ||
| 
											2 years ago
										 | #include <vector>
 | ||
|  | 
 | ||
| 
											2 years ago
										 | #include "selfdrive/ui/qt/network/wifi_manager.h"
 | ||
| 
											5 years ago
										 | #include "selfdrive/ui/qt/widgets/input.h"
 | ||
|  | #include "selfdrive/ui/qt/widgets/ssh_keys.h"
 | ||
|  | #include "selfdrive/ui/qt/widgets/toggle.h"
 | ||
| 
											5 years ago
										 | 
 | ||
| 
											2 years ago
										 | class WifiItem : public QWidget {
 | ||
|  |   Q_OBJECT
 | ||
|  | public:
 | ||
|  |   explicit WifiItem(const QString &connecting_text, const QString &forget_text, QWidget* parent = nullptr);
 | ||
|  |   void setItem(const Network& n, const QPixmap &icon, bool show_forget_btn, const QPixmap &strength);
 | ||
|  | 
 | ||
|  | signals:
 | ||
| 
											2 years ago
										 |   // Cannot pass Network by reference. it may change after the signal is sent.
 | ||
|  |   void connectToNetwork(const Network n);
 | ||
|  |   void forgotNetwork(const Network n);
 | ||
| 
											2 years ago
										 | 
 | ||
|  | protected:
 | ||
|  |   ElidedLabel* ssidLabel;
 | ||
|  |   QPushButton* connecting;
 | ||
|  |   QPushButton* forgetBtn;
 | ||
|  |   QLabel* iconLabel;
 | ||
|  |   QLabel* strengthLabel;
 | ||
|  |   Network network;
 | ||
|  | };
 | ||
|  | 
 | ||
| 
											5 years ago
										 | class WifiUI : public QWidget {
 | ||
|  |   Q_OBJECT
 | ||
|  | 
 | ||
| 
											5 years ago
										 | public:
 | ||
| 
											5 years ago
										 |   explicit WifiUI(QWidget *parent = 0, WifiManager* wifi = 0);
 | ||
| 
											5 years ago
										 | 
 | ||
| 
											5 years ago
										 | private:
 | ||
| 
											2 years ago
										 |   WifiItem *getItem(int n);
 | ||
|  | 
 | ||
| 
											5 years ago
										 |   WifiManager *wifi = nullptr;
 | ||
| 
											3 years ago
										 |   QLabel *scanningLabel = nullptr;
 | ||
| 
											4 years ago
										 |   QPixmap lock;
 | ||
|  |   QPixmap checkmark;
 | ||
| 
											4 years ago
										 |   QPixmap circled_slash;
 | ||
| 
											4 years ago
										 |   QVector<QPixmap> strengths;
 | ||
| 
											2 years ago
										 |   ListWidget *wifi_list_widget = nullptr;
 | ||
|  |   std::vector<WifiItem*> wifi_items;
 | ||
| 
											5 years ago
										 | 
 | ||
| 
											5 years ago
										 | signals:
 | ||
| 
											2 years ago
										 |   void connectToNetwork(const Network n);
 | ||
| 
											5 years ago
										 | 
 | ||
| 
											5 years ago
										 | public slots:
 | ||
| 
											5 years ago
										 |   void refresh();
 | ||
| 
											5 years ago
										 | };
 | ||
|  | 
 | ||
|  | class AdvancedNetworking : public QWidget {
 | ||
|  |   Q_OBJECT
 | ||
|  | public:
 | ||
|  |   explicit AdvancedNetworking(QWidget* parent = 0, WifiManager* wifi = 0);
 | ||
|  | 
 | ||
|  | private:
 | ||
| 
											5 years ago
										 |   LabelControl* ipLabel;
 | ||
| 
											4 years ago
										 |   ToggleControl* tetheringToggle;
 | ||
| 
											3 years ago
										 |   ToggleControl* roamingToggle;
 | ||
|  |   ButtonControl* editApnButton;
 | ||
|  |   ToggleControl* meteredToggle;
 | ||
| 
											5 years ago
										 |   WifiManager* wifi = nullptr;
 | ||
| 
											4 years ago
										 |   Params params;
 | ||
| 
											5 years ago
										 | 
 | ||
|  | signals:
 | ||
|  |   void backPress();
 | ||
|  | 
 | ||
| 
											5 years ago
										 | public slots:
 | ||
| 
											4 years ago
										 |   void toggleTethering(bool enabled);
 | ||
| 
											5 years ago
										 |   void refresh();
 | ||
|  | };
 | ||
|  | 
 | ||
| 
											4 years ago
										 | class Networking : public QFrame {
 | ||
| 
											5 years ago
										 |   Q_OBJECT
 | ||
|  | 
 | ||
|  | public:
 | ||
| 
											5 years ago
										 |   explicit Networking(QWidget* parent = 0, bool show_advanced = true);
 | ||
| 
											4 years ago
										 |   WifiManager* wifi = nullptr;
 | ||
| 
											5 years ago
										 | 
 | ||
|  | private:
 | ||
| 
											4 years ago
										 |   QStackedLayout* main_layout = nullptr;
 | ||
| 
											5 years ago
										 |   QWidget* wifiScreen = nullptr;
 | ||
| 
											5 years ago
										 |   AdvancedNetworking* an = nullptr;
 | ||
| 
											5 years ago
										 |   WifiUI* wifiWidget;
 | ||
| 
											4 years ago
										 | 
 | ||
| 
											4 years ago
										 |   void showEvent(QShowEvent* event) override;
 | ||
| 
											4 years ago
										 |   void hideEvent(QHideEvent* event) override;
 | ||
| 
											4 years ago
										 | 
 | ||
| 
											4 years ago
										 | public slots:
 | ||
| 
											4 years ago
										 |   void refresh();
 | ||
| 
											5 years ago
										 | 
 | ||
|  | private slots:
 | ||
| 
											2 years ago
										 |   void connectToNetwork(const Network n);
 | ||
| 
											4 years ago
										 |   void wrongPassword(const QString &ssid);
 | ||
| 
											5 years ago
										 | };
 |