aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickpopup_p_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/templates/qquickpopup_p_p.h')
-rw-r--r--src/templates/qquickpopup_p_p.h59
1 files changed, 30 insertions, 29 deletions
diff --git a/src/templates/qquickpopup_p_p.h b/src/templates/qquickpopup_p_p.h
index 017949cd..efb95bff 100644
--- a/src/templates/qquickpopup_p_p.h
+++ b/src/templates/qquickpopup_p_p.h
@@ -73,7 +73,7 @@ public:
void transitionExit();
protected:
- void finished() Q_DECL_OVERRIDE;
+ void finished() override;
private:
enum TransitionState {
@@ -92,24 +92,25 @@ public:
explicit QQuickPopupItem(QQuickPopup *popup);
protected:
- void focusInEvent(QFocusEvent *event) Q_DECL_OVERRIDE;
- void focusOutEvent(QFocusEvent *event) Q_DECL_OVERRIDE;
- void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
- void keyReleaseEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
- void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
- void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
- void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
- void mouseDoubleClickEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
- void mouseUngrabEvent() Q_DECL_OVERRIDE;
- void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE;
-
- void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) Q_DECL_OVERRIDE;
- void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE;
- void itemChange(ItemChange change, const ItemChangeData &data) Q_DECL_OVERRIDE;
- void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) Q_DECL_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 geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
+ void itemChange(ItemChange change, const ItemChangeData &data) override;
+ void paddingChange(const QMarginsF &newPadding, const QMarginsF &oldPadding) override;
#ifndef QT_NO_ACCESSIBILITY
- QAccessible::Role accessibleRole() const Q_DECL_OVERRIDE;
+ QAccessible::Role accessibleRole() const override;
#endif
private:
@@ -122,17 +123,9 @@ public:
explicit QQuickPopupPositioner(QQuickPopupPrivate *popup);
~QQuickPopupPositioner();
- qreal x() const;
- void setX(qreal x);
-
- qreal y() const;
- void setY(qreal y);
-
QQuickItem *parentItem() const;
void setParentItem(QQuickItem *parent);
- void repositionPopup();
-
protected:
void itemGeometryChanged(QQuickItem *, const QRectF &, const QRectF &);
void itemParentChanged(QQuickItem *, QQuickItem *parent);
@@ -145,8 +138,6 @@ private:
bool isAncestor(QQuickItem *item) const;
- qreal m_x;
- qreal m_y;
QQuickItem *m_parentItem;
QQuickPopupPrivate *m_popup;
};
@@ -165,9 +156,12 @@ public:
void init();
bool tryClose(QQuickItem *item, QMouseEvent *event);
+ virtual void reposition();
- void finalizeEnterTransition();
- void finalizeExitTransition();
+ virtual void prepareEnterTransition(bool notify = true);
+ virtual void prepareExitTransition();
+ virtual void finalizeEnterTransition();
+ virtual void finalizeExitTransition(bool hide = true);
QMarginsF getMargins() const;
@@ -178,11 +172,14 @@ public:
bool focus;
bool modal;
+ bool visible;
bool complete;
bool hasTopMargin;
bool hasLeftMargin;
bool hasRightMargin;
bool hasBottomMargin;
+ qreal x;
+ qreal y;
qreal margins;
qreal topMargin;
qreal leftMargin;
@@ -196,7 +193,11 @@ public:
QQuickTransition *exit;
QQuickPopupItem *popupItem;
QQuickPopupPositioner positioner;
+ QList<QQuickStateAction> enterActions;
+ QList<QQuickStateAction> exitActions;
QQuickPopupTransitionManager transitionManager;
+
+ friend class QQuickPopupTransitionManager;
};
QT_END_NAMESPACE