Skip to content

Commit a6b5614

Browse files
Mars-cbdeepin-bot[bot]
authored andcommitted
fix: 修复通知中心鼠标点击或滚轮滚动都会导致隐藏的问题
多屏开缩放的情况下,qt获取的坐标有问题,需要重新计算 Log: 修复通知中心鼠标点击或滚轮滚动都会导致隐藏的问题 Bug: https://pms.uniontech.com/bug-view-163961.html Influence: 通知中心 Change-Id: I2022d112191b9f878d7f9192b29b28f547ead853
1 parent 82959bc commit a6b5614

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

dde-osd/notification-center/notifycenterwidget.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,10 +277,19 @@ void NotifyCenterWidget::registerRegion()
277277
if (interface.isValid()) {
278278
m_regionConnect = connect(m_regionMonitor, &DRegionMonitor::buttonRelease, this, [ = ](const QPoint & p) {
279279
QPoint pScale(int(qreal(p.x() / m_scale)), int(qreal(p.y() / m_scale)));
280-
if (!geometry().contains(pScale))
281-
if (!isHidden()) {
282-
hideAni();
283-
}
280+
// 多屏开缩放下,qt坐标有问题,需要手动计算
281+
QScreen *screen = windowHandle()->screen();
282+
if (screen) {
283+
const QRect screenRect = screen->geometry();
284+
QRect rect = geometry();
285+
rect.setX(screenRect.x() / m_scale + geometry().x() - screenRect.x());
286+
if (!rect.contains(pScale))
287+
if (!isHidden()) {
288+
hideAni();
289+
}
290+
} else {
291+
qWarning() << "windowHandle()->screen() is null";
292+
}
284293
});
285294
}
286295

0 commit comments

Comments
 (0)