diff options
author | Elvis Angelaccio <elvis.angelaccio@kde.org> | 2017-05-26 12:51:33 +0200 |
---|---|---|
committer | Elvis Angelaccio <elvis.angelaccio@kde.org> | 2017-06-04 12:30:08 +0000 |
commit | 04eba7b538072e2811f074bf66fd41f27c90b35c (patch) | |
tree | 4e2c8e01560cb2f8b1aec34ebd2497a508b474bc /src/widgets/itemviews | |
parent | 4480f47f7b0f81483b0cf3c8327eff12938ca018 (diff) |
QStyle: deprecate SH_Widget_Animate in favor of SH_Widget_Animation_Duration
This change introduces a new SH_Widget_Animation_Duration style hint
that applications can query instead of manually hardcoding the duration
of an animation.
As default value we use 200, which is the value that was already used in
QWidgetAnimator. A value equal to 0 means that the animations will be
disabled. This also implies that the SH_Widget_Animate style hint is
superseded and can be deprecated.
The new style hint is configurable with style sheets.
[ChangeLog][QtWidgets][Styles] Added SH_Widget_Animation_Duration style
hint which deprecates SH_Widget_Animate.
Change-Id: Ic3f5e4f7145a89697f28666aeaecabb1f3c5c96f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r-- | src/widgets/itemviews/qcolumnview.cpp | 6 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreeview.cpp | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/widgets/itemviews/qcolumnview.cpp b/src/widgets/itemviews/qcolumnview.cpp index ea9bbb0fb9..d94f25de78 100644 --- a/src/widgets/itemviews/qcolumnview.cpp +++ b/src/widgets/itemviews/qcolumnview.cpp @@ -53,8 +53,6 @@ QT_BEGIN_NAMESPACE -#define ANIMATION_DURATION_MSEC 150 - /*! \since 4.3 \class QColumnView @@ -107,7 +105,6 @@ void QColumnViewPrivate::initialize() q->setTextElideMode(Qt::ElideMiddle); #ifndef QT_NO_ANIMATION QObject::connect(¤tAnimation, SIGNAL(finished()), q, SLOT(_q_changeCurrentColumn())); - currentAnimation.setDuration(ANIMATION_DURATION_MSEC); currentAnimation.setTargetObject(hbar); currentAnimation.setPropertyName("value"); currentAnimation.setEasingCurve(QEasingCurve::InOutQuad); @@ -330,7 +327,8 @@ void QColumnView::scrollTo(const QModelIndex &index, ScrollHint hint) } #ifndef QT_NO_ANIMATION - if (style()->styleHint(QStyle::SH_Widget_Animate, 0, this)) { + if (const int animationDuration = style()->styleHint(QStyle::SH_Widget_Animation_Duration, 0, this)) { + d->currentAnimation.setDuration(animationDuration); d->currentAnimation.setEndValue(newScrollbarValue); d->currentAnimation.start(); } else diff --git a/src/widgets/itemviews/qtreeview.cpp b/src/widgets/itemviews/qtreeview.cpp index f139fb2d5b..63d6580435 100644 --- a/src/widgets/itemviews/qtreeview.cpp +++ b/src/widgets/itemviews/qtreeview.cpp @@ -3051,7 +3051,7 @@ void QTreeViewPrivate::initialize() header->setDefaultAlignment(Qt::AlignLeft|Qt::AlignVCenter); q->setHeader(header); #ifndef QT_NO_ANIMATION - animationsEnabled = q->style()->styleHint(QStyle::SH_Widget_Animate, 0, q); + animationsEnabled = q->style()->styleHint(QStyle::SH_Widget_Animation_Duration, 0, q) > 0; QObject::connect(&animatedOperation, SIGNAL(finished()), q, SLOT(_q_endAnimatedOperation())); #endif //QT_NO_ANIMATION } |