diff --git a/net-view/operation/netmanager.cpp b/net-view/operation/netmanager.cpp index f8118abb..84e27239 100644 --- a/net-view/operation/netmanager.cpp +++ b/net-view/operation/netmanager.cpp @@ -1010,7 +1010,7 @@ void NetManagerPrivate::updateAirplaneMode(bool enabled) Q_Q(NetManager); Q_EMIT q->airplaneModeChanged(m_airplaneMode); } - updateItemVisible("NetAirplaneModeTipsItem", enabled); + updateItemVisible("NetAirplaneModeTipsItem", enabled && m_managerThread->supportWireless()); if (enabled) { updateItemVisible("NetWirelessDisabledItem", false); updateItemVisible("NetWiredDisabledItem", false); diff --git a/net-view/operation/private/netmanagerthreadprivate.cpp b/net-view/operation/private/netmanagerthreadprivate.cpp index 7c17b171..da12b72e 100644 --- a/net-view/operation/private/netmanagerthreadprivate.cpp +++ b/net-view/operation/private/netmanagerthreadprivate.cpp @@ -137,6 +137,17 @@ bool NetManagerThreadPrivate::CheckPasswordValid(const QString &key, const QStri return !password.isEmpty(); } +bool NetManagerThreadPrivate::supportWireless() const +{ + NetworkManager::Device::List devices = NetworkManager::networkInterfaces(); + for (NetworkManager::Device::Ptr device : devices) { + if (device->type() == NetworkManager::Device::Type::Wifi && device->managed()) + return true; + } + + return false; +} + void NetManagerThreadPrivate::getNetCheckAvailableFromDBus() { QDBusMessage message = QDBusMessage::createMethodCall("com.deepin.defender.netcheck", "/com/deepin/defender/netcheck", "org.freedesktop.DBus.Properties", "Get"); @@ -861,13 +872,7 @@ bool NetManagerThreadPrivate::supportAirplaneMode() const } } - NetworkManager::Device::List devices = NetworkManager::networkInterfaces(); - for (NetworkManager::Device::Ptr device : devices) { - if (device->type() == NetworkManager::Device::Type::Wifi && device->managed()) - return true; - } - - return false; + return supportWireless(); } void NetManagerThreadPrivate::doConnectOrInfo(const QString &id, NetType::NetItemType type, const QVariantMap ¶m) diff --git a/net-view/operation/private/netmanagerthreadprivate.h b/net-view/operation/private/netmanagerthreadprivate.h index 16bc3b77..9ef6e8b3 100644 --- a/net-view/operation/private/netmanagerthreadprivate.h +++ b/net-view/operation/private/netmanagerthreadprivate.h @@ -55,6 +55,8 @@ class NetManagerThreadPrivate : public QObject inline bool AirplaneModeEnabled() const { return m_airplaneModeEnabled; } + bool supportWireless() const; + void setEnabled(bool enabled); void setAutoScanInterval(int ms); void setAutoScanEnabled(bool enabled);