aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/companion
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/companion')
-rw-r--r--desktop/companion/Figure.qml7
1 files changed, 7 insertions, 0 deletions
diff --git a/desktop/companion/Figure.qml b/desktop/companion/Figure.qml
index 3401168..df21bf5 100644
--- a/desktop/companion/Figure.qml
+++ b/desktop/companion/Figure.qml
@@ -59,8 +59,14 @@ Item {
target: s; property: "drop"; duration: 320
onFinished: s.settled(s.out)
}
+ // Out from creation (a shell started with her hidden) never ran the drop,
+ // since a starting value fires no onOutChanged, and she was drawn in place
+ // with her clock stopped, frozen on whatever frame came next. The body
+ // below hides her until she is shown, and the first entrance starts from
+ // below like any other.
onOutChanged: {
dropAnim.stop();
+ if (!s.out && s.drop === 0) s.drop = s.height + 24;
dropAnim.to = s.out ? s.height + 24 : 0;
dropAnim.easing.type = s.out ? Easing.InCubic : Easing.OutBack;
dropAnim.start();
@@ -86,6 +92,7 @@ Item {
Item {
anchors.fill: parent
+ visible: !s.out || dropAnim.running
opacity: 1 - s.drop / (s.height + 24)
transform: Translate { x: s.shake; y: s.drop - s.bob }