import QtQuick 2.0 import Sailfish.Silica 1.0 import "../components" Page { id: journeyInfoPage property string title: "Journey info" property var start: new Date() property int duration: 0 property int overtook: -1 property int overtakenby: -1 property int index: -1 property real shortlineRatio: 0.6 property real shortlineMin: Theme.fontSizeSmall * 10 property real shortlineMax: width property real widelineRatio: 0.6 property real widelineMin: Theme.fontSizeSmall * 10 property real widelineMax: width onDurationChanged: { var structured = new Date(0, 0, 0, 0, parseInt(duration / 60)) durationTime.value = Qt.formatTime(structured, 'hh:mm') endTime.time = new Date(0, 0, 0, start.getHours() + structured.getHours(), start.getMinutes() + structured.getMinutes()) } onStartChanged: { startDate.value = Qt.formatDate(start, 'd MMM yyyy') startTime.value = Qt.formatTime(start, 'hh:mm') var structured = new Date(0, 0, 0, 0, parseInt(duration / 60)) endTime.time = new Date(0, 0, 0, start.getHours() + structured.getHours(), start.getMinutes() + structured.getMinutes()) } // The effective value will be restricted by ApplicationWindow.allowedOrientations allowedOrientations: Orientation.All SilicaFlickable { id: journeyEditView anchors.fill: parent contentHeight: journeyEditColumn.implicitHeight + headerItem.height VerticalScrollDecorator {} PageHeader { id: headerItem title: journeyInfoPage.title } Column { id: journeyEditColumn spacing: Theme.paddingLarge width: isPortrait ? parent.width : parent.width * 0.5 y: headerItem.height InfoRow { id: startDate label: "Date" value: Qt.formatDate(start, 'd MMM yyyy') width: parent.width labelTextBold: true midlineRatio: shortlineRatio midlineMin: shortlineMin midlineMax: shortlineMax horizontalAlignment: Text.AlignRight } InfoRow { id: startTime label: qsTr("Start time") value: Qt.formatTime(start, 'hh:mm') width: parent.width labelTextBold: true midlineRatio: shortlineRatio midlineMin: shortlineMin midlineMax: shortlineMax horizontalAlignment: Text.AlignRight } InfoRow { id: endTime property date time: new Date() label: qsTr("End time") value: Qt.formatTime(time, 'hh:mm') width: parent.width enabled: false onTimeChanged: { value = Qt.formatTime(time, 'hh:mm') } labelTextBold: true midlineRatio: shortlineRatio midlineMin: shortlineMin midlineMax: shortlineMax horizontalAlignment: Text.AlignRight } InfoRow { id: durationTime label: qsTr("Duration") value: Qt.formatTime(new Date(0, 0, 0, 0, parseInt(duration / 60)), 'hh:mm') width: parent.width enabled: false labelTextBold: true midlineRatio: shortlineRatio midlineMin: shortlineMin midlineMax: shortlineMax horizontalAlignment: Text.AlignRight } InfoRow { id: faster width: parent.width label: qsTr("Cycles which you overtook") value: "" + overtook labelTextBold: true midlineRatio: widelineRatio midlineMin: widelineMin midlineMax: widelineMax horizontalAlignment: Text.AlignRight } InfoRow { id: slower width: parent.width label: qsTr("Cycles which overtook you") value: "" + overtakenby labelTextBold: true midlineRatio: widelineRatio midlineMin: widelineMin midlineMax: widelineMax horizontalAlignment: Text.AlignRight } } } }