From 82caae4c83883c8e98872a4b727bc4a8d1363912 Mon Sep 17 00:00:00 2001 From: chenhongtao Date: Tue, 18 Apr 2023 10:14:33 +0800 Subject: [PATCH] fix: not left mouse click will also trigger the command of plugin Log: make only Left mouse click will trigger the command of plugin --- plugins/bluetooth/bluetoothmainwidget.cpp | 7 ++++++- plugins/pluginmanager/largerquickitem.cpp | 5 +++++ plugins/pluginmanager/standardquickitem.cpp | 5 ++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/bluetooth/bluetoothmainwidget.cpp b/plugins/bluetooth/bluetoothmainwidget.cpp index 233f5e802..fb6250ec0 100644 --- a/plugins/bluetooth/bluetoothmainwidget.cpp +++ b/plugins/bluetooth/bluetoothmainwidget.cpp @@ -10,12 +10,13 @@ #include #include +#include #include #include #include #include -#include +#include DGUI_USE_NAMESPACE DWIDGET_USE_NAMESPACE @@ -81,6 +82,10 @@ bool BluetoothMainWidget::eventFilter(QObject *watcher, QEvent *event) break; } case QEvent::MouseButtonRelease: { + QMouseEvent *mouseevent = static_cast(event); + if (mouseevent->button() != Qt::LeftButton) { + return QWidget::eventFilter(watcher, event); + } bool status = !(isOpen()); for (const Adapter *adapter : m_adapterManager->adapters()) m_adapterManager->setAdapterPowered(adapter, status); diff --git a/plugins/pluginmanager/largerquickitem.cpp b/plugins/pluginmanager/largerquickitem.cpp index 97550c9f6..bd6227932 100644 --- a/plugins/pluginmanager/largerquickitem.cpp +++ b/plugins/pluginmanager/largerquickitem.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #define BGSIZE 36 #define ICONWIDTH 24 @@ -73,6 +74,10 @@ bool LargerQuickItem::eventFilter(QObject *obj, QEvent *event) switch (event->type()) { case QEvent::MouseButtonRelease: { + QMouseEvent *mouseevent = static_cast(event); + if (mouseevent->button() != Qt::LeftButton) { + return QuickSettingItem::eventFilter(obj, event); + } if (obj->objectName() == "expandLabel") { // 如果是鼠标的按下事件 QWidget *widget = pluginItem()->itemPopupApplet(QUICK_ITEM_KEY); diff --git a/plugins/pluginmanager/standardquickitem.cpp b/plugins/pluginmanager/standardquickitem.cpp index 9e18af0de..542ee8062 100644 --- a/plugins/pluginmanager/standardquickitem.cpp +++ b/plugins/pluginmanager/standardquickitem.cpp @@ -12,6 +12,7 @@ #include #include #include +#include static constexpr int ICONHEIGHT = 24; static constexpr int ICONWIDTH = 24; @@ -38,7 +39,9 @@ QuickSettingItem::QuickItemStyle StandardQuickItem::type() const void StandardQuickItem::mouseReleaseEvent(QMouseEvent *event) { - Q_UNUSED(event); + if (event->button() != Qt::LeftButton) { + return; + } QStringList commandArgument = pluginItem()->itemCommand(itemKey()).split(" "); if (commandArgument.size() > 0) { QString command = commandArgument.first();