harbour-boxing-timer/qml/pages/js/helpers.js

89 lines
2.3 KiB
JavaScript

function pushPresetListPage() {
if (settings.presetsList().length > 0) {
pageStack.pushAttached(Qt.resolvedUrl("../PresetList.qml"))
}
}
function playPauseTimer() {
if (boxingTimer.isActive) {
boxingTimer.status = BoxingTimer.Pause
} else {
boxingTimer.restore()
}
}
function addSliderForInnerTime() {
var newArray = settingsPage.mListOfInnerTimers
newArray.push(5)
settingsPage.mListOfInnerTimers = newArray
}
function removeLastSliderFromInnerTimers() {
var newArray = settingsPage.mListOfInnerTimers
var slider = newArray.pop()
slider.destroy()
settingsPage.mListOfInnerTimers = newArray
}
function getListOfInnerTimers() {
var list = []
var timers = settingsPage.mListOfInnerTimers.length
for (var i = 0; i < timers; i++) {
list.push(settingsPage.mListOfInnerTimers[i].value)
}
return list;
}
function generateSlidersForInnerTimers() {
for (var i = 0; i < settingsColumn.children.length; i++) {
if (settingsColumn.children[i].objectName === 'innerSlider') {
settingsColumn.children[i].destroy()
}
}
var value = 5
var remainingTimeForInner = settingsPage.mRoundMs
var numberOfInnerTimers = settingsPage.mListOfInnerTimers.length
var newArray = []
for (i = 0; i < numberOfInnerTimers; i++) {
value = settings.getInnerTimer(i)
if (value === undefined) {
value = 5
}
remainingTimeForInner -= settings.getInnerTimer(i)
var newSlider = Qt.createQmlObject(
"import QtQuick 2.2;" +
"import Sailfish.Silica 1.0;" +
"import 'converter.js' as Converter;" +
"Slider {" +
"objectName: 'innerSlider';" +
"width: parent.width;" +
"minimumValue: Converter.sToMs(5);" +
"maximumValue: "+ remainingTimeForInner +";" +
"stepSize: Converter.sToMs(5);" +
"value: "+ value +";" +
"valueText: Converter.msToTime(value);" +
"label: qsTr('"+ (i + 1) +"° inner time');" +
"}",
settingsColumn,
"dynamicInnerTimerSlider"
);
newArray.push(newSlider);
}
settingsPage.mListOfInnerTimers = newArray;
}