Improve network settings
This commit is contained in:
parent
2cedf36d52
commit
7505e986cb
@ -75,6 +75,11 @@ Engine *NetworkManager::engine() const
|
|||||||
return m_engine;
|
return m_engine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NetworkManager::loading()
|
||||||
|
{
|
||||||
|
return m_loading;
|
||||||
|
}
|
||||||
|
|
||||||
QString NetworkManager::nameSpace() const
|
QString NetworkManager::nameSpace() const
|
||||||
{
|
{
|
||||||
return "NetworkManager";
|
return "NetworkManager";
|
||||||
@ -90,10 +95,18 @@ void NetworkManager::init()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_loading = true;
|
||||||
|
emit loadingChanged();
|
||||||
|
|
||||||
m_engine->jsonRpcClient()->sendCommand("NetworkManager.GetNetworkStatus", QVariantMap(), this, "getStatusReply");
|
m_engine->jsonRpcClient()->sendCommand("NetworkManager.GetNetworkStatus", QVariantMap(), this, "getStatusReply");
|
||||||
m_engine->jsonRpcClient()->sendCommand("NetworkManager.GetNetworkDevices", QVariantMap(), this, "getDevicesReply");
|
m_engine->jsonRpcClient()->sendCommand("NetworkManager.GetNetworkDevices", QVariantMap(), this, "getDevicesReply");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NetworkManager::available() const
|
||||||
|
{
|
||||||
|
return m_available;
|
||||||
|
}
|
||||||
|
|
||||||
NetworkManager::NetworkManagerState NetworkManager::state() const
|
NetworkManager::NetworkManagerState NetworkManager::state() const
|
||||||
{
|
{
|
||||||
return m_state;
|
return m_state;
|
||||||
@ -159,7 +172,18 @@ void NetworkManager::disconnectInterface(const QString &interface)
|
|||||||
|
|
||||||
void NetworkManager::getStatusReply(const QVariantMap ¶ms)
|
void NetworkManager::getStatusReply(const QVariantMap ¶ms)
|
||||||
{
|
{
|
||||||
// qDebug() << "NetworkManager reply" << qUtf8Printable(QJsonDocument::fromVariant(params).toJson(QJsonDocument::Indented));
|
m_loading = false;
|
||||||
|
emit loadingChanged();
|
||||||
|
|
||||||
|
if (params.value("params").toMap().value("networkManagerError").toString() != "NetworkManagerErrorNoError") {
|
||||||
|
qWarning() << "NetworkManager error:" << qUtf8Printable(QJsonDocument::fromVariant(params).toJson(QJsonDocument::Indented));
|
||||||
|
m_available = false;
|
||||||
|
emit availableChanged();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_available = true;
|
||||||
|
emit availableChanged();
|
||||||
|
|
||||||
QVariantMap statusMap = params.value("params").toMap().value("status").toMap();
|
QVariantMap statusMap = params.value("params").toMap().value("status").toMap();
|
||||||
|
|
||||||
@ -207,6 +231,7 @@ void NetworkManager::getDevicesReply(const QVariantMap ¶ms)
|
|||||||
device->currentAccessPoint()->setMacAddress(currentApMap.value("macAddress").toString());
|
device->currentAccessPoint()->setMacAddress(currentApMap.value("macAddress").toString());
|
||||||
device->currentAccessPoint()->setProtected(currentApMap.value("protected").toBool());
|
device->currentAccessPoint()->setProtected(currentApMap.value("protected").toBool());
|
||||||
device->currentAccessPoint()->setSignalStrength(currentApMap.value("signalStrength").toInt());
|
device->currentAccessPoint()->setSignalStrength(currentApMap.value("signalStrength").toInt());
|
||||||
|
device->currentAccessPoint()->setFrequency(currentApMap.value("frequency").toDouble());
|
||||||
m_wirelessNetworkDevices->addNetworkDevice(device);
|
m_wirelessNetworkDevices->addNetworkDevice(device);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -237,6 +262,7 @@ void NetworkManager::getAccessPointsReply(const QVariantMap ¶ms)
|
|||||||
ap->setSsid(apMap.value("ssid").toString());
|
ap->setSsid(apMap.value("ssid").toString());
|
||||||
ap->setProtected(apMap.value("protected").toBool());
|
ap->setProtected(apMap.value("protected").toBool());
|
||||||
ap->setSignalStrength(apMap.value("signalStrength").toInt());
|
ap->setSignalStrength(apMap.value("signalStrength").toInt());
|
||||||
|
ap->setFrequency(apMap.value("frequency").toDouble());
|
||||||
dev->accessPoints()->addWirelessAccessPoint(ap);
|
dev->accessPoints()->addWirelessAccessPoint(ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -46,6 +46,9 @@ class NetworkManager : public JsonHandler
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(Engine *engine READ engine WRITE setEngine NOTIFY engineChanged)
|
Q_PROPERTY(Engine *engine READ engine WRITE setEngine NOTIFY engineChanged)
|
||||||
|
|
||||||
|
Q_PROPERTY(bool loading READ loading NOTIFY loadingChanged)
|
||||||
|
Q_PROPERTY(bool available READ available NOTIFY availableChanged)
|
||||||
|
|
||||||
Q_PROPERTY(NetworkManagerState state READ state NOTIFY stateChanged)
|
Q_PROPERTY(NetworkManagerState state READ state NOTIFY stateChanged)
|
||||||
Q_PROPERTY(bool networkingEnabled READ networkingEnabled NOTIFY networkingEnabledChanged)
|
Q_PROPERTY(bool networkingEnabled READ networkingEnabled NOTIFY networkingEnabledChanged)
|
||||||
Q_PROPERTY(bool wirelessNetworkingEnabled READ wirelessNetworkingEnabled NOTIFY wirelessNetworkingEnabledChanged)
|
Q_PROPERTY(bool wirelessNetworkingEnabled READ wirelessNetworkingEnabled NOTIFY wirelessNetworkingEnabledChanged)
|
||||||
@ -72,8 +75,11 @@ public:
|
|||||||
void setEngine(Engine *engine);
|
void setEngine(Engine *engine);
|
||||||
Engine *engine() const;
|
Engine *engine() const;
|
||||||
|
|
||||||
|
bool loading();
|
||||||
|
|
||||||
QString nameSpace() const override;
|
QString nameSpace() const override;
|
||||||
|
|
||||||
|
bool available() const;
|
||||||
NetworkManagerState state() const;
|
NetworkManagerState state() const;
|
||||||
bool networkingEnabled() const;
|
bool networkingEnabled() const;
|
||||||
bool wirelessNetworkingEnabled() const;
|
bool wirelessNetworkingEnabled() const;
|
||||||
@ -103,13 +109,16 @@ private slots:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void engineChanged();
|
void engineChanged();
|
||||||
|
void loadingChanged();
|
||||||
|
void availableChanged();
|
||||||
void stateChanged();
|
void stateChanged();
|
||||||
void networkingEnabledChanged();
|
void networkingEnabledChanged();
|
||||||
void wirelessNetworkingEnabledChanged();
|
void wirelessNetworkingEnabledChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Engine *m_engine = nullptr;
|
Engine *m_engine = nullptr;
|
||||||
|
bool m_loading = false;
|
||||||
|
bool m_available = false;
|
||||||
NetworkManagerState m_state = NetworkManagerStateUnknown;
|
NetworkManagerState m_state = NetworkManagerStateUnknown;
|
||||||
bool m_networkingEnabled = false;
|
bool m_networkingEnabled = false;
|
||||||
bool m_wirelessNetworkingEnabled = false;
|
bool m_wirelessNetworkingEnabled = false;
|
||||||
|
|||||||
@ -85,7 +85,7 @@ int WirelessAccessPoint::signalStrength() const
|
|||||||
return m_signalStrength;
|
return m_signalStrength;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WirelessAccessPoint::setSignalStrength(const int &signalStrength)
|
void WirelessAccessPoint::setSignalStrength(int signalStrength)
|
||||||
{
|
{
|
||||||
if (m_signalStrength == signalStrength)
|
if (m_signalStrength == signalStrength)
|
||||||
return;
|
return;
|
||||||
@ -99,7 +99,7 @@ bool WirelessAccessPoint::isProtected() const
|
|||||||
return m_isProtected;
|
return m_isProtected;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WirelessAccessPoint::setProtected(const bool &isProtected)
|
void WirelessAccessPoint::setProtected(bool isProtected)
|
||||||
{
|
{
|
||||||
if (m_isProtected == isProtected)
|
if (m_isProtected == isProtected)
|
||||||
return;
|
return;
|
||||||
@ -108,3 +108,16 @@ void WirelessAccessPoint::setProtected(const bool &isProtected)
|
|||||||
emit isProtectedChanged(m_isProtected);
|
emit isProtectedChanged(m_isProtected);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double WirelessAccessPoint::frequency() const
|
||||||
|
{
|
||||||
|
return m_frequency;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WirelessAccessPoint::setFrequency(double frequency)
|
||||||
|
{
|
||||||
|
if (!qFuzzyCompare(m_frequency,frequency)) {
|
||||||
|
m_frequency = frequency;
|
||||||
|
emit frequencyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -42,6 +42,7 @@ class WirelessAccessPoint : public QObject
|
|||||||
Q_PROPERTY(QString hostAddress READ hostAddress NOTIFY hostAddressChanged)
|
Q_PROPERTY(QString hostAddress READ hostAddress NOTIFY hostAddressChanged)
|
||||||
Q_PROPERTY(int signalStrength READ signalStrength NOTIFY signalStrengthChanged)
|
Q_PROPERTY(int signalStrength READ signalStrength NOTIFY signalStrengthChanged)
|
||||||
Q_PROPERTY(bool isProtected READ isProtected NOTIFY isProtectedChanged)
|
Q_PROPERTY(bool isProtected READ isProtected NOTIFY isProtectedChanged)
|
||||||
|
Q_PROPERTY(double frequency READ frequency NOTIFY frequencyChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
WirelessAccessPoint(QObject *parent = nullptr);
|
WirelessAccessPoint(QObject *parent = nullptr);
|
||||||
@ -56,17 +57,13 @@ public:
|
|||||||
void setHostAddress(const QString &hostAddress);
|
void setHostAddress(const QString &hostAddress);
|
||||||
|
|
||||||
int signalStrength() const;
|
int signalStrength() const;
|
||||||
void setSignalStrength(const int &signalStrength);
|
void setSignalStrength(int signalStrength);
|
||||||
|
|
||||||
bool isProtected() const;
|
bool isProtected() const;
|
||||||
void setProtected(const bool &isProtected);
|
void setProtected(bool isProtected);
|
||||||
|
|
||||||
private:
|
double frequency() const;
|
||||||
QString m_ssid;
|
void setFrequency(double frequency);
|
||||||
QString m_macAddress;
|
|
||||||
QString m_hostAddress;
|
|
||||||
int m_signalStrength = 0;
|
|
||||||
bool m_isProtected = false;
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void ssidChanged(const QString &ssid);
|
void ssidChanged(const QString &ssid);
|
||||||
@ -74,6 +71,15 @@ signals:
|
|||||||
void hostAddressChanged(const QString &hostAddress);
|
void hostAddressChanged(const QString &hostAddress);
|
||||||
void signalStrengthChanged(int signalStrength);
|
void signalStrengthChanged(int signalStrength);
|
||||||
void isProtectedChanged(bool isProtected);
|
void isProtectedChanged(bool isProtected);
|
||||||
|
void frequencyChanged();
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString m_ssid;
|
||||||
|
QString m_macAddress;
|
||||||
|
QString m_hostAddress;
|
||||||
|
int m_signalStrength = 0;
|
||||||
|
bool m_isProtected = false;
|
||||||
|
double m_frequency = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // WIRELESSACCESSPOINT_H
|
#endif // WIRELESSACCESSPOINT_H
|
||||||
|
|||||||
@ -69,16 +69,19 @@ QVariant WirelessAccessPoints::data(const QModelIndex &index, int role) const
|
|||||||
return QVariant();
|
return QVariant();
|
||||||
|
|
||||||
WirelessAccessPoint *accessPoint = m_wirelessAccessPoints.at(index.row());
|
WirelessAccessPoint *accessPoint = m_wirelessAccessPoints.at(index.row());
|
||||||
if (role == WirelessAccesspointRoleSsid) {
|
switch (role) {
|
||||||
|
case WirelessAccesspointRoleSsid:
|
||||||
return accessPoint->ssid();
|
return accessPoint->ssid();
|
||||||
} else if (role == WirelessAccesspointRoleMacAddress) {
|
case WirelessAccesspointRoleMacAddress:
|
||||||
return accessPoint->macAddress();
|
return accessPoint->macAddress();
|
||||||
} else if (role == WirelessAccesspointRoleHostAddress) {
|
case WirelessAccesspointRoleHostAddress:
|
||||||
return accessPoint->hostAddress();
|
return accessPoint->hostAddress();
|
||||||
} else if (role == WirelessAccesspointRoleSignalStrength) {
|
case WirelessAccesspointRoleSignalStrength:
|
||||||
return accessPoint->signalStrength();
|
return accessPoint->signalStrength();
|
||||||
} else if (role == WirelessAccesspointRoleProtected) {
|
case WirelessAccesspointRoleProtected:
|
||||||
return accessPoint->isProtected();
|
return accessPoint->isProtected();
|
||||||
|
case WirelessAccessPointRoleFrequency:
|
||||||
|
return accessPoint->frequency();
|
||||||
}
|
}
|
||||||
|
|
||||||
return QVariant();
|
return QVariant();
|
||||||
@ -159,6 +162,7 @@ QHash<int, QByteArray> WirelessAccessPoints::roleNames() const
|
|||||||
roles[WirelessAccesspointRoleHostAddress] = "hostAddress";
|
roles[WirelessAccesspointRoleHostAddress] = "hostAddress";
|
||||||
roles[WirelessAccesspointRoleSignalStrength] = "signalStrength";
|
roles[WirelessAccesspointRoleSignalStrength] = "signalStrength";
|
||||||
roles[WirelessAccesspointRoleProtected] = "protected";
|
roles[WirelessAccesspointRoleProtected] = "protected";
|
||||||
|
roles[WirelessAccessPointRoleFrequency] = "frequency";
|
||||||
return roles;
|
return roles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -47,7 +47,8 @@ public:
|
|||||||
WirelessAccesspointRoleMacAddress,
|
WirelessAccesspointRoleMacAddress,
|
||||||
WirelessAccesspointRoleHostAddress,
|
WirelessAccesspointRoleHostAddress,
|
||||||
WirelessAccesspointRoleSignalStrength,
|
WirelessAccesspointRoleSignalStrength,
|
||||||
WirelessAccesspointRoleProtected
|
WirelessAccesspointRoleProtected,
|
||||||
|
WirelessAccessPointRoleFrequency
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit WirelessAccessPoints(QObject *parent = nullptr);
|
explicit WirelessAccessPoints(QObject *parent = nullptr);
|
||||||
|
|||||||
@ -75,7 +75,7 @@ Page {
|
|||||||
|
|
||||||
delegate: NymeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.ssid
|
text: model.ssid !== "" ? model.ssid : qsTr("Hidden Network")
|
||||||
enabled: !networkManagerController.manager.working
|
enabled: !networkManagerController.manager.working
|
||||||
subText: model.hostAddress
|
subText: model.hostAddress
|
||||||
|
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import "../components"
|
|||||||
SettingsPageBase {
|
SettingsPageBase {
|
||||||
id: root
|
id: root
|
||||||
title: qsTr("Network settings")
|
title: qsTr("Network settings")
|
||||||
|
busy: networkManager.loading
|
||||||
|
|
||||||
NetworkManager {
|
NetworkManager {
|
||||||
id: networkManager
|
id: networkManager
|
||||||
@ -75,14 +76,33 @@ SettingsPageBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
Layout.topMargin: app.margins * 6
|
||||||
|
visible: !networkManager.available
|
||||||
|
spacing: app.margins
|
||||||
|
ColorIcon {
|
||||||
|
Layout.preferredHeight: app.iconSize
|
||||||
|
Layout.preferredWidth: app.iconSize
|
||||||
|
name: "../images/network-wired-offline.svg"
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
text: qsTr("Network management is unavailable on this system.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SettingsPageSectionHeader {
|
SettingsPageSectionHeader {
|
||||||
text: qsTr("General")
|
text: qsTr("General")
|
||||||
|
visible: networkManager.available
|
||||||
}
|
}
|
||||||
|
|
||||||
NymeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Current connection state")
|
text: qsTr("Current connection state")
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
|
visible: networkManager.available
|
||||||
subText: {
|
subText: {
|
||||||
switch (networkManager.state) {
|
switch (networkManager.state) {
|
||||||
case NetworkManager.NetworkManagerStateUnknown:
|
case NetworkManager.NetworkManagerStateUnknown:
|
||||||
@ -133,6 +153,7 @@ SettingsPageBase {
|
|||||||
subText: qsTr("Enable or disable networking altogether")
|
subText: qsTr("Enable or disable networking altogether")
|
||||||
prominentSubText: false
|
prominentSubText: false
|
||||||
progressive: false
|
progressive: false
|
||||||
|
visible: networkManager.available
|
||||||
additionalItem: Switch {
|
additionalItem: Switch {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
checked: networkManager.networkingEnabled
|
checked: networkManager.networkingEnabled
|
||||||
@ -165,6 +186,7 @@ SettingsPageBase {
|
|||||||
|
|
||||||
SettingsPageSectionHeader {
|
SettingsPageSectionHeader {
|
||||||
text: qsTr("Wired network")
|
text: qsTr("Wired network")
|
||||||
|
visible: networkManager.available
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
@ -173,15 +195,17 @@ SettingsPageBase {
|
|||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
text: qsTr("No wired network interfaces available")
|
text: qsTr("No wired network interfaces available")
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
visible: networkManager.wiredNetworkDevices.count == 0
|
visible: networkManager.available && networkManager.wiredNetworkDevices.count == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: networkManager.wiredNetworkDevices
|
model: networkManager.wiredNetworkDevices
|
||||||
|
|
||||||
NymeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: model.pluggedIn ? "../images/network-wired.svg" : "../images/network-wired-offline.svg"
|
iconName: model.pluggedIn ? "../images/network-wired.svg" : "../images/network-wired-offline.svg"
|
||||||
text: model.interface + " (" + model.macAddress + ")"
|
text: model.interface + " (" + model.macAddress + ")"
|
||||||
|
visible: networkManager.available
|
||||||
subText: {
|
subText: {
|
||||||
var ret = model.pluggedIn ? qsTr("Plugged in") : qsTr("Unplugged")
|
var ret = model.pluggedIn ? qsTr("Plugged in") : qsTr("Unplugged")
|
||||||
ret += " - "
|
ret += " - "
|
||||||
@ -194,6 +218,7 @@ SettingsPageBase {
|
|||||||
|
|
||||||
SettingsPageSectionHeader {
|
SettingsPageSectionHeader {
|
||||||
text: qsTr("Wireless network")
|
text: qsTr("Wireless network")
|
||||||
|
visible: networkManager.available
|
||||||
}
|
}
|
||||||
|
|
||||||
NymeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
@ -205,6 +230,7 @@ SettingsPageBase {
|
|||||||
additionalItem: Switch {
|
additionalItem: Switch {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
checked: networkManager.wirelessNetworkingEnabled
|
checked: networkManager.wirelessNetworkingEnabled
|
||||||
|
visible: networkManager.available
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (!checked) {
|
if (!checked) {
|
||||||
var dialog = Qt.createComponent(Qt.resolvedUrl("../components/MeaDialog.qml"));
|
var dialog = Qt.createComponent(Qt.resolvedUrl("../components/MeaDialog.qml"));
|
||||||
@ -238,11 +264,12 @@ SettingsPageBase {
|
|||||||
Layout.rightMargin: app.margins
|
Layout.rightMargin: app.margins
|
||||||
text: qsTr("No wired network interfaces available")
|
text: qsTr("No wired network interfaces available")
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
visible: networkManager.wirelessNetworkDevices.count == 0
|
visible: networkManager.available &&networkManager.wirelessNetworkDevices.count == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
Repeater {
|
Repeater {
|
||||||
model: networkManager.wirelessNetworkDevices
|
model: networkManager.wirelessNetworkDevices
|
||||||
|
visible: networkManager.available
|
||||||
NymeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
iconName: {
|
iconName: {
|
||||||
@ -304,8 +331,8 @@ SettingsPageBase {
|
|||||||
model: apProxy
|
model: apProxy
|
||||||
delegate: NymeaListItemDelegate {
|
delegate: NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: model.ssid
|
text: model.ssid !== "" ? model.ssid : qsTr("Hidden Network")
|
||||||
subText: model.macAddress
|
subText: "%1 (%2)".arg(model.macAddress).arg(model.frequency < 3 ? "2.4GHz" : "5GHz")
|
||||||
iconName: {
|
iconName: {
|
||||||
var ret = "../images/nm-signal-";
|
var ret = "../images/nm-signal-";
|
||||||
if (model.signalStrength > 90) {
|
if (model.signalStrength > 90) {
|
||||||
@ -412,7 +439,13 @@ SettingsPageBase {
|
|||||||
NymeaListItemDelegate {
|
NymeaListItemDelegate {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Signal strength")
|
text: qsTr("Signal strength")
|
||||||
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.signalStrength
|
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.signalStrength + " %"
|
||||||
|
progressive: false
|
||||||
|
}
|
||||||
|
NymeaListItemDelegate {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
text: qsTr("WiFi frequency")
|
||||||
|
subText: currentApPage.wirelessNetworkDevice.currentAccessPoint.frequency + " GHz"
|
||||||
progressive: false
|
progressive: false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -425,7 +458,6 @@ SettingsPageBase {
|
|||||||
pageStack.pop(root);
|
pageStack.pop(root);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user