mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fix(network): wired item visible logic when it's enable status changed
Change-Id: I1bbf0194a6ddafb769898df8b42eb9d847944722
This commit is contained in:
parent
7ae40f4bb9
commit
821e393753
Notes:
gerrit
2018-09-07 15:00:30 +08:00
Code-Review+2: listenerri <listenerri@gmail.com> Verified+1: <jenkins@deepin.com> Submitted-by: listenerri <listenerri@gmail.com> Submitted-at: Fri, 07 Sep 2018 15:00:29 +0800 Reviewed-on: https://cr.deepin.io/38220 Project: dde/dde-dock Branch: refs/heads/master
@ -54,6 +54,9 @@ void NetworkPlugin::init(PluginProxyInterface *proxyInter)
|
||||
{
|
||||
m_proxyInter = proxyInter;
|
||||
|
||||
m_delayRefreshTimer->setSingleShot(true);
|
||||
m_delayRefreshTimer->setInterval(2000);
|
||||
|
||||
connect(m_delayRefreshTimer, &QTimer::timeout, this, &NetworkPlugin::refreshWiredItemVisible);
|
||||
|
||||
if (!pluginIsDisable()) {
|
||||
@ -215,6 +218,9 @@ void NetworkPlugin::onDeviceListChanged(const QList<NetworkDevice *> devices)
|
||||
mPaths << path;
|
||||
m_itemsMap.insert(path, item);
|
||||
|
||||
connect(device, &dde::network::NetworkDevice::enableChanged,
|
||||
m_delayRefreshTimer, static_cast<void (QTimer:: *)()>(&QTimer::start));
|
||||
|
||||
connect(item, &DeviceItem::requestContextMenu, this, &NetworkPlugin::contextMenuRequested);
|
||||
connect(item, &DeviceItem::requestSetDeviceEnable, m_networkWorker, &NetworkWorker::setDeviceEnable);
|
||||
}
|
||||
@ -242,9 +248,7 @@ void NetworkPlugin::onDeviceListChanged(const QList<NetworkDevice *> devices)
|
||||
});
|
||||
}
|
||||
|
||||
if (!m_delayRefreshTimer->isActive()) {
|
||||
m_delayRefreshTimer->start(2000);
|
||||
}
|
||||
m_delayRefreshTimer->start();
|
||||
}
|
||||
|
||||
void NetworkPlugin::refreshWiredItemVisible()
|
||||
@ -267,6 +271,8 @@ void NetworkPlugin::refreshWiredItemVisible()
|
||||
for (auto wiredItem : wiredItems) {
|
||||
if (!wiredItem->device()->enabled()) {
|
||||
m_proxyInter->itemRemoved(this, wiredItem->path());
|
||||
} else {
|
||||
m_proxyInter->itemAdded(this, wiredItem->path());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user