Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/StackView.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2017 The Qt Company Ltd.
0003     SPDX-FileCopyrightText: 2022 Fushan Wen <qydwhotmail@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later
0006 */
0007 
0008 import QtQuick
0009 import QtQuick.Controls
0010 import QtQuick.Templates as T
0011 import org.kde.kirigami as Kirigami
0012 
0013 T.StackView {
0014     id: control
0015 
0016     // Using NumberAnimation instead of XAnimator because the latter wasn't always smooth enough.
0017     pushEnter: Transition {
0018         NumberAnimation {
0019             property: "x"
0020             from: (control.mirrored ? -0.5 : 0.5) * control.width
0021             to: 0
0022             duration: Kirigami.Units.longDuration
0023             easing.type: Easing.OutCubic
0024         }
0025         NumberAnimation {
0026             property: "opacity"
0027             from: 0.0; to: 1.0
0028             duration: Kirigami.Units.longDuration
0029             easing.type: Easing.OutCubic
0030         }
0031     }
0032     pushExit: Transition {
0033         NumberAnimation {
0034             property: "x"
0035             from: 0
0036             to: (control.mirrored ? -0.5 : 0.5) * -control.width
0037             duration: Kirigami.Units.longDuration
0038             easing.type: Easing.OutCubic
0039         }
0040         NumberAnimation {
0041             property: "opacity"
0042             from: 1.0; to: 0.0
0043             duration: Kirigami.Units.longDuration
0044             easing.type: Easing.OutCubic
0045         }
0046     }
0047     popEnter: Transition {
0048         NumberAnimation {
0049             property: "x"
0050             from: (control.mirrored ? -0.5 : 0.5) * -control.width
0051             to: 0
0052             duration: Kirigami.Units.longDuration
0053             easing.type: Easing.OutCubic
0054         }
0055         NumberAnimation {
0056             property: "opacity"
0057             from: 0.0; to: 1.0
0058             duration: Kirigami.Units.longDuration
0059             easing.type: Easing.OutCubic
0060         }
0061     }
0062     popExit: Transition {
0063         NumberAnimation {
0064             property: "x"
0065             from: 0
0066             to: (control.mirrored ? -0.5 : 0.5) * control.width
0067             duration: Kirigami.Units.longDuration
0068             easing.type: Easing.OutCubic
0069         }
0070         NumberAnimation {
0071             property: "opacity"
0072             from: 1.0; to: 0.0
0073             duration: Kirigami.Units.longDuration
0074             easing.type: Easing.OutCubic
0075         }
0076     }
0077     replaceEnter: Transition {
0078         NumberAnimation {
0079             property: "x"
0080             from: (control.mirrored ? -0.5 : 0.5) * control.width
0081             to: 0
0082             duration: Kirigami.Units.longDuration
0083             easing.type: Easing.OutCubic
0084         }
0085         NumberAnimation {
0086             property: "opacity"
0087             from: 0.0; to: 1.0
0088             duration: Kirigami.Units.longDuration
0089             easing.type: Easing.OutCubic
0090         }
0091     }
0092     replaceExit: Transition {
0093         NumberAnimation {
0094             property: "x"
0095             from: 0
0096             to: (control.mirrored ? -0.5 : 0.5) * -control.width
0097             duration: Kirigami.Units.longDuration
0098             easing.type: Easing.OutCubic
0099         }
0100         NumberAnimation {
0101             property: "opacity"
0102             from: 1.0; to: 0.0
0103             duration: Kirigami.Units.longDuration
0104             easing.type: Easing.OutCubic
0105         }
0106     }
0107 }