Index: sources/view/settings/VNetworkModel.cpp =================================================================== diff -u -r247f91d8ee35391abf611248ba8ae3d64de5341b -r5b46bc8e4724e4ddb648f901d76bb7ec24f8b6c7 --- sources/view/settings/VNetworkModel.cpp (.../VNetworkModel.cpp) (revision 247f91d8ee35391abf611248ba8ae3d64de5341b) +++ sources/view/settings/VNetworkModel.cpp (.../VNetworkModel.cpp) (revision 5b46bc8e4724e4ddb648f901d76bb7ec24f8b6c7) @@ -371,9 +371,14 @@ emit didRequestSetDNS(vDNS.trimmed()); } +/*! + * \brief VNetworkModel::timerEvent + * \details The overloaded parent QObject timer event handler function + */ void VNetworkModel::timerEvent(QTimerEvent *) { checkEthernet(); + checkWireless(); } /*! @@ -390,23 +395,48 @@ macAddress(""); } +/*! + * \brief VNetworkModel::checkEthernet + * \details check for Ethernet using VNetworkModel::checkDevNet + */ void VNetworkModel::checkEthernet() { - const QNetworkInterface eth0 = QNetworkInterface::interfaceFromName("eth0"); - _ethernetIP = tr("No Ethernet"); - if ( eth0.isValid() ) { - auto addresses = eth0.allAddresses(); - for ( const auto & address : addresses ) { - if ( !address.isLoopback() && !address.isBroadcast() && address.protocol() == QAbstractSocket::IPv4Protocol ) { - _ethernetIP = address.toString(); - break; // stop on first item found, our HW configuration only have one Ethernet. - } + const QNetworkInterface dev = QNetworkInterface::interfaceFromName(_devEth); + QString devIP = tr("No Ethernet"); + if ( dev.isValid() ) { + auto addresses = dev.addressEntries(); + if ( addresses.count() ) { + devIP = addresses.first().ip().toString(); } } + _ethernetIP = devIP; emit ethernetIPChanged( _ethernetIP ); } /*! + * \brief VNetworkModel::checkWireless + * \details check for Ethernet using VNetworkModel::checkDevNet + */ +void VNetworkModel::checkWireless() +{ + const QNetworkInterface dev = QNetworkInterface::interfaceFromName(_devWlan); + QString devIP = tr("No WiFi"); + if ( dev.isValid() ) { + auto addresses = dev.addressEntries(); + if ( addresses.count() ) { + if ( dev.flags().testFlag(QNetworkInterface::IsUp) && dev.flags().testFlag(QNetworkInterface::IsRunning) ) { + devIP = addresses.first().ip().toString(); + } + else { + devIP = tr("WiFi Disconnect"); + } + } + } + _wirelessIP = devIP; + emit wirelessIPChanged( _wirelessIP ); +} + +/*! * \brief VNetworkModel::onSetIPAddressSuccess * Called when the IP address has been set */