Index: sources/wifi/WifiInterface.cpp =================================================================== diff -u -rbba484de53409dec9c7d3cf331621d9733154872 -r76c58ab0a150b968bc4885abc315b0ca250de2b8 --- sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision bba484de53409dec9c7d3cf331621d9733154872) +++ sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 76c58ab0a150b968bc4885abc315b0ca250de2b8) @@ -77,7 +77,16 @@ _useStaticGateway = WifiSettings.value(WifiSettings_UseStaticGateway).toBool(); _useStaticSubnetMask = WifiSettings.value(WifiSettings_UseStaticSubnetMask).toBool(); _useStaticDNS = WifiSettings.value(WifiSettings_UseStaticDNS).toBool(); - return WifiNetworkData(macAddress, ssid, variantListToSecurityTypes(securityTypesVar), status, signalLevel); + WifiNetworkData data = WifiNetworkData(macAddress, ssid, variantListToSecurityTypes(securityTypesVar), status, signalLevel); + if (_useStaticIP) + data.mIPSettings.mIPAddress = WifiSettings.value(WifiSettings_IPAddress).toString(); + if (_useStaticGateway) + data.mIPSettings.mGateway = WifiSettings.value(WifiSettings_Gateway).toString(); + if (_useStaticSubnetMask) + data.mIPSettings.mSubnetMask = WifiSettings.value(WifiSettings_SubnetMask).toString(); + if (_useStaticDNS) + data.mIPSettings.mDNS = WifiSettings.value(WifiSettings_DNS).toString(); + return data; } /*! @@ -554,6 +563,7 @@ emit didError("Could not configure network."); return; } + emit didRequestAutoAssignedIP(); } @@ -674,6 +684,17 @@ { _network.mIPSettings.mDNS = parseDNS(_processReadDNS.readAllStandardOutput()); + applyStaticSettings(); + + emit didSetupNetworkConnection(_network); +} + +/*! + * \brief WifiInterface::applyStaticSettings + * If any settings are static, apply them. + */ +void WifiInterface::applyStaticSettings() +{ QString ipAddress = WifiSettings.value(WifiSettings_IPAddress).toString().trimmed(); QString gateway = WifiSettings.value(WifiSettings_Gateway).toString().trimmed(); QString subnetMask = WifiSettings.value(WifiSettings_SubnetMask).toString().trimmed(); @@ -686,8 +707,6 @@ doRequestSetSubnetMask(subnetMask); if (_useStaticDNS && !dns.isEmpty()) doRequestSetDNS(dns); - - emit didSetupNetworkConnection(_network); } /*! @@ -813,6 +832,9 @@ WifiSettings.setValue(WifiSettings_UseStaticIP, _useStaticIP); _processSetStaticIPAddress.start(script, QStringList() << _iface << vIPAddress); + + // DEN-8351: Set the default gateway + doRequestSetGateway(_network.mIPSettings.mGateway); } /*! @@ -828,7 +850,8 @@ emit didError(tr("Failed to set static IP Address")); return; } - emit didSetStaticIPAddress(WifiSettings.value(WifiSettings_IPAddress).toString()); + _network.mIPSettings.mIPAddress = WifiSettings.value(WifiSettings_IPAddress).toString().trimmed(); + emit didSetStaticIPAddress(_network.mIPSettings.mIPAddress); } /*! @@ -869,7 +892,8 @@ emit didError(tr("Failed to set gateway.")); return; } - emit didSetGateway(WifiSettings.value(WifiSettings_Gateway).toString()); + _network.mIPSettings.mGateway = WifiSettings.value(WifiSettings_Gateway).toString().trimmed(); + emit didSetGateway(_network.mIPSettings.mGateway); } /*! @@ -908,7 +932,8 @@ emit didError(tr("Failed to set subnet mask.")); return; } - emit didSetSubnetMask(WifiSettings.value(WifiSettings_SubnetMask).toString()); + _network.mIPSettings.mSubnetMask = WifiSettings.value(WifiSettings_SubnetMask).toString().trimmed(); + emit didSetSubnetMask(_network.mIPSettings.mSubnetMask); } /*! @@ -929,7 +954,7 @@ QString script; if ( ! checkScript(script, Wifi_Set_DNS ) ) return; WifiSettings.setValue(WifiSettings_DNS, vDNS); _useStaticDNS = true; - WifiSettings.setValue(WifiSettings_UseStaticSubnetMask, _useStaticDNS); + WifiSettings.setValue(WifiSettings_UseStaticDNS, _useStaticDNS); _processSetDNS.start(script, QStringList() << vDNS); } @@ -947,7 +972,8 @@ emit didError(tr("Failed to set DNS.")); return; } - emit didSetDNS(WifiSettings.value(WifiSettings_DNS).toString()); + _network.mIPSettings.mDNS = WifiSettings.value(WifiSettings_DNS).toString().trimmed(); + emit didSetDNS(_network.mIPSettings.mDNS); } /*!