qtdeclarative/examples/quickcontrols/wearable/Wearable/DemoMode.qml

175 lines
7.3 KiB
QML

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick.Controls
import WearableSettings
Item {
id: demoItem
required property StackView stackView
SequentialAnimation {
id: demoModeAnimation
loops: 2 //darkMode and lightMode
running: WearableSettings.demoMode
// Go back to the launcher page.
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the world clock page.
ScriptAction { script: demoItem.stackView.currentItem.currentIndex = 0 }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("World Clock"), "WorldClockPage.qml", "") }
PauseAnimation { duration: 2000 }
// Swipe across a few times.
SequentialAnimation {
loops: 6
ScriptAction { script: demoItem.stackView.currentItem.children[0].incrementCurrentIndex() }
PauseAnimation { duration: 2500 }
}
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the navigation page.
ScriptAction { script: demoItem.stackView.currentItem.incrementCurrentIndex() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("Navigation"), "NavigationPage.qml", "NavigationFallbackPage.qml") }
PauseAnimation { duration: 2000 }
// Scroll through the route.
SequentialAnimation {
loops: 23
ScriptAction { script: demoItem.stackView.currentItem.incrementPoint() }
PauseAnimation { duration: 2000 }
}
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the weather page.
ScriptAction { script: demoItem.stackView.currentItem.incrementCurrentIndex() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("Weather"), "WeatherPage.qml", "") }
PauseAnimation { duration: 2000 }
// Flick down..
SequentialAnimation {
loops: 3
ScriptAction { script: demoItem.stackView.currentItem.children[0].flick(0, - 800) }
PauseAnimation { duration: 2000 }
}
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the fitness page.
ScriptAction { script: demoItem.stackView.currentItem.incrementCurrentIndex() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("Fitness"), "FitnessPage.qml", "") }
PauseAnimation { duration: 2000 }
// Swipe across once.
SequentialAnimation {
loops: 1
ScriptAction { script: demoItem.stackView.currentItem.children[0].incrementCurrentIndex() }
PauseAnimation { duration: 2000 }
}
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the notifications page.
ScriptAction { script: demoItem.stackView.currentItem.incrementCurrentIndex() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("Notifications"), "NotificationsPage.qml", "") }
PauseAnimation { duration: 2000 }
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the alarms page.
ScriptAction { script: demoItem.stackView.currentItem.incrementCurrentIndex() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("Alarm"), "AlarmsPage.qml", "") }
PauseAnimation { duration: 2000 }
// Toggle the switch.
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(0).onSwitch.toggle() }
PauseAnimation { duration: 500 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(1).onSwitch.toggle() }
PauseAnimation { duration: 2000 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(0).hourTumbler.currentIndex = 8 }
PauseAnimation { duration: 200 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(0).minuteTumbler.currentIndex = 15 }
PauseAnimation { duration: 300 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(1).hourTumbler.currentIndex = 9 }
PauseAnimation { duration: 200 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(1).minuteTumbler.currentIndex = 45 }
PauseAnimation { duration: 2000 }
ScriptAction { script: demoItem.stackView.currentItem.addAlarm() }
PauseAnimation { duration: 2000 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(2).onSwitch.toggle() }
PauseAnimation { duration: 100 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(0).onSwitch.toggle() }
PauseAnimation { duration: 100 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(1).onSwitch.toggle() }
PauseAnimation { duration: 2000 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(2).hourTumbler.currentIndex = 10 }
PauseAnimation { duration: 200 }
ScriptAction { script: demoItem.stackView.currentItem.alarmList.itemAtIndex(2).minuteTumbler.currentIndex = 30 }
PauseAnimation { duration: 2000 }
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
PauseAnimation { duration: 2000 }
// Open the settings page.
ScriptAction { script: demoItem.stackView.currentItem.incrementCurrentIndex() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.launched(qsTr("Settings"), "SettingsPage.qml", "") }
PauseAnimation { duration: 3000 }
// Toggle the switches.
ScriptAction { script: demoItem.stackView.currentItem.listView.brightnessItem.value = 80 }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.listView.bluetoothItem.toggle() }
PauseAnimation { duration: 1000 }
ScriptAction { script: demoItem.stackView.currentItem.listView.wifiItem.toggle() }
PauseAnimation { duration: 1000 }
SequentialAnimation {
loops: 2
ScriptAction { script: demoItem.stackView.currentItem.children[0].flick(0, - 800) }
PauseAnimation { duration: 500 }
}
ScriptAction { script: demoItem.stackView.currentItem.listView.darkmodeItem.toggle() }
PauseAnimation { duration: 3000 }
// Go back to the launcher page.
ScriptAction { script: demoItem.stackView.pop(null) }
}
}