diff options
Diffstat (limited to 'src/quicktemplates2/qquickpopup_p_p.h')
-rw-r--r-- | src/quicktemplates2/qquickpopup_p_p.h | 78 |
1 files changed, 5 insertions, 73 deletions
diff --git a/src/quicktemplates2/qquickpopup_p_p.h b/src/quicktemplates2/qquickpopup_p_p.h index ca02530e..4aa62d23 100644 --- a/src/quicktemplates2/qquickpopup_p_p.h +++ b/src/quicktemplates2/qquickpopup_p_p.h @@ -61,8 +61,9 @@ QT_BEGIN_NAMESPACE class QQuickTransition; class QQuickTransitionManager; class QQuickPopup; +class QQuickPopupItem; class QQuickPopupPrivate; -class QQuickPopupItemPrivate; +class QQuickPopupPositioner; class QQuickPopupTransitionManager : public QQuickTransitionManager { @@ -79,77 +80,6 @@ private: QQuickPopupPrivate *popup; }; -class QQuickPopupItem : public QQuickControl -{ - Q_OBJECT - -public: - explicit QQuickPopupItem(QQuickPopup *popup); - - void grabShortcut(); - void ungrabShortcut(); - -protected: - void updatePolish() override; - - bool event(QEvent *event) override; - bool childMouseEventFilter(QQuickItem *child, QEvent *event) override; - void focusInEvent(QFocusEvent *event) override; - void focusOutEvent(QFocusEvent *event) override; - void keyPressEvent(QKeyEvent *event) override; - void keyReleaseEvent(QKeyEvent *event) override; - void mousePressEvent(QMouseEvent *event) override; - void mouseMoveEvent(QMouseEvent *event) override; - void mouseReleaseEvent(QMouseEvent *event) override; - void mouseDoubleClickEvent(QMouseEvent *event) override; - void mouseUngrabEvent() override; - void wheelEvent(QWheelEvent *event) override; - - void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override; - void fontChange(const QFont &newFont, const QFont &oldFont) override; - void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override; - void localeChange(const QLocale &newLocale, const QLocale &oldLocale) override; - void itemChange(ItemChange change, const ItemChangeData &data) override; - void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override; - void spacingChange(qreal newSpacing, qreal oldSpacing) override; - - QFont defaultFont() const override; - -#ifndef QT_NO_ACCESSIBILITY - QAccessible::Role accessibleRole() const override; - void accessibilityActiveChanged(bool active) override; -#endif - -private: - Q_DECLARE_PRIVATE(QQuickPopupItem) - - friend class QQuickPopup; -}; - -class QQuickPopupPositioner : public QQuickItemChangeListener -{ -public: - explicit QQuickPopupPositioner(QQuickPopupPrivate *popup); - ~QQuickPopupPositioner(); - - QQuickItem *parentItem() const; - void setParentItem(QQuickItem *parent); - -protected: - void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &) override; - void itemParentChanged(QQuickItem *, QQuickItem *parent) override; - void itemChildRemoved(QQuickItem *, QQuickItem *child) override; - -private: - void removeAncestorListeners(QQuickItem *item); - void addAncestorListeners(QQuickItem *item); - - bool isAncestor(QQuickItem *item) const; - - QQuickItem *m_parentItem; - QQuickPopupPrivate *m_popup; -}; - class Q_AUTOTEST_EXPORT QQuickPopupPrivate : public QObjectPrivate, public QQuickItemChangeListener { Q_DECLARE_PUBLIC(QQuickPopup) @@ -164,6 +94,7 @@ public: } void init(); + void closeOrReject(); bool tryClose(QQuickItem *item, QMouseEvent *event); virtual void reposition(); virtual void resizeOverlay(); @@ -207,6 +138,7 @@ public: bool allowVerticalResize; bool allowHorizontalResize; bool hadActiveFocusBeforeExitTransition; + bool interactive; qreal x; qreal y; qreal effectiveX; @@ -226,7 +158,7 @@ public: QQuickTransition *enter; QQuickTransition *exit; QQuickPopupItem *popupItem; - QQuickPopupPositioner positioner; + QQuickPopupPositioner *positioner; QList<QQuickStateAction> enterActions; QList<QQuickStateAction> exitActions; QQuickPopupTransitionManager transitionManager; |