mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fix(network): wired item visible
Change-Id: I4ca3e0deebb1a997c390dce7f29c17941fbecc9f
This commit is contained in:
parent
c115fd153f
commit
2380699131
Notes:
gerrit
2018-08-07 12:50:12 +08:00
Verified+1: <jenkins@deepin.com> Code-Review+2: listenerri <listenerri@gmail.com> Submitted-by: listenerri <listenerri@gmail.com> Submitted-at: Tue, 07 Aug 2018 12:50:11 +0800 Reviewed-on: https://cr.deepin.io/37451 Project: dde/dde-dock Branch: refs/heads/master
@ -34,6 +34,7 @@ NetworkPlugin::NetworkPlugin(QObject *parent)
|
||||
|
||||
m_networkModel(nullptr),
|
||||
m_networkWorker(nullptr),
|
||||
m_delayRefreshTimer(new QTimer),
|
||||
m_settings("deepin", "dde-dock-network"),
|
||||
m_pluginLoaded(false)
|
||||
{
|
||||
@ -53,6 +54,8 @@ void NetworkPlugin::init(PluginProxyInterface *proxyInter)
|
||||
{
|
||||
m_proxyInter = proxyInter;
|
||||
|
||||
connect(m_delayRefreshTimer, &QTimer::timeout, this, &NetworkPlugin::refreshWiredItemVisible);
|
||||
|
||||
if (!pluginIsDisable()) {
|
||||
loadPlugin();
|
||||
}
|
||||
@ -227,6 +230,34 @@ void NetworkPlugin::onDeviceListChanged(const QList<NetworkDevice *> devices)
|
||||
wirelessItems.at(i)->setDeviceInfo(wirelessItemCount == 1 ? -1 : i + 1);
|
||||
});
|
||||
}
|
||||
|
||||
if (!m_delayRefreshTimer->isActive()) {
|
||||
m_delayRefreshTimer->start(2000);
|
||||
}
|
||||
}
|
||||
|
||||
void NetworkPlugin::refreshWiredItemVisible()
|
||||
{
|
||||
bool hasWireless = false;
|
||||
QList<WiredItem *> wiredItems;
|
||||
|
||||
for (auto item : m_itemsMap.values()) {
|
||||
if (item->device()->type() == NetworkDevice::Wireless) {
|
||||
hasWireless = true;
|
||||
} else {
|
||||
wiredItems.append(static_cast<WiredItem *>(item));
|
||||
}
|
||||
}
|
||||
|
||||
if (!hasWireless) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto wiredItem : wiredItems) {
|
||||
if (!wiredItem->device()->enabled()) {
|
||||
m_proxyInter->itemRemoved(this, wiredItem->path());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DeviceItem *NetworkPlugin::itemByPath(const QString &path)
|
||||
|
@ -57,6 +57,7 @@ public:
|
||||
|
||||
private slots:
|
||||
void onDeviceListChanged(const QList<dde::network::NetworkDevice *> devices);
|
||||
void refreshWiredItemVisible();
|
||||
void contextMenuRequested();
|
||||
|
||||
private:
|
||||
@ -68,6 +69,7 @@ private:
|
||||
dde::network::NetworkWorker *m_networkWorker;
|
||||
|
||||
QMap<QString, DeviceItem *> m_itemsMap;
|
||||
QTimer *m_delayRefreshTimer;
|
||||
QSettings m_settings;
|
||||
|
||||
bool m_pluginLoaded;
|
||||
|
Loading…
x
Reference in New Issue
Block a user