From 6b1bc337410dcfcafc6ceecaa268464f6214ea33 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 19 Dec 2015 11:04:37 +0100 Subject: Rename Popup transitions Use Android-inspired enter & exit, which eliminates the need of using a "transition" suffix, and also less prone to appear in auto-completion when new users try to open/show/close/hide popups. Change-Id: I3a448d3e9be33fbfffbf08488858aa63a70233f2 Reviewed-by: J-P Nurmi --- src/templates/qquickpopup.cpp | 66 +++++++++++++++++++++-------------------- src/templates/qquickpopup_p.h | 16 +++++----- src/templates/qquickpopup_p_p.h | 14 ++++----- 3 files changed, 49 insertions(+), 47 deletions(-) (limited to 'src/templates') diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp index f1d71ebf..f3c87846 100644 --- a/src/templates/qquickpopup.cpp +++ b/src/templates/qquickpopup.cpp @@ -62,21 +62,21 @@ QQuickPopupPrivate::QQuickPopupPrivate() , overlay(Q_NULLPTR) , focus(false) , modal(false) - , showTransition(Q_NULLPTR) - , hideTransition(Q_NULLPTR) + , enter(Q_NULLPTR) + , exit(Q_NULLPTR) , transitionManager(this) { } QQuickPopupPrivate::~QQuickPopupPrivate() { } -void QQuickPopupPrivate::finalizeShowTransition() +void QQuickPopupPrivate::finalizeEnterTransition() { if (focus) contentItem->setFocus(true); } -void QQuickPopupPrivate::finalizeHideTransition() +void QQuickPopupPrivate::finalizeExitTransition() { overlay = Q_NULLPTR; contentItem->setParentItem(Q_NULLPTR); @@ -89,30 +89,30 @@ QQuickPopupTransitionManager::QQuickPopupTransitionManager(QQuickPopupPrivate *p , pp(priv) { } -void QQuickPopupTransitionManager::transitionShow() +void QQuickPopupTransitionManager::transitionEnter() { if (isRunning()) return; QList actions; - state = Show; - transition(actions, pp->showTransition, pp->contentItem); + state = Enter; + transition(actions, pp->enter, pp->contentItem); } -void QQuickPopupTransitionManager::transitionHide() +void QQuickPopupTransitionManager::transitionExit() { if (isRunning()) return; QList actions; - state = Hide; - transition(actions, pp->hideTransition, pp->contentItem); + state = Exit; + transition(actions, pp->exit, pp->contentItem); } void QQuickPopupTransitionManager::finished() { - if (state == Show) - pp->finalizeShowTransition(); - else if (state == Hide) - pp->finalizeHideTransition(); + if (state == Enter) + pp->finalizeEnterTransition(); + else if (state == Exit) + pp->finalizeExitTransition(); state = Off; } @@ -177,7 +177,7 @@ void QQuickPopup::open() } emit aboutToShow(); - d->transitionManager.transitionShow(); + d->transitionManager.transitionEnter(); emit visibleChanged(); } @@ -198,7 +198,7 @@ void QQuickPopup::close() d->contentItem->setFocus(false); emit aboutToHide(); - d->transitionManager.transitionHide(); + d->transitionManager.transitionExit(); } /*! @@ -286,43 +286,45 @@ bool QQuickPopup::isVisible() const } /*! - \qmlproperty Transition Qt.labs.controls::Popup::showTransition + \qmlproperty Transition Qt.labs.controls::Popup::enter This property holds the transition that is applied to the content item - when the popup is opened. + when the popup is opened and enters the screen. */ -QQuickTransition *QQuickPopup::showTransition() const +QQuickTransition *QQuickPopup::enter() const { - return d_func()->showTransition; + Q_D(const QQuickPopup); + return d->enter; } -void QQuickPopup::setShowTransition(QQuickTransition *t) +void QQuickPopup::setEnter(QQuickTransition *transition) { Q_D(QQuickPopup); - if (d->showTransition == t) + if (d->enter == transition) return; - d->showTransition = t; - emit showTransitionChanged(); + d->enter = transition; + emit enterChanged(); } /*! - \qmlproperty Transition Qt.labs.controls::Popup::hideTransition + \qmlproperty Transition Qt.labs.controls::Popup::exit This property holds the transition that is applied to the content item - when the popup is closed. + when the popup is closed and exits the screen. */ -QQuickTransition *QQuickPopup::hideTransition() const +QQuickTransition *QQuickPopup::exit() const { - return d_func()->hideTransition; + Q_D(const QQuickPopup); + return d->exit; } -void QQuickPopup::setHideTransition(QQuickTransition *t) +void QQuickPopup::setExit(QQuickTransition *transition) { Q_D(QQuickPopup); - if (d->hideTransition == t) + if (d->exit == transition) return; - d->hideTransition = t; - emit hideTransitionChanged(); + d->exit = transition; + emit exitChanged(); } QT_END_NAMESPACE diff --git a/src/templates/qquickpopup_p.h b/src/templates/qquickpopup_p.h index a7e402ec..c8095609 100644 --- a/src/templates/qquickpopup_p.h +++ b/src/templates/qquickpopup_p.h @@ -64,8 +64,8 @@ class Q_LABSTEMPLATES_EXPORT QQuickPopup : public QObject Q_PROPERTY(bool focus READ hasFocus WRITE setFocus NOTIFY focusChanged) Q_PROPERTY(bool modal READ isModal WRITE setModal NOTIFY modalChanged) Q_PROPERTY(bool visible READ isVisible NOTIFY visibleChanged) - Q_PROPERTY(QQuickTransition *showTransition READ showTransition WRITE setShowTransition NOTIFY showTransitionChanged FINAL) - Q_PROPERTY(QQuickTransition *hideTransition READ hideTransition WRITE setHideTransition NOTIFY hideTransitionChanged FINAL) + Q_PROPERTY(QQuickTransition *enter READ enter WRITE setEnter NOTIFY enterChanged FINAL) + Q_PROPERTY(QQuickTransition *exit READ exit WRITE setExit NOTIFY exitChanged FINAL) public: explicit QQuickPopup(QObject *parent = Q_NULLPTR); @@ -82,19 +82,19 @@ public: bool isVisible() const; - QQuickTransition *showTransition() const; - void setShowTransition(QQuickTransition *); + QQuickTransition *enter() const; + void setEnter(QQuickTransition *transition); - QQuickTransition *hideTransition() const; - void setHideTransition(QQuickTransition *); + QQuickTransition *exit() const; + void setExit(QQuickTransition *transition); Q_SIGNALS: void contentItemChanged(); void focusChanged(); void modalChanged(); void visibleChanged(); - void showTransitionChanged(); - void hideTransitionChanged(); + void enterChanged(); + void exitChanged(); void pressedOutside(); void releasedOutside(); diff --git a/src/templates/qquickpopup_p_p.h b/src/templates/qquickpopup_p_p.h index 0997e12c..900ced9b 100644 --- a/src/templates/qquickpopup_p_p.h +++ b/src/templates/qquickpopup_p_p.h @@ -64,15 +64,15 @@ class QQuickPopupTransitionManager : public QQuickTransitionManager { public: QQuickPopupTransitionManager(QQuickPopupPrivate *); - void transitionShow(); - void transitionHide(); + void transitionEnter(); + void transitionExit(); protected: void finished() Q_DECL_OVERRIDE; private: enum TransitionState { - Off, Show, Hide + Off, Enter, Exit }; TransitionState state; @@ -87,15 +87,15 @@ public: QQuickPopupPrivate(); ~QQuickPopupPrivate(); - void finalizeShowTransition(); - void finalizeHideTransition(); + void finalizeEnterTransition(); + void finalizeExitTransition(); QQuickItem *contentItem; QQuickOverlay *overlay; bool focus; bool modal; - QQuickTransition *showTransition; - QQuickTransition *hideTransition; + QQuickTransition *enter; + QQuickTransition *exit; QQuickPopupTransitionManager transitionManager; }; -- cgit v1.2.3