Index: sources/device/DeviceView.cpp =================================================================== diff -u -rf457ec4b5fc19e292cccc29609381753cd85d9b8 -r9c938bd3366278ba3481d5e2e2074f5e2280b1b6 --- sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision f457ec4b5fc19e292cccc29609381753cd85d9b8) +++ sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 9c938bd3366278ba3481d5e2e2074f5e2280b1b6) @@ -371,7 +371,7 @@ QStringList fields = lines[row].split(','); // qDebug() << fields.join("-"); -// LOG_DEBUG(fields.join("-")); + LOG_DEBUG(fields.join("-")); // this will never fail since even an empty string in split at least has index 0=eSSID; mSSID = fields[eSSID].trimmed(); if ( mSSID.isEmpty() ) continue; //hidden networks, or an incorrect entry @@ -556,10 +556,9 @@ // ================================================= ConnectWifi void VDevice::doInitConnectWifi() { // Nothing for now. - connectWifi(""); } -void VDevice::connectWifiRequest(const QString &) { +void VDevice::connectWifiRequest(const bool &) { // Nothing for now. } @@ -568,16 +567,15 @@ data.mConnect = vConnect; data.mSsid = vSsid; data.mPassword = vPassword; + connectWifi(false); emit didAttributeRequest(data); } void VDevice::onAttributeResponse(const DeviceConnectWifiResponseData &vData) { if ( vData.mCompleted ) { - if ( vData.mAccepted ) { - // rescan once connect/disconnect has completed - wifiListRequest({}); - } + // signal rescan once connect/disconnect has completed + connectWifi(true); } // this has to be called to let Gui to set to old value that device controller provided. Index: sources/device/DeviceView.h =================================================================== diff -u -rbf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634 -r9c938bd3366278ba3481d5e2e2074f5e2280b1b6 --- sources/device/DeviceView.h (.../DeviceView.h) (revision bf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634) +++ sources/device/DeviceView.h (.../DeviceView.h) (revision 9c938bd3366278ba3481d5e2e2074f5e2280b1b6) @@ -131,7 +131,7 @@ READONLY ( QString , gateway , "" ) READONLY ( QString , subnetMask , "" ) READONLY ( QString , dns , "" ) - ATTRIBUTE ( QString , connectWifi , "", ConnectWifi ) + ATTRIBUTE ( bool , connectWifi , false, ConnectWifi ) VIEW_DEC_CLASS_EX(VDevice, QAbstractListModel) Index: sources/gui/qml/pages/settings/SettingsWiFi.qml =================================================================== diff -u -rf457ec4b5fc19e292cccc29609381753cd85d9b8 -r9c938bd3366278ba3481d5e2e2074f5e2280b1b6 --- sources/gui/qml/pages/settings/SettingsWiFi.qml (.../SettingsWiFi.qml) (revision f457ec4b5fc19e292cccc29609381753cd85d9b8) +++ sources/gui/qml/pages/settings/SettingsWiFi.qml (.../SettingsWiFi.qml) (revision 9c938bd3366278ba3481d5e2e2074f5e2280b1b6) @@ -236,5 +236,12 @@ _ssidText.text = "" } } + + // slot to trigger wifi recan when connect/disconnect has finished + function onConnectWifiChanged ( vValue ) { + if (vValue) { + vDevice.wifiList = "" + } + } } }