Improve pageLoader animation
This commit is contained in:
parent
3f339b7bb9
commit
f5c6a2627b
|
@ -14,6 +14,7 @@ HDrawer {
|
|||
property int buttonWidth:
|
||||
buttonRepeater.count > 0 ? buttonRepeater.itemAt(0).implicitWidth : 0
|
||||
|
||||
readonly property alias contentTranslation: contentTranslation
|
||||
readonly property alias buttonRepeater: buttonRepeater
|
||||
readonly property alias swipeView: swipeView
|
||||
|
||||
|
@ -23,6 +24,7 @@ HDrawer {
|
|||
|
||||
HColumnLayout {
|
||||
anchors.fill: parent
|
||||
transform: Translate { id: contentTranslation }
|
||||
|
||||
Rectangle {
|
||||
color: buttonsBackgroundColor
|
||||
|
|
|
@ -67,8 +67,8 @@ HLoader {
|
|||
|
||||
clip: appearAnimation.running
|
||||
|
||||
onLoaded: { takeFocus(); appearAnimation.start() }
|
||||
onRecycled: appearAnimation.start()
|
||||
onLoaded: { takeFocus(); appearAnimation.restart() }
|
||||
onRecycled: appearAnimation.restart()
|
||||
|
||||
Component.onCompleted: {
|
||||
if (! py.startupAnyAccountsSaved) {
|
||||
|
@ -92,10 +92,10 @@ HLoader {
|
|||
id: appearAnimation
|
||||
target: pageLoader.item
|
||||
property: "x"
|
||||
from: -300
|
||||
from: -pageLoader.width
|
||||
to: 0
|
||||
easing.type: Easing.OutBack
|
||||
duration: theme.animationDuration * 1.5
|
||||
easing.type: Easing.OutCirc
|
||||
factor: 2
|
||||
}
|
||||
|
||||
HShortcut {
|
||||
|
|
|
@ -39,6 +39,7 @@ Item {
|
|||
}
|
||||
|
||||
|
||||
onPageIdentityChanged: if (roomPane) roomPane.appearAnimation.restart()
|
||||
onFocusChanged: if (focus && loader.item) loader.item.composer.takeFocus()
|
||||
onReadyChanged: longLoading = false
|
||||
|
||||
|
@ -110,8 +111,22 @@ Item {
|
|||
|
||||
sourceComponent: RoomPane {
|
||||
id: roomPane
|
||||
|
||||
readonly property alias appearAnimation: appearAnimation
|
||||
|
||||
referenceSizeParent: chat
|
||||
maximumSize: chat.width - theme.minimumSupportedWidth * 1.5
|
||||
|
||||
HNumberAnimation {
|
||||
id: appearAnimation
|
||||
target: roomPane.contentTranslation
|
||||
property: "x"
|
||||
from: -chat.width + roomPane.width
|
||||
to: 0
|
||||
easing.type: Easing.OutCirc
|
||||
factor: 2
|
||||
running: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user