aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-01-21 01:00:14 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-01-21 01:00:14 +0100
commit9aceff567c859bb91fe7221d2265953437402b43 (patch)
tree9db253bae3d91b77c9b6727afed121b7d7cac065 /src/plugins
parent4ecc36c34154e731cb2e94fa1a35929d6785f33d (diff)
parentcc9e1326792835c846cd129b683db5af6ac931bb (diff)
Merge remote-tracking branch 'origin/5.15' into dev
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.cpp17
-rw-r--r--src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.h4
2 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.cpp b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.cpp
index d4acd24da5..52e197b1ed 100644
--- a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.cpp
+++ b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.cpp
@@ -51,7 +51,7 @@ static QVector<QQmlPreviewPosition::ScreenData> initScreensData()
QVector<QQmlPreviewPosition::ScreenData> screensData;
for (QScreen *screen : QGuiApplication::screens()) {
- QQmlPreviewPosition::ScreenData sd{screen->name(), screen->size()};
+ QQmlPreviewPosition::ScreenData sd{screen->name(), screen->geometry()};
screensData.append(sd);
}
return screensData;
@@ -69,20 +69,20 @@ static QScreen *findScreen(const QString &nameOfScreen)
static QDataStream &operator<<(QDataStream &out, const QQmlPreviewPosition::ScreenData &screenData)
{
out << screenData.name;
- out << screenData.size;
+ out << screenData.rect;
return out;
}
static QDataStream &operator>>(QDataStream &in, QQmlPreviewPosition::ScreenData &screenData)
{
in >> screenData.name;
- in >> screenData.size;
+ in >> screenData.rect;
return in;
}
bool QQmlPreviewPosition::ScreenData::operator==(const QQmlPreviewPosition::ScreenData &other) const
{
- return other.size == size && other.name == name;
+ return other.rect == rect && other.name == name;
}
QQmlPreviewPosition::QQmlPreviewPosition()
@@ -211,8 +211,13 @@ void QQmlPreviewPosition::setPosition(const QQmlPreviewPosition::Position &posit
return;
if (QScreen *screen = findScreen(position.screenName)) {
window->setScreen(screen);
- window->setFramePosition(QHighDpiScaling::mapPositionFromNative(position.nativePosition,
- screen->handle()));
+ const auto point = QHighDpiScaling::mapPositionFromNative(position.nativePosition,
+ screen->handle());
+ const QRect geometry(point, window->size());
+ if (screen->virtualGeometry().contains(geometry))
+ window->setFramePosition(point);
+ else
+ qWarning("preview position is out of screen");
}
}
diff --git a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.h b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.h
index f403917f8c..9d84170948 100644
--- a/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.h
+++ b/src/plugins/qmltooling/qmldbg_preview/qqmlpreviewposition.h
@@ -56,7 +56,7 @@
#include <QtCore/qurl.h>
#include <QtCore/qtimer.h>
#include <QtCore/qsettings.h>
-#include <QtCore/qsize.h>
+#include <QtCore/qrect.h>
#include <QtCore/qdatastream.h>
QT_BEGIN_NAMESPACE
@@ -70,7 +70,7 @@ public:
public:
bool operator==(const QQmlPreviewPosition::ScreenData &other) const;
QString name;
- QSize size;
+ QRect rect;
};
class Position {
public: