C
Qt Quick Ultralite Thermostat Demo
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
import QtQuick 2.15
import ThermoConfiguration 1.0
import Thermo 1.0
Item {
id: root
opacity: 0.95
readonly property int transitionSlideX: Configuration.enableFadingAnimations ? 5 : 0
x: GlobalState.selectedIndex > GlobalState.previousSelectedIndex ? transitionSlideX : -transitionSlideX
Behavior on opacity {
enabled: Configuration.enableFadingAnimations
NumberAnimation {}
}
Behavior on x {
NumberAnimation {
onRunningChanged: {
if(!running) {
GlobalState.loadNext()
}
}
}
}
states: [
State {
id: selected
name: "selected"
when: GlobalState.selectedIndex == GlobalState.currentViewIndex
PropertyChanges { target: root; opacity: 1 }
PropertyChanges { target: root; x: 0 }
},
State {
id: notSelected
name: "notSelected"
when: GlobalState.selectedIndex != GlobalState.previousSelectedIndex
PropertyChanges { target: root; opacity: 0 }
PropertyChanges { target: root; x: GlobalState.selectedIndex > GlobalState.previousSelectedIndex ? -100 : 100 }
}
]
}