From f670f1b57d781df790dfd9411f91a92b56875267 Mon Sep 17 00:00:00 2001 From: zhaoyingzhen Date: Thu, 8 May 2025 14:26:43 +0800 Subject: [PATCH 1/2] fix: close applet popup after bluetooth adaptor was removed as title Log: as title Pms: BUG-285035 --- plugins/dde-dock/bluetooth/bluetoothitem.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/dde-dock/bluetooth/bluetoothitem.cpp b/plugins/dde-dock/bluetooth/bluetoothitem.cpp index 8a262066c..6cf98dcdf 100644 --- a/plugins/dde-dock/bluetooth/bluetoothitem.cpp +++ b/plugins/dde-dock/bluetooth/bluetoothitem.cpp @@ -54,7 +54,12 @@ BluetoothItem::BluetoothItem(AdaptersManager *adapterManager, QWidget *parent) refreshTips(); }); connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, &BluetoothItem::refreshIcon); - connect(m_applet, &BluetoothApplet::noAdapter, this, &BluetoothItem::noAdapter); + connect(m_applet, &BluetoothApplet::noAdapter, this, [this] { + if (m_applet->isVisible()) { + m_applet->setVisible(false); + } + Q_EMIT noAdapter(); + }); connect(m_applet, &BluetoothApplet::justHasAdapter, this, &BluetoothItem::justHasAdapter); connect(m_applet, &BluetoothApplet::requestHideApplet, this, &BluetoothItem::requestHideApplet); connect(m_quickPanel, &QuickPanelWidget::panelClicked, this, &BluetoothItem::requestExpand); From 5e8d7aa2df7207bc925bd0036b9745007c93161a Mon Sep 17 00:00:00 2001 From: zhaoyingzhen Date: Thu, 8 May 2025 14:28:35 +0800 Subject: [PATCH 2/2] Revert "fix: close applet popup after bluetooth adaptor was removed" This reverts commit 82bc766004321d187e1914cb5251edaf56a33583. --- plugins/dde-dock/bluetooth/bluetoothplugin.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/plugins/dde-dock/bluetooth/bluetoothplugin.cpp b/plugins/dde-dock/bluetooth/bluetoothplugin.cpp index 8c4dbb63a..188b90571 100644 --- a/plugins/dde-dock/bluetooth/bluetoothplugin.cpp +++ b/plugins/dde-dock/bluetooth/bluetoothplugin.cpp @@ -160,13 +160,9 @@ void BluetoothPlugin::refreshPluginItemsVisible() if(!m_proxyInter) return; - if (pluginIsDisable() || !m_enableState) { + if (pluginIsDisable() || !m_enableState) m_proxyInter->itemRemoved(this, BLUETOOTH_KEY); - auto popupWidget = m_bluetoothItem->popupApplet(); - if (popupWidget && popupWidget->isVisible()) { - popupWidget->setVisible(false); - } - } else + else m_proxyInter->itemAdded(this, BLUETOOTH_KEY); }