harbour-boxing-timer/qml/pages/PresetList.qml

87 lines
2.2 KiB
QML

import QtQuick 2.2
import Sailfish.Silica 1.0
import "js/helpers.js" as Helper
Page {
onStatusChanged: {
if (status === PageStatus.Activating) {
var list = settings.presetsList()
for(var key in list) {
listModel.append({ name: list[key] });
}
}
}
Column {
PageHeader { title: qsTr("Saved presets") }
width: parent.width; height: parent.height
spacing: Theme.paddingLarge
SilicaListView {
id: presetsList
width: parent.width; height: parent.height
VerticalScrollDecorator { flickable: presetsList }
model: listModel
delegate: ListItem {
id: listItem
width: parent.width
ListView.onRemove: animateRemoval(listItem)
function remove() {
remorseAction(qsTr("Deleting"), function() {
settings.deletePreset(presetsList.model.get(index).name)
if (settings.presetsList().length < 1) {
pageStack.popAttached()
} else {
presetsList.model.remove(index)
}
})
}
onClicked: {
settings.preset = presetsList.model.get(index).name
pageStack.pop(firstPage)
}
menu: ContextMenu {
MenuItem {
text: qsTr("Delete")
onClicked: remove()
}
}
Label {
text: name
color: highlighted ?
Theme.highlightColor :
Theme.primaryColor
anchors {
left: parent.left
right: parent.right
verticalCenter: parent.verticalCenter
margins: Theme.paddingLarge
}
}
}
ListModel {
id: listModel
}
}
}
}