Files
StarPilot/selfdrive/ui/qt/widgets/prime.h
T
Willem Melching 30a0b40b5d ui: configure tethering based on prime type (#23733)
* Store prime type in param

* set tethering metric based on prime type

* update existing connections

* returning zero is fine

* always set

* add callback on activate

* call systemctl

* match server enum

* add delay

* assume field is there

* snake case
old-commit-hash: 4e4cb07297485eac378058c6b4e60901e10cbd15
2022-02-09 20:27:58 +01:00

79 lines
1.4 KiB
C++

#pragma once
#include <QLabel>
#include <QStackedWidget>
#include <QVBoxLayout>
#include <QWidget>
#include "selfdrive/ui/qt/widgets/input.h"
enum PrimeType {
NONE = 0,
MAGENTA,
LITE,
};
// pairing QR code
class PairingQRWidget : public QWidget {
Q_OBJECT
public:
explicit PairingQRWidget(QWidget* parent = 0);
void paintEvent(QPaintEvent*) override;
private:
QPixmap img;
void updateQrCode(const QString &text);
void showEvent(QShowEvent *event) override;
private slots:
void refresh();
};
// pairing popup widget
class PairingPopup : public QDialogBase {
Q_OBJECT
public:
explicit PairingPopup(QWidget* parent);
};
// widget for paired users with prime
class PrimeUserWidget : public QWidget {
Q_OBJECT
public:
explicit PrimeUserWidget(QWidget* parent = 0);
private:
QVBoxLayout* mainLayout;
QLabel* points;
private slots:
void replyFinished(const QString &response);
};
// widget for paired users without prime
class PrimeAdWidget : public QFrame {
Q_OBJECT
public:
explicit PrimeAdWidget(QWidget* parent = 0);
};
// container widget
class SetupWidget : public QFrame {
Q_OBJECT
public:
explicit SetupWidget(QWidget* parent = 0);
private:
PairingPopup *popup;
QStackedWidget *mainLayout;
PrimeAdWidget *primeAd;
PrimeUserWidget *primeUser;
private slots:
void replyFinished(const QString &response, bool success);
};