summaryrefslogtreecommitdiffstats
path: root/network/network.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'network/network.cpp')
-rw-r--r--network/network.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/network/network.cpp b/network/network.cpp
index d2a00ff..7bcf6d0 100644
--- a/network/network.cpp
+++ b/network/network.cpp
@@ -31,7 +31,8 @@ Network::Network (QUrl &url, QQmlContext *context, QObject * parent) :
m_mloop(nullptr),
m_wifi(nullptr),
m_wifiConnected(false),
- m_wifiEnabled(false)
+ m_wifiEnabled(false),
+ m_wifiStrength(0)
{
m_mloop = new MessageEngine(url);
m_wifi = new WifiNetworkModel();
@@ -41,6 +42,7 @@ Network::Network (QUrl &url, QQmlContext *context, QObject * parent) :
QObject::connect(m_mloop, &MessageEngine::connected, this, &Network::onConnected);
QObject::connect(m_mloop, &MessageEngine::disconnected, this, &Network::onDisconnected);
QObject::connect(m_mloop, &MessageEngine::messageReceived, this, &Network::onMessageReceived);
+ QObject::connect(m_wifi, &WifiNetworkModel::strengthChanged, this, &Network::updateWifiStrength);
}
Network::~Network()
@@ -159,6 +161,9 @@ bool Network::addService(QJsonObject service)
WifiNetwork *network = new WifiNetwork(address, security, id, ssid, state, strength);
m_wifi->addNetwork(network);
+ if ((state == "ready") || (state == "online"))
+ updateWifiStrength(strength);
+
return true;
}
@@ -202,6 +207,12 @@ void Network::updateWifiStatus(QJsonObject properties)
}
}
+void Network::updateWifiStrength(int strength)
+{
+ m_wifiStrength = strength;
+ emit wifiStrengthChanged(m_wifiStrength);
+}
+
void Network::parseTechnologies(QJsonArray technologies)
{
for (auto value : technologies) {