2023-02-18 14:30:06 +01:00
|
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
|
|
|
|
import QtQuick
|
|
|
|
import QtQuick.Controls
|
2023-03-09 10:19:58 +01:00
|
|
|
import QtQuick.Controls.Material
|
2023-02-18 14:30:06 +01:00
|
|
|
import QtQuick.Effects
|
|
|
|
import QtQuick.Particles
|
|
|
|
|
|
|
|
Item {
|
|
|
|
id: root
|
|
|
|
implicitWidth: 640
|
|
|
|
implicitHeight: 350
|
|
|
|
|
|
|
|
ListView {
|
|
|
|
id: clockview
|
|
|
|
anchors.fill: parent
|
|
|
|
orientation: ListView.Horizontal
|
|
|
|
cacheBuffer: 2000
|
|
|
|
snapMode: ListView.SnapOneItem
|
|
|
|
highlightRangeMode: ListView.ApplyRange
|
|
|
|
|
2023-06-11 10:07:39 +02:00
|
|
|
delegate: Clock {
|
|
|
|
city: cityName
|
|
|
|
shift: timeShift
|
|
|
|
}
|
2023-02-18 14:30:06 +01:00
|
|
|
model: ListModel {
|
2023-06-11 10:07:39 +02:00
|
|
|
ListElement {
|
|
|
|
cityName: "New York"
|
|
|
|
timeShift: -4
|
|
|
|
}
|
|
|
|
ListElement {
|
|
|
|
cityName: "London"
|
|
|
|
timeShift: 0
|
|
|
|
}
|
|
|
|
ListElement {
|
|
|
|
cityName: "Oslo"
|
|
|
|
timeShift: 1
|
|
|
|
}
|
|
|
|
ListElement {
|
|
|
|
cityName: "Mumbai"
|
|
|
|
timeShift: 5.5
|
|
|
|
}
|
|
|
|
ListElement {
|
|
|
|
cityName: "Tokyo"
|
|
|
|
timeShift: 9
|
|
|
|
}
|
|
|
|
ListElement {
|
|
|
|
cityName: "Brisbane"
|
|
|
|
timeShift: 10
|
|
|
|
}
|
|
|
|
ListElement {
|
|
|
|
cityName: "Los Angeles"
|
|
|
|
timeShift: -8
|
|
|
|
}
|
2023-02-18 14:30:06 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Image {
|
|
|
|
anchors.left: parent.left
|
|
|
|
anchors.bottom: parent.bottom
|
|
|
|
anchors.margins: 10
|
|
|
|
source: "arrow.png"
|
|
|
|
rotation: -90
|
|
|
|
opacity: clockview.atXBeginning ? 0 : 0.5
|
2023-10-22 17:29:06 +02:00
|
|
|
Behavior on opacity {
|
2023-06-11 10:07:39 +02:00
|
|
|
NumberAnimation {
|
|
|
|
duration: 500
|
|
|
|
}
|
|
|
|
}
|
2023-02-18 14:30:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
Image {
|
|
|
|
anchors.right: parent.right
|
|
|
|
anchors.bottom: parent.bottom
|
|
|
|
anchors.margins: 10
|
|
|
|
source: "arrow.png"
|
|
|
|
rotation: 90
|
|
|
|
opacity: clockview.atXEnd ? 0 : 0.5
|
2023-10-22 17:29:06 +02:00
|
|
|
Behavior on opacity {
|
2023-06-11 10:07:39 +02:00
|
|
|
NumberAnimation {
|
|
|
|
duration: 500
|
|
|
|
}
|
|
|
|
}
|
2023-02-18 14:30:06 +01:00
|
|
|
}
|
|
|
|
}
|