diff options
Diffstat (limited to 'src/gui/kernel/qwindow_p.h')
-rw-r--r-- | src/gui/kernel/qwindow_p.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index 96beb17bec..b3722a6ed8 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -26,6 +26,8 @@ #include <QtGui/qicon.h> #include <QtGui/qpalette.h> +#include <QtCore/qpointer.h> + QT_BEGIN_NAMESPACE class Q_GUI_EXPORT QWindowPrivate : public QObjectPrivate @@ -42,7 +44,7 @@ public: QWindowPrivate(); ~QWindowPrivate() override; - void init(QScreen *targetScreen = nullptr); + void init(QWindow *parent, QScreen *targetScreen = nullptr); #ifndef QT_NO_CURSOR void setCursor(const QCursor *c = nullptr); @@ -64,7 +66,7 @@ public: void updateSiblingPosition(SiblingPosition); bool windowRecreationRequired(QScreen *newScreen) const; - void create(bool recursive, WId nativeHandle = 0); + void create(bool recursive); void destroy(); void setTopLevelScreen(QScreen *newScreen, bool recreate); void connectToScreen(QScreen *topLevelScreen); @@ -74,6 +76,16 @@ public: void setTransientParent(QWindow *parent); virtual void clearFocusObject(); + + enum class FocusTarget { + First, + Last, + Current, + Next, + Prev + }; + virtual void setFocusToTarget(FocusTarget, Qt::FocusReason) {} + virtual QRectF closestAcceptableGeometry(const QRectF &rect) const; void setMinOrMaxSize(QSize *oldSizeMember, const QSize &size, @@ -85,11 +97,13 @@ public: virtual bool participatesInLastWindowClosed() const; virtual bool treatAsVisible() const; + const QWindow *forwardToPopup(QEvent *event, const QWindow *activePopupOnPress); + bool isPopup() const { return (windowFlags & Qt::WindowType_Mask) == Qt::Popup; } void setAutomaticPositionAndResizeEnabled(bool a) { positionAutomatic = resizeAutomatic = a; } - void updateDevicePixelRatio(); + bool updateDevicePixelRatio(); static QWindowPrivate *get(QWindow *window) { return window->d_func(); } @@ -143,7 +157,6 @@ public: bool hasCursor = false; #endif - bool compositing = false; QElapsedTimer lastComposeTime; #if QT_CONFIG(vulkan) |