Index: sources/device/DeviceError.cpp =================================================================== diff -u -rbf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634 -raa9ba5a44d2015929643dee0b505f19f471594de --- sources/device/DeviceError.cpp (.../DeviceError.cpp) (revision bf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634) +++ sources/device/DeviceError.cpp (.../DeviceError.cpp) (revision aa9ba5a44d2015929643dee0b505f19f471594de) @@ -56,7 +56,7 @@ QT_TR_NOOP("The Brightness failed." ), // eDevice_Brightness_Error QT_TR_NOOP("The WiFi scan failed." ), // eDevice_WifiList_Error QT_TR_NOOP("The WiFi info failed." ), // eDevice_WifiInfo_Error - QT_TR_NOOP("The Connect WiFi failed." ), // ConnectWifi + QT_TR_NOOP("The Connect WiFi failed." ), // eDevice_ConnectWifi_Error QT_TR_NOOP("The USB Mount failed." ), // eDevice_USBMount_Error }; Index: sources/device/DeviceError.h =================================================================== diff -u -rbf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634 -raa9ba5a44d2015929643dee0b505f19f471594de --- sources/device/DeviceError.h (.../DeviceError.h) (revision bf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634) +++ sources/device/DeviceError.h (.../DeviceError.h) (revision aa9ba5a44d2015929643dee0b505f19f471594de) @@ -74,7 +74,7 @@ eDevice_Brightness_Error , eDevice_WifiList_Error , eDevice_WifiInfo_Error , - eDevice_ConnectWifi_Error , + eDevice_ConnectWifi_Error , eDevice_USBMount_Error , eDevice_Error_End Index: sources/device/DeviceModels.cpp =================================================================== diff -u -rbf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634 -raa9ba5a44d2015929643dee0b505f19f471594de --- sources/device/DeviceModels.cpp (.../DeviceModels.cpp) (revision bf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634) +++ sources/device/DeviceModels.cpp (.../DeviceModels.cpp) (revision aa9ba5a44d2015929643dee0b505f19f471594de) @@ -317,6 +317,13 @@ _data.mAccepted = false; _data.mReason = Device::DeviceError::eDevice_OK; + // set as default if the val is invalid. + _data.mConnectResult = ""; + + // get the value + QString val = vByteArray; + ok = ! val.isNull() && val.isSimpleText(); + // check if the vExitCode passed and it has a value other than zero if ( ! ok ){ _data.mReason = Device::DeviceError::eDevice_Scripts_Error_Incorrect_Rsp_Type ; goto lError; } // there is not a valid value if ( vExitCode && *vExitCode ){ _data.mReason = Device::DeviceError::eDevice_ConnectWifi_Error ; goto lApply; } // there still a valid value @@ -328,6 +335,7 @@ // apply returned value in case the passed value is valid (type, range) // regardless of the exit code (success, fail) lApply: + _data.mConnectResult = val; goto lOut; // immediate exit on fail exitcode and invalid returned value. Index: sources/device/DeviceModels.h =================================================================== diff -u -rbf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634 -raa9ba5a44d2015929643dee0b505f19f471594de --- sources/device/DeviceModels.h (.../DeviceModels.h) (revision bf5b9b7cb86aaf3c4ec85e4ef0b92cba0e836634) +++ sources/device/DeviceModels.h (.../DeviceModels.h) (revision aa9ba5a44d2015929643dee0b505f19f471594de) @@ -461,6 +461,7 @@ class MDeviceConnectWifiResponse : public MDeviceResponseBase { public: struct Data : MDeviceResponseBase::Data { + QString mConnectResult = ""; } _data; QVariantList parameters ( ) const override { return { }; } QString infoText ( ) const override { return QString("ConnectWifi"); } Index: sources/device/DeviceView.cpp =================================================================== diff -u -r9c938bd3366278ba3481d5e2e2074f5e2280b1b6 -raa9ba5a44d2015929643dee0b505f19f471594de --- sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 9c938bd3366278ba3481d5e2e2074f5e2280b1b6) +++ sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision aa9ba5a44d2015929643dee0b505f19f471594de) @@ -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 @@ -520,7 +520,6 @@ accepted(vData.mAccepted); reason (vData.mReason ); - status (vData.mMessage ); // has to be the last one response(true); @@ -579,7 +578,7 @@ } // this has to be called to let Gui to set to old value that device controller provided. - status(vData.mMessage); + status (vData.mMessage); accepted(vData.mAccepted); reason (vData.mReason ); Index: sources/device/DeviceView.h =================================================================== diff -u -r9c938bd3366278ba3481d5e2e2074f5e2280b1b6 -raa9ba5a44d2015929643dee0b505f19f471594de --- sources/device/DeviceView.h (.../DeviceView.h) (revision 9c938bd3366278ba3481d5e2e2074f5e2280b1b6) +++ sources/device/DeviceView.h (.../DeviceView.h) (revision aa9ba5a44d2015929643dee0b505f19f471594de) @@ -131,7 +131,7 @@ READONLY ( QString , gateway , "" ) READONLY ( QString , subnetMask , "" ) READONLY ( QString , dns , "" ) - ATTRIBUTE ( bool , connectWifi , false, ConnectWifi ) + ATTRIBUTE ( bool , connectWifi , false, ConnectWifi ) VIEW_DEC_CLASS_EX(VDevice, QAbstractListModel)