From 77db1b28eabb4ca471a951792641d58aa4eb8d1e Mon Sep 17 00:00:00 2001 From: zsien Date: Wed, 3 Jul 2024 15:24:45 +0800 Subject: [PATCH] fix(dss): input is not hidden after closing the window Issues: linuxdeepin/developer-center#8983 --- dss-network-plugin/network_module.cpp | 15 ++++++++++++++- dss-network-plugin/network_module.h | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/dss-network-plugin/network_module.cpp b/dss-network-plugin/network_module.cpp index 3cbaf4e..f7fe93b 100644 --- a/dss-network-plugin/network_module.cpp +++ b/dss-network-plugin/network_module.cpp @@ -7,7 +7,6 @@ #include "networkdialog.h" #include "secretagent.h" #include "notificationmanager.h" -#include "dockpopupwindow.h" #include "networkdialog/thememanager.h" #include @@ -32,6 +31,8 @@ #define NETWORK_KEY "network-item-key" using namespace NetworkManager; + +DWIDGET_USE_NAMESPACE NETWORKPLUGIN_USE_NAMESPACE namespace dss { @@ -520,6 +521,18 @@ void NetworkPanelContainer::onPluginStateChanged(PluginState state) } } +void NetworkPanelContainer::showEvent(QShowEvent *event) { + if (m_contentWidget == m_dialog->panel()) { + m_contentWidget->setVisible(true); + } +} + +void NetworkPanelContainer::hideEvent(QHideEvent *event) { + if (m_contentWidget == m_dialog->panel()) { + m_contentWidget->setVisible(false); + } +} + void NetworkPanelContainer::setContentWidget(QWidget *content) { if (m_contentWidget) { diff --git a/dss-network-plugin/network_module.h b/dss-network-plugin/network_module.h index 0141c54..08aa8a6 100644 --- a/dss-network-plugin/network_module.h +++ b/dss-network-plugin/network_module.h @@ -36,6 +36,10 @@ class NetworkPanelContainer : public QWidget public Q_SLOTS: void onPluginStateChanged(PluginState state); +protected: + void showEvent(QShowEvent *event) override; + void hideEvent(QHideEvent *event) override; + private: QLabel *m_warnLabel; NETWORKPLUGIN_NAMESPACE::NetworkDialog *m_dialog;