Bug 395324

Summary: QQC2.StackView does not respect the global animation speed
Product: [Plasma] Breeze Reporter: Christoph Feck <cfeck>
Component: QStyleAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: minor CC: kde, nate, noahadvs, plasma-bugs, qydwhotmail, uhhadd
Priority: NOR Keywords: junior-jobs
Version: 5.13.90   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=426770
Latest Commit: Version Fixed In: 5.96
Sentry Crash Report:

Description Christoph Feck 2018-06-13 16:35:33 UTC
Steps to reproduce:
- Add "[Units] longDuration=0" to plasmarc
- Right-click desktop > Configure Desktop > Wallpaper
- Switch between different "Wallpaper Type" modes

Actual result:
- The configuration pages slide in and out

Expected result:
- The configuration pages just switch
Comment 1 David Edmundson 2018-07-02 08:24:32 UTC
Wallpaper slideshow has it's own duration in its config due to reason in another bug report.


I don't know how we can merge the two things in a sane way
Comment 2 Christoph Feck 2018-09-20 00:22:19 UTC
Note that this ticket is about the dialog animations, not the actual slideshow transitions.
Comment 3 Christoph Feck 2018-09-27 02:43:43 UTC
My initial investigation: The wallpaper configuration dialog[1] uses QtControls StackView for the different pages. According to its documentation[2], pushing/popping a page causes transition animations. These can be customized; the documentation shows some examples with customized 'duration' property, so it should be possible to use the Plasma global animation duration for these.

[1] https://cgit.kde.org/plasma-desktop.git/tree/desktoppackage/contents/configuration/ConfigurationContainmentAppearance.qml
[2] http://doc.qt.io/qt-5/qml-qtquick-controls-stackview.html
Comment 4 David Edmundson 2018-10-01 23:08:15 UTC
We can control the animation speed, and in fact we do already.

The issue is that slideshow has it's own config option for duration as it was decided it needed to be slower. Understanding how to have two config options control the same thing is the problem
Comment 5 Christoph Feck 2018-10-01 23:18:28 UTC
David, comment #2.
Comment 6 Christoph Feck 2019-10-22 17:45:44 UTC
The same StackView animations are now also in the kscreen KCM (switching between monitors). Should I report it separately?
Comment 7 David Edmundson 2019-10-22 21:47:12 UTC
You're right I hadn't read #2 properly, sorry.

We need two parts:
 - breeze to follow the global animation speed

 - qqc2-desktop-theme to follow the qstyle in stackviews

Maybe that should be two bugs, I don't think we need one on the symptoms in kscreen.
Comment 8 Nate Graham 2020-10-05 20:06:31 UTC
Should follow the global speed now.
Comment 9 Nate Graham 2020-10-05 20:09:00 UTC
Never mind, I also mis-read. The dialog itself now respects the global animation speed scale.
Comment 10 Christoph Feck 2022-06-05 14:01:20 UTC
The issue persists. While recent animations in the Places panel where fixed, this one remains animating. Animation speed slider is set to "Instant".
Comment 11 Fushan Wen 2022-06-10 02:03:33 UTC
Git commit 8df97ad32394500af9e1195048e5121a1b9c9adc by Fushan Wen.
Committed on 10/06/2022 at 02:02.
Pushed by fusionfuture into branch 'master'.

wallpapers/image: follow system animation speed setting in wallpaper transition

The value is to keep compatible with the old feeling defined by
"TransitionAnimationDuration" (default: 1000)
FIXED-IN: 5.26

M  +0    -4    wallpapers/image/imagepackage/contents/config/main.xml
M  +4    -2    wallpapers/image/imagepackage/contents/ui/main.qml
M  +0    -4    wallpapers/image/slideshowpackage/contents/config/main.xml

https://invent.kde.org/plasma/plasma-workspace/commit/8df97ad32394500af9e1195048e5121a1b9c9adc
Comment 12 Fushan Wen 2022-06-10 02:03:41 UTC
Git commit 8df97ad32394500af9e1195048e5121a1b9c9adc by Fushan Wen.
Committed on 10/06/2022 at 02:02.
Pushed by fusionfuture into branch 'master'.

wallpapers/image: follow system animation speed setting in wallpaper transition

The value is to keep compatible with the old feeling defined by
"TransitionAnimationDuration" (default: 1000)
FIXED-IN: 5.26

M  +0    -4    wallpapers/image/imagepackage/contents/config/main.xml
M  +4    -2    wallpapers/image/imagepackage/contents/ui/main.qml
M  +0    -4    wallpapers/image/slideshowpackage/contents/config/main.xml

https://invent.kde.org/plasma/plasma-workspace/commit/8df97ad32394500af9e1195048e5121a1b9c9adc
Comment 13 Christoph Feck 2022-06-10 07:44:57 UTC
Please read comment #2.
Comment 14 Fushan Wen 2022-06-10 09:10:46 UTC
Sorry, but I guess it has nothing to do with Image Wallpaper because it's a StackView with the default animation settings
Comment 15 Bug Janitor Service 2022-06-10 09:38:33 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/158
Comment 16 Fushan Wen 2022-06-10 16:24:42 UTC
Git commit ae1606281c35e0fcd6cea0cbee3a4f1120952c07 by Fushan Wen.
Committed on 10/06/2022 at 16:21.
Pushed by fusionfuture into branch 'master'.

Make StackView obey the global animation speed setting

Use `Kirigami.Units.veryLongDuration` instead of 400.
FIXED-IN: 5.96

A  +108  -0    org.kde.desktop/StackView.qml     [License: GPL(v2.0+) LGPL(v3.0)]

https://invent.kde.org/frameworks/qqc2-desktop-style/commit/ae1606281c35e0fcd6cea0cbee3a4f1120952c07