Index: sources/device/DeviceView.cpp =================================================================== diff -u -r25c40729f182b567f22e01a4c6f3eda7ccaac04d -rf0c8b8720a2e314268445a4a20fe701292026f6f --- sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 25c40729f182b567f22e01a4c6f3eda7ccaac04d) +++ sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision f0c8b8720a2e314268445a4a20fe701292026f6f) @@ -31,8 +31,6 @@ DEVICE_VIEW_INIT_CONNECTIONS_LIST connect(&_DeviceController , SIGNAL(didPOSTOSVersionData(QString)), this , SLOT( onPOSTOSVersionData(QString))); - connect(this , SIGNAL(didGetWifiInfo()), - &_DeviceController , SLOT( doGetWifiInfo())); } // ================================================================================================== @@ -271,10 +269,6 @@ void VDevice::wifiListRequest(const QStringList &) { status( "" ); - ipAddress(""); - gateway(""); - subnetMask(""); - dns(""); wifiList({}); dataClear(); wifiListEnabled(false); @@ -440,11 +434,6 @@ data.mWifiSupported = ssid.mSupported; data.mWifiConnected = ssid.mInUse ; - if (ssid.mInUse ) { - // called to get wifi info once we are connected - emit didGetWifiInfo(); - } - dataAppend( data, ssid.mInUse, ssid.mSupported); } } @@ -493,20 +482,15 @@ // ================================================= WifiInfo void VDevice::doInitWifiInfo() { + wifiInfoRequest({}); +} + +void VDevice::wifiInfoRequest(const QStringList &) { DeviceWifiInfoRequestData data; wifiInfo({}); - ipAddress(""); - gateway(""); - subnetMask(""); - dns(""); - emit didAttributeRequest(data); } -void VDevice::wifiInfoRequest(const QStringList &) { - // Nothing to be done here. This property will not be assigned. -} - void VDevice::onAttributeResponse(const DeviceWifiInfoResponseData &vData) { if ( vData.mCompleted ) { @@ -538,19 +522,23 @@ eIPADDRESS , eSUBNETMASK , eGATEWAY , - eDNS1 , - eDNS2 , + eDNS , }; QString mResult = vResult; QStringList fields = mResult.split(','); + ssid(fields[eSSID].trimmed()); ipAddress(fields[eIPADDRESS].trimmed()); subnetMask(fields[eSUBNETMASK].trimmed()); gateway(fields[eGATEWAY].trimmed()); - dns(fields[eDNS2].isEmpty() ? fields[eDNS1].trimmed() : - QStringLiteral("%1,\n%2").arg(fields[eDNS1].trimmed()) - .arg(fields[eDNS2].trimmed())); + QString dnsString = fields[eDNS]; + // Iterate from index 5 to the end to get any extra DNS + for (int i = 5; i < fields.size(); ++i) { + qDebug() << fields.at(i); + dnsString.append(QStringLiteral(",\n%1").arg(fields.at(i))); + } + dns(dnsString.trimmed()); } // ================================================= ConnectWifi @@ -586,6 +574,14 @@ doInitWifiList(); connectWifi(true); status(vData.mConnect ? "WiFi Connected" : "WiFi Disconnected"); + + if ( !vData.mConnect ) { + ssid(""); + ipAddress(""); + gateway(""); + subnetMask(""); + dns(""); + } } }