diff --git a/frame/item/pluginsitem.cpp b/frame/item/pluginsitem.cpp index d0b4fd790..796764c6d 100644 --- a/frame/item/pluginsitem.cpp +++ b/frame/item/pluginsitem.cpp @@ -161,8 +161,18 @@ void PluginsItem::mousePressEvent(QMouseEvent *e) if (e->button() == Qt::LeftButton) MousePressPoint = e->pos(); - // context menu will handle in DockItem - DockItem::mousePressEvent(e); + //handle context menu + m_popupTipsDelayTimer->stop(); + hideNonModel(); + + if (e->button() == Qt::RightButton) { + if (perfectIconRect().contains(e->pos())) { + return (m_gsettings && m_gsettings->get("menuEnable").toBool()) ? showContextMenu() : void(); + } + } + + // same as e->ignore above + QWidget::mousePressEvent(e); } void PluginsItem::mouseMoveEvent(QMouseEvent *e) diff --git a/gschema/com.deepin.dde.dock.module.gschema.xml b/gschema/com.deepin.dde.dock.module.gschema.xml index acc0ccf65..068ae11f5 100644 --- a/gschema/com.deepin.dde.dock.module.gschema.xml +++ b/gschema/com.deepin.dde.dock.module.gschema.xml @@ -105,6 +105,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + @@ -121,6 +128,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + @@ -137,6 +151,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + @@ -153,6 +174,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + @@ -176,6 +204,13 @@ Show TimeToFull + + true + Menu Enable + + Control Menu Enable + + @@ -192,6 +227,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + @@ -208,6 +250,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + @@ -224,6 +273,13 @@ Control Module Enable + + true + Menu Enable + + Control Menu Enable + + diff --git a/plugins/tray/system-trays/systemtrayitem.cpp b/plugins/tray/system-trays/systemtrayitem.cpp index 907c54fe1..8870d799c 100644 --- a/plugins/tray/system-trays/systemtrayitem.cpp +++ b/plugins/tray/system-trays/systemtrayitem.cpp @@ -239,7 +239,7 @@ void SystemTrayItem::mousePressEvent(QMouseEvent *event) if (event->button() == Qt::RightButton) { if (perfectIconRect().contains(event->pos(), true)) { - return showContextMenu(); + return (m_gsettings && m_gsettings->get("menuEnable").toBool()) ? showContextMenu() : void(); } }