diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-08-13 15:19:20 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-08-18 13:10:23 +0000 |
commit | 23697466cae8f1a49537fed1e60db8cea79207b4 (patch) | |
tree | de527385caf854ddd810b39369370c8730c5306e /src/widgets/kernel/qdesktopwidget_p.h | |
parent | 52ad5afe1c1d8f8d47fccbdf474f8c6119b94608 (diff) |
Reduce usage of QDesktopWidget to resolve screen properties in QtWidgets
Removes the need to initialize QDesktopWidget, just to look up which
screen a widget would map to, the geometry of a screen, number of
screens, etc.
Change-Id: Ieb153b9ff6d3fba645fc528d6e430e8392f990bf
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/widgets/kernel/qdesktopwidget_p.h')
-rw-r--r-- | src/widgets/kernel/qdesktopwidget_p.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/widgets/kernel/qdesktopwidget_p.h b/src/widgets/kernel/qdesktopwidget_p.h index dade4fe45e..7a66661771 100644 --- a/src/widgets/kernel/qdesktopwidget_p.h +++ b/src/widgets/kernel/qdesktopwidget_p.h @@ -87,6 +87,29 @@ public: void _q_availableGeometryChanged(); QDesktopScreenWidget *widgetForScreen(QScreen *qScreen) const; + static bool isVirtualDesktop(); + + static QRect geometry(); + static QSize size(); + static int width(); + static int height(); + + static int numScreens(); + static int primaryScreen(); + + static int screenNumber(const QWidget *widget = nullptr); + static int screenNumber(const QPoint &); + + static const QRect screenGeometry(int screen = -1); + static const QRect screenGeometry(const QWidget *widget); + static const QRect screenGeometry(const QPoint &point) + { return screenGeometry(screenNumber(point)); } + + static const QRect availableGeometry(int screen = -1); + static const QRect availableGeometry(const QWidget *widget); + static const QRect availableGeometry(const QPoint &point) + { return availableGeometry(screenNumber(point)); } + QList<QDesktopScreenWidget *> screens; }; |