...
 
Commits (2)
/******************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
......@@ -18,17 +20,16 @@
** $QT_END_LICENSE$
**
******************************************************************************/
import QtQuick 2.12
import QtQuick.Window 2.12
Item {
enum AppId {
Tools = 0,
Compass = 1,
SportApp = 2,
YourHealth = 3,
Settings = 4
Tools = 0,
Compass = 1,
SportApp = 2,
YourHealth = 3,
Settings = 4
}
id: root
......@@ -43,10 +44,10 @@ Item {
Column {
id: listContainer
height: parent.height
width: parent.width - 50
width: parent.width - 40
anchors.left: parent.left
anchors.leftMargin: 50
spacing: 5
anchors.leftMargin: 35
spacing: 3
ApplicationListEntry {
id: tools
......
......@@ -36,11 +36,11 @@ ApplicationList {
readonly property int defaultIndex: -2
readonly property int introDuration: 200
readonly property int entryHeight: 90
readonly property int entrySpacing: 5
readonly property int entryHeight: 72
readonly property int entrySpacing: 3
readonly property int animationDuration: 100
readonly property real yMax: ((height / 2) - (entryHeight / 2))
readonly property real yMin: (-listContainerImplicitHeight + (entryHeight / 2) + (height / 2))
readonly property real yMin: (-listContainerImplicitHeight + (entryHeight / 2) + (root.height / 2))
SequentialAnimation {
id: intro
......
/******************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
......@@ -18,7 +20,6 @@
** $QT_END_LICENSE$
**
******************************************************************************/
import QtQuick 2.12
Item {
......@@ -27,18 +28,20 @@ Item {
property string name: "Compass"
property real maxTextAlpha: 255
property real minTextAlpha: 178
property real otherOp: 0.1;
property real otherOp: 0.1
id: root
width: 90
height: 90
width: 260
height: 72
state: "default"
Image {
id: entryImage
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
width: ((root.state === "selected") ? 72 : 60)
height: ((root.state === "selected") ? 72 : 60)
}
Text {
......@@ -46,12 +49,12 @@ Item {
property int alpha: 0
anchors.left: entryImage.right
anchors.leftMargin: 25
anchors.leftMargin: 18
anchors.verticalCenter: parent.verticalCenter
text: root.name
font.pixelSize: 34
font.pixelSize: 28
font.family: Theme.fontFamily
color: Qt.rgba(255, 255, 255, alpha/maxTextAlpha);
color: Qt.rgba(255, 255, 255, alpha / maxTextAlpha)
}
states: [
......@@ -64,7 +67,7 @@ Item {
PropertyChanges {
target: entryImage
source: root.img
anchors.leftMargin: 18
anchors.leftMargin: 15
}
PropertyChanges {
target: root
......@@ -80,13 +83,12 @@ Item {
PropertyChanges {
target: entryImage
source: root.imgBig
anchors.leftMargin: 8
anchors.leftMargin: 7
}
PropertyChanges {
target: root
opacity: 1.0
}
}
]
}
......@@ -51,6 +51,8 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/middleback.png"
opacity: startOpacity
width: 200
height: 200
}
Image {
......@@ -58,6 +60,8 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/ring1.png"
opacity: startOpacity
width: 215
height: 215
}
Image {
......@@ -65,6 +69,8 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/ring2.png"
opacity: startOpacity
width: 290
height: 290
}
Item {
......@@ -75,6 +81,8 @@ Rectangle {
id: north
source: "images/compass/N.png"
opacity: startOpacity
width: 40
height: 40
property real angle: (offset - currentDegree) * radianRatio
property real radius: (root.height / 2) - (height / 2)
......@@ -86,6 +94,8 @@ Rectangle {
id: west
source: "images/compass/W.png"
opacity: startOpacity
width: 40
height: 40
property real angle: ((360 / directionsCount) + offset - currentDegree) * radianRatio
property real radius: (root.height / 2) - (height / 2)
......@@ -97,6 +107,8 @@ Rectangle {
id: south
source: "images/compass/S.png"
opacity: startOpacity
width: 40
height: 40
property real angle: ((360 / directionsCount) * 2 + offset
- currentDegree) * radianRatio
......@@ -109,6 +121,8 @@ Rectangle {
id: east
source: "images/compass/E.png"
opacity: startOpacity
width: 40
height: 40
property real angle: ((360 / directionsCount) * 3 + offset
- currentDegree) * radianRatio
......@@ -123,6 +137,7 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/arrows.png?rotated=true"
opacity: startOpacity
height: 215
transform: Rotation {
angle: currentDegree
......@@ -135,7 +150,7 @@ Rectangle {
anchors.centerIn: parent
id: degreeText
text: currentDegree
font.pixelSize: 86
font.pixelSize: 70
font.family: Theme.fontFamily
color: Theme.whiteColor
opacity: startOpacity
......
......@@ -39,6 +39,8 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/middleback.png"
opacity: startOpacity
width: 200
height: 200
}
Image {
......@@ -46,6 +48,8 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/ring1.png"
opacity: startOpacity
width: 215
height: 215
}
Image {
......@@ -53,13 +57,15 @@ Rectangle {
anchors.centerIn: parent
source: "images/compass/ring2.png"
opacity: startOpacity
width: 290
height: 290
}
Text {
anchors.centerIn: parent
id: dummyText
text: "Try Compass!"
font.pixelSize: 46
font.pixelSize: 38
font.family: Theme.fontFamily
color: Theme.whiteColor
opacity: startOpacity
......
......@@ -41,7 +41,7 @@ HealthWidget {
SequentialAnimation {
id: intro
NumberAnimation { target: root; property: "heartRateMargin"; to: 25; easing.type: Easing.InOutCubic; duration: introDurationLong }
NumberAnimation { target: root; property: "heartRateMargin"; to: 17; easing.type: Easing.InOutCubic; duration: introDurationLong }
NumberAnimation { target: root; property: "hLine1"; to: 0.3; easing.type: Easing.OutCubic; duration: linesIntroDuration }
NumberAnimation { target: root; property: "hLine2"; to: 0.5; easing.type: Easing.OutCubic; duration: linesIntroDuration }
NumberAnimation { target: root; property: "hLine3"; to: 0.6; easing.type: Easing.OutCubic; duration: linesIntroDuration }
......
......@@ -39,7 +39,7 @@ Item {
id: lineText
text: value
font.pixelSize: 14
font.pixelSize: 12
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.grayColor
......@@ -66,6 +66,9 @@ Item {
target: lineImg
source: root.verticalLine
anchors.centerIn: parent
//
height: 124
width: 2
}
PropertyChanges {
target: root;
......@@ -75,10 +78,10 @@ Item {
PropertyChanges {
target: lineText
anchors.top: lineImg.bottom
anchors.topMargin: 10
anchors.topMargin: 8
anchors.horizontalCenter: lineImg.horizontalCenter
text: root.value
font.pixelSize: 14;
font.pixelSize: 12;
}
},
State {
......@@ -87,6 +90,9 @@ Item {
PropertyChanges {
target: lineImg
source: root.horizontalLine
//
width: 270
height: 2
}
PropertyChanges {
target: root
......@@ -96,10 +102,10 @@ Item {
PropertyChanges {
target: lineText
anchors.left: lineImg.right
anchors.leftMargin: 10
anchors.leftMargin: 8
anchors.verticalCenter: lineImg.verticalCenter
text: root.value
font.pixelSize: 17
font.pixelSize: 15
}
}
......
......@@ -83,7 +83,7 @@ Rectangle {
id: heartRate
text: HealthModel.heartRate
font.pixelSize: 61
font.pixelSize: 45
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.whiteColor
......@@ -93,7 +93,7 @@ Rectangle {
id: horizontalLines
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
spacing: 30
spacing: 24
HealthGraphLine {
id: stHLine
......@@ -130,9 +130,9 @@ Rectangle {
Row {
id: verticalLines
anchors.left: parent.left
anchors.leftMargin: 60
anchors.leftMargin: 48
anchors.bottom: horizontalLines.bottom
spacing: 70
spacing: 56
HealthGraphLine {
id: stVLine
......@@ -173,6 +173,8 @@ Rectangle {
anchors.left: horizontalLines.left
Image {
id: graph
width: 260
height: 112
source: "images/health/graph.png"
}
}
......@@ -181,9 +183,9 @@ Rectangle {
id: graphPoint
source: "images/health/graph-point.png"
anchors.bottom: graphMask.bottom
anchors.bottomMargin: 50
anchors.bottomMargin: 41
anchors.right: graphMask.right
anchors.rightMargin: 7
anchors.rightMargin: 4
opacity: startOp
}
......@@ -195,12 +197,12 @@ Rectangle {
anchors.top: horizontalLines.bottom
anchors.topMargin: 40
anchors.left: parent.left
anchors.leftMargin: 120
anchors.leftMargin: 100
opacity: startOp
id: minHeader
text: "MIN"
font.pixelSize: 14
font.pixelSize: 12
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.grayColor
......@@ -212,7 +214,7 @@ Rectangle {
opacity: minHeader.opacity
text: HealthModel.minHeartRate
font.pixelSize: 30
font.pixelSize: 24
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.whiteColor
......@@ -226,12 +228,12 @@ Rectangle {
anchors.top: horizontalLines.bottom
anchors.topMargin: 40
anchors.right: parent.right
anchors.rightMargin: 120
anchors.rightMargin: 100
opacity: startOp
id: maxHeader
text: "MAX"
font.pixelSize: 14
font.pixelSize: 12
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.grayColor
......@@ -243,7 +245,7 @@ Rectangle {
opacity: maxHeader.opacity
text: HealthModel.maxHeartRate
font.pixelSize: 30
font.pixelSize: 24
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.whiteColor
......@@ -313,7 +315,7 @@ Rectangle {
name: "running"
PropertyChanges {
target: heartRate
margin: 25
margin: 17
}
PropertyChanges {
target: graphMask
......
......@@ -26,8 +26,8 @@ import QtQuick 2.12
QtObject {
id: theme
readonly property int appWidth: 390
readonly property int appHeight: 390
readonly property int appWidth: 320
readonly property int appHeight: 320
readonly property string fontFamily: "Montserrat"
readonly property color whiteColor: "#ffffff";
readonly property color grayColor: "#D8D8D8";
......
......@@ -68,25 +68,6 @@ MouseArea {
oldDeltaY = deltaY;
}
// onPressed: {
// pressedX = mouseX
// pressedY = mouseY
// }
// onReleased: {
// if (isDeltaZero()) {
// touchDown(pressedX, pressedY)
// }
// else {
// touchEnd()
// }
// reset()
// }
// onCanceled: {
// reset()
// }
onPressedChanged: {
if (pressed) {
pressedX = mouseX
......@@ -94,10 +75,6 @@ MouseArea {
return
}
/*
* We have to detect click events manually
* QUL has currently problems with handling nested lists
*/
if (isDeltaZero()) {
touchDown(pressedX, pressedY)
}
......
/******************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
......@@ -18,7 +20,6 @@
** $QT_END_LICENSE$
**
******************************************************************************/
import QtQuick 2.12
Item {
......@@ -53,8 +54,11 @@ Item {
anchors.centerIn: parent
source: "images/shield/dots-all.png"
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
/*
* Health content
*/
......@@ -63,26 +67,32 @@ Item {
source: "images/shield/small-oval-alt.png"
anchors.centerIn: parent
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
id: batteryLevel
source: "images/shield/battery.png"
anchors.bottom: stripesBackground.bottom
anchors.bottomMargin: root.stripesBottomMargin
anchors.bottomMargin: root.stripesBottomMargin - 7
anchors.left: stripesBackground.left
anchors.leftMargin: root.stripesSideMargin
anchors.leftMargin: root.stripesSideMargin - 1
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
id: stepsLevel
source: "images/shield/steps.png"
anchors.bottom: stripesBackground.bottom
anchors.bottomMargin: root.stripesBottomMargin
anchors.bottomMargin: root.stripesBottomMargin - 7
anchors.right: stripesBackground.right
anchors.rightMargin: root.stripesSideMargin
anchors.rightMargin: root.stripesSideMargin - 1
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
......@@ -92,6 +102,8 @@ Item {
anchors.left: stripesBackground.left
anchors.leftMargin: root.stripesIconsMargin
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
......@@ -101,12 +113,14 @@ Item {
anchors.right: stripesBackground.right
anchors.rightMargin: root.stripesIconsMargin
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Row {
id: heartBeat
opacity: startOp
spacing: 10
spacing: 7
anchors.top: parent.top
anchors.topMargin: parent.height / 4
anchors.horizontalCenter: parent.horizontalCenter
......@@ -114,19 +128,22 @@ Item {
Image {
anchors.verticalCenter: parent.verticalCenter
source: "images/shield/heart.png"
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Text {
anchors.verticalCenter: parent.verticalCenter
text: HealthModel.heartRate
font.pixelSize: 34
font.pixelSize: 28
font.family: Theme.fontFamily
font.weight: Font.Light
color: Theme.whiteColor
}
}
/*
* Watch arrows
*/
......@@ -143,6 +160,8 @@ Item {
origin.x: minuteArrow.width / 2
origin.y: minuteArrow.height - needleOffset
}
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
......@@ -158,6 +177,8 @@ Item {
origin.x: hourArrow.width / 2
origin.y: hourArrow.height - needleOffset
}
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
......@@ -174,6 +195,8 @@ Item {
origin.x: secondArrow.width / 2
origin.y: secondArrow.height - secondNeedleOffset
}
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
Image {
......@@ -181,8 +204,11 @@ Item {
source: "images/shield/hands-middle-dot.png"
anchors.centerIn: parent
opacity: startOp
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
/*
* Calendar text
*/
......@@ -190,13 +216,13 @@ Item {
id: calendar
opacity: startOp
anchors.bottom: parent.bottom
anchors.bottomMargin: parent.height / 4
anchors.bottomMargin: parent.height / 4.5
anchors.horizontalCenter: parent.horizontalCenter
Text {
anchors.horizontalCenter: parent.horizontalCenter
text: WatchModel.dayOfWeek
font.pixelSize: 26
font.pixelSize: 20
font.family: Theme.fontFamily
font.weight: Font.Light
color: Theme.whiteColor
......@@ -205,7 +231,7 @@ Item {
Text {
anchors.horizontalCenter: parent.horizontalCenter
text: WatchModel.date
font.pixelSize: 26
font.pixelSize: 20
font.family: Theme.fontFamily
font.weight: Font.Light
color: Theme.whiteColor
......@@ -215,29 +241,89 @@ Item {
states: [
State {
name: "default"
PropertyChanges { target: watchIndicators; opacity: startOp }
PropertyChanges { target: secondArrow; opacity: startOp }
PropertyChanges { target: stripesBackground; opacity: startOp }
PropertyChanges { target: batteryIcon; opacity: startOp }
PropertyChanges { target: stepsIcon; opacity: startOp }
PropertyChanges { target: batteryLevel; opacity: startOp }
PropertyChanges { target: stepsLevel; opacity: startOp }
PropertyChanges { target: heartBeat; opacity: startOp }
PropertyChanges { target: calendar; opacity: startOp }
PropertyChanges { target: centerDot; opacity: startOp }
PropertyChanges {
target: watchIndicators
opacity: startOp
}
PropertyChanges {
target: secondArrow
opacity: startOp
}
PropertyChanges {
target: stripesBackground
opacity: startOp
}
PropertyChanges {
target: batteryIcon
opacity: startOp
}
PropertyChanges {
target: stepsIcon
opacity: startOp
}
PropertyChanges {
target: batteryLevel
opacity: startOp
}
PropertyChanges {
target: stepsLevel
opacity: startOp
}
PropertyChanges {
target: heartBeat
opacity: startOp
}
PropertyChanges {
target: calendar
opacity: startOp
}
PropertyChanges {
target: centerDot
opacity: startOp
}
},
State {
name: "running"
PropertyChanges { target: watchIndicators; opacity: 1.0 }
PropertyChanges { target: secondArrow; opacity: 1.0 }
PropertyChanges { target: stripesBackground; opacity: 1.0 }
PropertyChanges { target: batteryIcon; opacity: 1.0 }
PropertyChanges { target: stepsIcon; opacity: 1.0 }
PropertyChanges { target: batteryLevel; opacity: 1.0 }
PropertyChanges { target: stepsLevel; opacity: 1.0 }
PropertyChanges { target: heartBeat; opacity: 1.0 }
PropertyChanges { target: calendar; opacity: 1.0 }
PropertyChanges { target: centerDot; opacity: 1.0 }
PropertyChanges {
target: watchIndicators
opacity: 1.0
}
PropertyChanges {
target: secondArrow
opacity: 1.0
}
PropertyChanges {
target: stripesBackground
opacity: 1.0
}
PropertyChanges {
target: batteryIcon
opacity: 1.0
}
PropertyChanges {
target: stepsIcon
opacity: 1.0
}
PropertyChanges {
target: batteryLevel
opacity: 1.0
}
PropertyChanges {
target: stepsLevel
opacity: 1.0
}
PropertyChanges {
target: heartBeat
opacity: 1.0
}
PropertyChanges {
target: calendar
opacity: 1.0
}
PropertyChanges {
target: centerDot
opacity: 1.0
}
}
]
}
......@@ -37,7 +37,7 @@ WeatherWidget {
id: intro
ParallelAnimation {
NumberAnimation { target: root; property: "currentWeatherMargin"; to: 30; easing.type: Easing.InOutCubic; duration: introDurationLong }
NumberAnimation { target: root; property: "currentWeatherMargin"; to: 15; easing.type: Easing.InOutCubic; duration: introDurationLong }
NumberAnimation { target: root; property: "weatherCityOpacity"; to: 1.0; easing.type: Easing.OutCubic; duration: introDurationLong }
}
NumberAnimation { target: root; property: "bottomMaskOpasity"; to: 1.0; easing.type: Easing.OutCubic; duration: introDurationLong }
......@@ -53,7 +53,7 @@ WeatherWidget {
ParallelAnimation {
NumberAnimation { target: root; property: "weatherDescriptionOpacity"; to: 1.0; easing.type: Easing.OutCubic; duration: introDurationLong }
NumberAnimation { target: root; property: "weatherDescriptionMargin"; to: 30; easing.type: Easing.OutCubic; duration: introDurationLong }
NumberAnimation { target: root; property: "weatherDescriptionMargin"; to: 15; easing.type: Easing.OutCubic; duration: introDurationLong }
}
PropertyAction { target: root; property: "state"; value: "running" }
}
......
/******************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
......@@ -18,27 +20,26 @@
** $QT_END_LICENSE$
**
******************************************************************************/
import QtQuick 2.12
Item {
property string day: "TUE";
property string weatherImg: "images/weather/ion-ios-partlysunny-outline.png";
property string temperature: "21°C";
property bool hasSeparator: false;
property string day: "TUE"
property string weatherImg: "images/weather/ion-ios-partlysunny-outline.png"
property string temperature: "21°C"
property bool hasSeparator: false
id: root
width: 90
height: 90
width: 75
height: 75
Text {
id: dayLabel
anchors.left: temperatureLabel.left
anchors.top: parent.top
anchors.topMargin: root.opacity * 20
anchors.topMargin: root.opacity * 15
text: root.day
font.pixelSize: 14
font.pixelSize: 12
font.family: Theme.fontFamily
color: Theme.whiteColor
}
......@@ -49,16 +50,18 @@ Item {
anchors.horizontalCenter: parent.horizontalCenter
text: root.temperature
font.pixelSize: 30
font.pixelSize: 25
font.family: Theme.fontFamily
color: Theme.whiteColor
}
Image {
anchors.topMargin: 30 - height / 2
anchors.topMargin: 20 - height / 2
anchors.top: temperatureLabel.bottom
anchors.horizontalCenter: temperatureLabel.horizontalCenter
source: root.weatherImg
width: sourceSize.width * 0.75
height: sourceSize.height * 0.75
}
Image {
......
/******************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
......@@ -18,7 +20,6 @@
** $QT_END_LICENSE$
**
******************************************************************************/
import QtQuick 2.12
Item {
......@@ -29,20 +30,21 @@ Item {
readonly property real startOp: 0.0
readonly property real startForecastMargin: 40
readonly property real startDescriptionMargin: 10
readonly property real startDescriptionMargin: 8
readonly property real startTopMargin: ((height / 2) - (currentWeather.height / 2))
property alias currentWeatherMargin: currentWeather.margin
property alias weatherCityOpacity: weatherCity.opacity
property alias bottomMaskOpasity: bottomMask.opacity
property alias tueOpacity: tueForecast.opacity;
property alias wedOpacity: wedForecast.opacity;
property alias thuOpacity: thuForecast.opacity;
property alias tueOpacity: tueForecast.opacity
property alias wedOpacity: wedForecast.opacity
property alias thuOpacity: thuForecast.opacity
property alias weatherDescriptionOpacity: weatherDescription.opacity
property alias weatherDescriptionMargin: weatherDescription.bottomMar
/*
* Current weather
* Current weather
*/
Column {
id: currentWeather
......@@ -55,22 +57,24 @@ Item {
Text {
text: "18°"
font.pixelSize: 61
font.pixelSize: 50
font.family: Theme.fontFamily
font.weight: Font.Medium
color: Theme.whiteColor
padding: 0.0
}
Text {
id: weatherCity
opacity: 0.0
text: "BERLIN"
font.pixelSize: 20
font.pixelSize: 17
font.family: Theme.fontFamily
color: Theme.whiteColor
}
}
/*
* Weather big icon
*/
......@@ -80,8 +84,11 @@ Item {
anchors.right: currentWeather.left
anchors.rightMargin: 10
source: "images/weather/big-sun.png"
width: sourceSize.width * 0.82
height: sourceSize.height * 0.82
}
/*
* Weather description
*/
......@@ -101,7 +108,8 @@ Item {
Text {
text: "Rain in 4 hours (17:00)"
font.pixelSize: 25
font.pixelSize: 21
font.family: Theme.fontFamily
color: Theme.whiteColor
}
......@@ -109,12 +117,15 @@ Item {
Image {
id: bottomMask
width: 320
height: 136
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
source: "images/weather/w-bottom-mask.png"
opacity: startOp
}
/*
* Bottom weather forecast
*/
......@@ -127,7 +138,7 @@ Item {
WeatherForecastDay {
id: tueForecast
day: "TUE"
weatherImg: "images/weather/ion-ios-partlysunny-outline.png";
weatherImg: "images/weather/ion-ios-partlysunny-outline.png"
temperature: "21°C"
hasSeparator: true
opacity: tueOpacity
......@@ -136,7 +147,7 @@ Item {
WeatherForecastDay {
id: wedForecast
day: "WED"
weatherImg: "images/weather/ion-ios-rainy-outline.png";
weatherImg: "images/weather/ion-ios-rainy-outline.png"
temperature: "19°C"
hasSeparator: true
opacity: wedOpacity
......@@ -145,7 +156,7 @@ Item {
WeatherForecastDay {
id: thuForecast
day: "THU"
weatherImg: "images/weather/ion-ios-sunny-outline.png";
weatherImg: "images/weather/ion-ios-sunny-outline.png"
temperature: "23°C"
hasSeparator: false
opacity: thuOpacity
......@@ -155,25 +166,73 @@ Item {
states: [
State {
name: "default"
PropertyChanges { target: currentWeather; margin: startTopMargin }
PropertyChanges { target: weatherCity; opacity: startOp }
PropertyChanges { target: bottomMask; opacity: startOp }
PropertyChanges { target: weatherDescription; opacity: startOp }
PropertyChanges { target: weatherDescription; bottomMar: startForecastMargin }
PropertyChanges { target: tueForecast; opacity: startOp }
PropertyChanges { target: wedForecast; opacity: startOp }
PropertyChanges { target: thuForecast; opacity: startOp }
PropertyChanges {
target: currentWeather
margin: startTopMargin
}
PropertyChanges {
target: weatherCity
opacity: startOp
}
PropertyChanges {
target: bottomMask
opacity: startOp
}
PropertyChanges {
target: weatherDescription
opacity: startOp
}
PropertyChanges {
target: weatherDescription
bottomMar: startForecastMargin
}
PropertyChanges {
target: tueForecast
opacity: startOp
}
PropertyChanges {
target: wedForecast
opacity: startOp
}
PropertyChanges {
target: thuForecast
opacity: startOp
}
},
State {
name: "running"
PropertyChanges { target: currentWeather; margin: 30.0 }
PropertyChanges { target: weatherCity; opacity: 1.0 }
PropertyChanges { target: bottomMask; opacity: 1.0 }
PropertyChanges { target: weatherDescription; opacity: 1.0 }
PropertyChanges { target: weatherDescription; bottomMar: 30.0 }
PropertyChanges { target: tueForecast; opacity: 1.0 }
PropertyChanges { target: wedForecast; opacity: 1.0 }
PropertyChanges { target: thuForecast; opacity: 1.0 }
PropertyChanges {
target: currentWeather
margin: 15.0
}
PropertyChanges {
target: weatherCity
opacity: 1.0
}
PropertyChanges {
target: bottomMask
opacity: 1.0
}
PropertyChanges {
target: weatherDescription
opacity: 1.0
}
PropertyChanges {
target: weatherDescription
bottomMar: 15.0
}
PropertyChanges {
target: tueForecast
opacity: 1.0
}
PropertyChanges {
target: wedForecast
opacity: 1.0
}
PropertyChanges {
target: thuForecast
opacity: 1.0
}
}
]
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtDesignStudio 1.3.0, 2019-10-29T15:42:25. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{aeb10ad3-d74a-4da5-9b82-f7a378bf5e0a}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{8994bd34-5ed9-4c45-8c0a-94c8f33eca4a}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">-1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="PE.EnvironmentAspect.Base">0</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
<value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
<value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>