networking: draw network strength without images (#21187)

* draw network strength wighout images

* remove include qpixmap

* space

* lower case

* cleanup
pull/21203/head
Dean Lee 4 years ago committed by GitHub
parent 48696105ae
commit 0958bd2253
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. BIN
      selfdrive/assets/images/network_0.png
  2. BIN
      selfdrive/assets/images/network_1.png
  3. BIN
      selfdrive/assets/images/network_2.png
  4. BIN
      selfdrive/assets/images/network_3.png
  5. BIN
      selfdrive/assets/images/network_4.png
  6. BIN
      selfdrive/assets/images/network_5.png
  7. 22
      selfdrive/ui/qt/offroad/networking.cc
  8. 11
      selfdrive/ui/qt/offroad/networking.h

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 B

@ -3,11 +3,24 @@
#include <QDebug>
#include <QHBoxLayout>
#include <QLabel>
#include <QPixmap>
#include <QPainter>
#include "selfdrive/ui/qt/widgets/scrollview.h"
#include "selfdrive/ui/qt/util.h"
void NetworkStrengthWidget::paintEvent(QPaintEvent* event) {
QPainter p(this);
p.setRenderHint(QPainter::Antialiasing);
p.setPen(Qt::NoPen);
const QColor gray(0x54, 0x54, 0x54);
for (int i = 0, x = 0; i < 5; ++i) {
p.setBrush(i < strength_ ? Qt::white : gray);
p.drawEllipse(x, 0, 15, 15);
x += 20;
}
}
// Networking functions
Networking::Networking(QWidget* parent, bool show_advanced) : QWidget(parent), show_advanced(show_advanced){
@ -202,14 +215,9 @@ void WifiUI::refresh() {
ssid_label->setStyleSheet("font-size: 55px;");
hlayout->addWidget(ssid_label, 1, Qt::AlignLeft);
// TODO: don't use images for this
// strength indicator
unsigned int strength_scale = network.strength / 17;
QPixmap pix("../assets/images/network_" + QString::number(strength_scale) + ".png");
QLabel *icon = new QLabel();
icon->setPixmap(pix.scaledToWidth(100, Qt::SmoothTransformation));
icon->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
hlayout->addWidget(icon, 0, Qt::AlignRight);
hlayout->addWidget(new NetworkStrengthWidget(strength_scale), 0, Qt::AlignRight);
// connect button
QPushButton* btn = new QPushButton(network.security_type == SecurityType::UNSUPPORTED ? "Unsupported" : (network.connected == ConnectedType::CONNECTED ? "Connected" : (network.connected == ConnectedType::CONNECTING ? "Connecting" : "Connect")));

@ -11,6 +11,17 @@
#include "selfdrive/ui/qt/widgets/ssh_keys.h"
#include "selfdrive/ui/qt/widgets/toggle.h"
class NetworkStrengthWidget : public QWidget {
Q_OBJECT
public:
explicit NetworkStrengthWidget(int strength, QWidget* parent = nullptr) : strength_(strength), QWidget(parent) { setFixedSize(100, 15); }
private:
void paintEvent(QPaintEvent* event) override;
int strength_ = 0;
};
class WifiUI : public QWidget {
Q_OBJECT

Loading…
Cancel
Save