From ad5349c49dfa5a578f3aea0f73c591e086b6d67c Mon Sep 17 00:00:00 2001 From: rankun Date: Thu, 27 Feb 2020 10:11:15 +0800 Subject: [PATCH] fix: tool from move bug Close #78 --- QtScrcpy/device/ui/videoform.cpp | 2 +- QtScrcpy/uibase/magneticwidget.cpp | 23 ++++++----------------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/QtScrcpy/device/ui/videoform.cpp b/QtScrcpy/device/ui/videoform.cpp index 143da70..f4996ea 100644 --- a/QtScrcpy/device/ui/videoform.cpp +++ b/QtScrcpy/device/ui/videoform.cpp @@ -166,7 +166,7 @@ void VideoForm::updateShowSize(const QSize &newSize) } if (!m_skin) { - // 减去标题栏高度 (mark:已经没有标题栏了) + // 减去标题栏高度 int titleBarHeight = style()->pixelMetric(QStyle::PM_TitleBarHeight); showSize.setHeight(showSize.height() - titleBarHeight); } diff --git a/QtScrcpy/uibase/magneticwidget.cpp b/QtScrcpy/uibase/magneticwidget.cpp index 7fad87c..7a61b81 100644 --- a/QtScrcpy/uibase/magneticwidget.cpp +++ b/QtScrcpy/uibase/magneticwidget.cpp @@ -184,23 +184,12 @@ void MagneticWidget::moveEvent(QMoveEvent *event) void MagneticWidget::getGeometry(QRect &relativeWidgetRect, QRect &targetWidgetRect) { - QRect parentRect = m_adsorbWidget->geometry(); - QRect targetRect = geometry(); + relativeWidgetRect.setTopLeft(m_adsorbWidget->pos()); + relativeWidgetRect.setWidth(m_adsorbWidget->width()); + relativeWidgetRect.setHeight(m_adsorbWidget->height()); - if (!m_adsorbWidget->windowFlags().testFlag(Qt::FramelessWindowHint)) { - // title bar height - int titleBarHeight = m_adsorbWidget->style()->pixelMetric(QStyle::PM_TitleBarHeight); - parentRect.translate(0, -titleBarHeight); - parentRect.setHeight(parentRect.height() + titleBarHeight); - } - - if (!windowFlags().testFlag(Qt::FramelessWindowHint)) { - // title bar height - int titleBarHeight = style()->pixelMetric(QStyle::PM_TitleBarHeight); - targetRect.translate(0, -titleBarHeight); - targetRect.setHeight(targetRect.height() + titleBarHeight); - } - relativeWidgetRect = parentRect; - targetWidgetRect = targetRect; + targetWidgetRect.setTopLeft(pos()); + targetWidgetRect.setWidth(width()); + targetWidgetRect.setHeight(height()); }