import QtQuick 2.0 import Sailfish.Silica 1.0 Page { id: page // The effective value will be restricted by ApplicationWindow.allowedOrientations allowedOrientations: Orientation.All property int columnwidth: page.width - 2 * Theme.horizontalPageMargin SilicaListView { id: listView model: journeymodel anchors.fill: parent header: PageHeader { title: qsTr("Journey list") } delegate: ListItem { id: delegate menu: journeyMenuComponent Row { spacing: Theme.paddingLarge x: Theme.horizontalPageMargin Label { width: columnwidth / 3.0 text: Qt.formatDate(journeymodel.epochToDate(start), "d MMM yyyy") color: delegate.highlighted ? Theme.highlightColor : Theme.primaryColor } Label { width: columnwidth / 3.0 text: Qt.formatTime(journeymodel.epochToTime(start), "hh:mm") color: delegate.highlighted ? Theme.highlightColor : Theme.primaryColor } Label { width: columnwidth / 3.0 text: Qt.formatTime(new Date(0, 0, 0, 0, 0, duration), 'hh:mm') color: delegate.highlighted ? Theme.highlightColor : Theme.primaryColor } } onClicked: pageStack.push(Qt.resolvedUrl("JourneyInfo.qml"), {title: "Journey info", index: index, start: journeymodel.epochToDateTime(start), duration: duration, overtook: overtook, overtakenby: overtakenby}) Component { id: journeyMenuComponent ContextMenu { MenuItem { text: qsTr("Edit") onClicked: pageStack.push(Qt.resolvedUrl("JourneyEdit.qml"), {title: "Edit journey", index: index, start: journeymodel.epochToDateTime(start), duration: duration, overtook: overtook, overtakenby: overtakenby}) } MenuItem { text: qsTr("Delete") onClicked: remove(index) } } } function remove(index) { remorseAction(qsTr("Deleting journey"), function() { onClicked: journeymodel.deleteJourney(index) }) } } VerticalScrollDecorator {} } }