ui: show tethering status in sidebar (#33786)

show tethering status on sidebar
This commit is contained in:
Dean Lee
2024-10-15 05:48:26 +08:00
committed by GitHub
parent bf04c4799a
commit 3c5d8da469
4 changed files with 11 additions and 4 deletions
+2
View File
@@ -448,6 +448,7 @@ void WifiManager::tetheringActivated(QDBusPendingCallWatcher *call) {
});
}
call->deleteLater();
tethering_on = true;
}
void WifiManager::setTetheringEnabled(bool enabled) {
@@ -465,6 +466,7 @@ void WifiManager::setTetheringEnabled(bool enabled) {
} else {
deactivateConnectionBySsid(tethering_ssid);
tethering_on = false;
}
}
+1
View File
@@ -42,6 +42,7 @@ public:
QMap<QString, Network> seenNetworks;
QMap<QDBusObjectPath, QString> knownConnections;
QString ipv4_address;
bool tethering_on = false;
bool ipv4_forward = false;
explicit WifiManager(QObject* parent);
+6 -4
View File
@@ -74,9 +74,11 @@ void Sidebar::updateState(const UIState &s) {
auto &sm = *(s.sm);
networking = networking ? networking : window()->findChild<Networking *>("");
bool tethering_on = networking && networking->wifi->tethering_on;
auto deviceState = sm["deviceState"].getDeviceState();
setProperty("netType", network_type[deviceState.getNetworkType()]);
int strength = (int)deviceState.getNetworkStrength();
setProperty("netType", tethering_on ? "Hotspot": network_type[deviceState.getNetworkType()]);
int strength = tethering_on ? 4 : (int)deviceState.getNetworkStrength();
setProperty("netStrength", strength > 0 ? strength + 1 : 0);
ItemStatus connectStatus;
@@ -131,8 +133,8 @@ void Sidebar::paintEvent(QPaintEvent *event) {
p.setFont(InterFont(35));
p.setPen(QColor(0xff, 0xff, 0xff));
const QRect r = QRect(50, 247, 100, 50);
p.drawText(r, Qt::AlignCenter, net_type);
const QRect r = QRect(58, 247, width() - 100, 50);
p.drawText(r, Qt::AlignLeft | Qt::AlignVCenter, net_type);
// metrics
drawMetric(p, temp_status.first, temp_status.second, 338);
+2
View File
@@ -6,6 +6,7 @@
#include <QMap>
#include "selfdrive/ui/ui.h"
#include "selfdrive/ui/qt/network/networking.h"
typedef QPair<QPair<QString, QString>, QColor> ItemStatus;
Q_DECLARE_METATYPE(ItemStatus);
@@ -59,4 +60,5 @@ protected:
private:
std::unique_ptr<PubMaster> pm;
Networking *networking = nullptr;
};