Files
StarPilot/selfdrive/ui/qt/widgets/ssh_keys.hpp
T
Dean Lee c5194fcb85 Qt: show username for current SSH keys (#20508)
* Show username for current SSH keys

* Update ssh_keys.cc

* Update ssh_keys.cc

* Update selfdrive/ui/qt/widgets/ssh_keys.cc

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* rename param

* cleanup

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 5cd676797a21215dcf574d545f38ec2e1a0b14f0
2021-03-28 22:32:33 -07:00

49 lines
904 B
C++

#pragma once
#include <QTimer>
#include <QPushButton>
#include <QNetworkAccessManager>
#include "widgets/controls.hpp"
#include "selfdrive/hardware/hw.h"
// SSH enable toggle
class SshToggle : public ToggleControl {
Q_OBJECT
public:
SshToggle() : ToggleControl("Enable SSH", "", "", Hardware::get_ssh_enabled()) {
QObject::connect(this, &SshToggle::toggleFlipped, [=](bool state) {
Hardware::set_ssh_enabled(state);
});
}
};
// SSH key management widget
class SshControl : public AbstractControl {
Q_OBJECT
public:
SshControl();
private:
QPushButton btn;
QString username;
QLabel username_label;
// networking
QTimer* networkTimer;
QNetworkReply* reply;
QNetworkAccessManager* manager;
void refresh();
void getUserKeys(QString username);
signals:
void failedResponse(QString errorString);
private slots:
void timeout();
void parseResponse();
};