aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesignerbase
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2023-12-14 19:32:20 +0100
committerTim Jenssen <tim.jenssen@qt.io>2023-12-14 19:50:03 +0100
commit06bfa66ed7bfee85e9f5c1c79e16e53f6269d616 (patch)
tree2d979bed6a8dfb92c01c69685406fc3bab86b3dc /src/plugins/qmldesignerbase
parent64f0e10a4e3c81fea61ea63d60eaa6f781c256cc (diff)
parentdc42b62ddf3fbd41bf5b16922e77de6bb6cdaafc (diff)
Merge remote-tracking branch 'origin/qds/dev'
Diffstat (limited to 'src/plugins/qmldesignerbase')
-rw-r--r--src/plugins/qmldesignerbase/utils/windowmanager.cpp11
-rw-r--r--src/plugins/qmldesignerbase/utils/windowmanager.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/qmldesignerbase/utils/windowmanager.cpp b/src/plugins/qmldesignerbase/utils/windowmanager.cpp
index c52d5d469a..146535ceac 100644
--- a/src/plugins/qmldesignerbase/utils/windowmanager.cpp
+++ b/src/plugins/qmldesignerbase/utils/windowmanager.cpp
@@ -8,6 +8,7 @@
#include <QCursor>
#include <QGuiApplication>
#include <QMainWindow>
+#include <QScreen>
#include <QWindow>
namespace QmlDesignerBase {
@@ -43,4 +44,14 @@ QPoint WindowManager::globalCursorPosition()
return QCursor::pos();
}
+QRect WindowManager::getScreenGeometry(QPoint point)
+{
+ QScreen *screen = QGuiApplication::screenAt(point);
+
+ if (!screen)
+ return {};
+
+ return screen->geometry();
+}
+
} // namespace QmlDesignerBase
diff --git a/src/plugins/qmldesignerbase/utils/windowmanager.h b/src/plugins/qmldesignerbase/utils/windowmanager.h
index 3d8e692c1a..87a0b70146 100644
--- a/src/plugins/qmldesignerbase/utils/windowmanager.h
+++ b/src/plugins/qmldesignerbase/utils/windowmanager.h
@@ -25,6 +25,7 @@ public:
static void registerDeclarativeType();
Q_INVOKABLE QPoint globalCursorPosition();
+ Q_INVOKABLE QRect getScreenGeometry(QPoint point);
signals:
void focusWindowChanged(QWindow *window);