mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
feat: 解决点击企业微信无法显示窗口的问题
1. 鼠标释放事件未传递到父类 2. 菜单事件处理显示逻辑 Log: 优化任务栏插件人机交互逻辑 Task: https://pms.uniontech.com/zentao/task-view-91677.html Influence: 任务栏-插件区域-点击企业微信图标,显示企业微信窗口 Change-Id: I03c1f1822a656877ac586242d47b17e30c44be86
This commit is contained in:
parent
296069dfe0
commit
3a6ae9456f
@ -152,13 +152,8 @@ void XEmbedTrayWidget::paintEvent(QPaintEvent *e)
|
||||
|
||||
void XEmbedTrayWidget::mousePressEvent(QMouseEvent *e)
|
||||
{
|
||||
m_startPos = e->pos();
|
||||
AbstractTrayWidget::mousePressEvent(e);
|
||||
|
||||
if (e->source() == Qt::MouseEventSynthesizedByQt) {
|
||||
// 右键-出现
|
||||
m_startPos = e->pos();
|
||||
sendClick(XCB_BUTTON_INDEX_3, QCursor::pos().x(), QCursor::pos().y());
|
||||
}
|
||||
}
|
||||
|
||||
void XEmbedTrayWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
@ -178,8 +173,18 @@ void XEmbedTrayWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
|
||||
void XEmbedTrayWidget::mouseReleaseEvent(QMouseEvent *e)
|
||||
{
|
||||
// 鼠标释放事件不往父类传递
|
||||
QWidget::mouseReleaseEvent(e);
|
||||
// 触摸按下且长按
|
||||
if (e->source() == Qt::MouseEventSynthesizedByQt && m_longPress)
|
||||
return;
|
||||
|
||||
AbstractTrayWidget::mouseReleaseEvent(e);
|
||||
}
|
||||
|
||||
void XEmbedTrayWidget::contextMenuEvent(QContextMenuEvent *event)
|
||||
{
|
||||
Q_UNUSED(event);
|
||||
|
||||
sendClick(XCB_BUTTON_INDEX_3, QCursor::pos().x(), QCursor::pos().y());
|
||||
}
|
||||
|
||||
void XEmbedTrayWidget::configContainerPosition()
|
||||
|
@ -56,6 +56,7 @@ private:
|
||||
void mousePressEvent(QMouseEvent *e) override;
|
||||
void mouseMoveEvent(QMouseEvent *e) override;
|
||||
void mouseReleaseEvent(QMouseEvent *e) override;
|
||||
void contextMenuEvent(QContextMenuEvent *event) override;
|
||||
void configContainerPosition();
|
||||
|
||||
void wrapWindow();
|
||||
|
Loading…
x
Reference in New Issue
Block a user