mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
fix: 修复高缩放率下高效模式启动器位置错误
高效模式下,启动器使用自己计算的坐标来处理 Log: 修复高缩放率下高效模式启动器位置错误 Influence: 高缩放率下进入高效模式,观察启动器的位置 Task: https://pms.uniontech.com/task-view-232903.html Change-Id: Ic0a40476e13f7d8fe83f5bf537388e0b4df339e0
This commit is contained in:
parent
4faedb08b8
commit
05a98ac8b7
@ -35,6 +35,7 @@
|
|||||||
#include <QX11Info>
|
#include <QX11Info>
|
||||||
#include <QtConcurrent>
|
#include <QtConcurrent>
|
||||||
#include <QScreen>
|
#include <QScreen>
|
||||||
|
#include <QtGlobal>
|
||||||
|
|
||||||
#include <qpa/qplatformscreen.h>
|
#include <qpa/qplatformscreen.h>
|
||||||
#include <qpa/qplatformnativeinterface.h>
|
#include <qpa/qplatformnativeinterface.h>
|
||||||
@ -679,12 +680,14 @@ void WindowManager::onRequestUpdateFrontendGeometry()
|
|||||||
|
|
||||||
int x = rect.x();
|
int x = rect.x();
|
||||||
int y = rect.y();
|
int y = rect.y();
|
||||||
QScreen *screen = DIS_INS->screen(DOCKSCREEN_INS->current());
|
if (m_displayMode == Dock::DisplayMode::Fashion) {
|
||||||
if (screen) {
|
QScreen *screen = DIS_INS->screen(DOCKSCREEN_INS->current());
|
||||||
if (m_position == Dock::Position::Top || m_position == Dock::Position::Bottom)
|
if (screen) {
|
||||||
x = (screen->handle()->geometry().width() - (rect.width() * qApp->devicePixelRatio())) / 2;
|
if (m_position == Dock::Position::Top || m_position == Dock::Position::Bottom)
|
||||||
else
|
x = qMax(0, (int)((screen->handle()->geometry().width() - (rect.width() * qApp->devicePixelRatio())) / 2));
|
||||||
y = (screen->handle()->geometry().height() - (rect.height() * qApp->devicePixelRatio())) / 2;
|
else
|
||||||
|
y = qMax(0, (int)((screen->handle()->geometry().height() - (rect.height() * qApp->devicePixelRatio())) / 2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DockInter dockInter(dockServiceName(), dockServicePath(), QDBusConnection::sessionBus());
|
DockInter dockInter(dockServiceName(), dockServicePath(), QDBusConnection::sessionBus());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user