import QtQuick 2.9 import QtMultimedia 5.8 import QtQuick.Window 2.2 import QtQuick.Controls 2.2 import QtQuick.Layouts 1.3 import QtGraphicalEffects 1.0 import QtQuick.Controls.Styles 1.4 import com.itsblue.speedclimbingstopwatch 2.0 import "../components" Column { id: control spacing: parentObj.rowSpacing property string title: "autostart" property var parentObj function updateSetting(key, val, del){ del.busy = true speedBackend.writeSetting(key, val) del.busy = false } function loadSetting(key, del){ return speedBackend.readSetting(key) } SmoothSwitchDelegate { id: ready_del property bool busy: false width: parent.width height: parentObj.delegateHeight enabled: !busy text: qsTr("say 'ready'") checked: parent.loadSetting("ReadySoundEnable", ready_del) === "true" onCheckedChanged: { parent.updateSetting("ReadySoundEnable", checked, ready_del) } } InputDelegate { id: ready_delay_del property bool busy: false width: parent.width height: parentObj.delegateHeight enabled: !busy && ready_del.checked text: qsTr("delay (ms)") inputHint: qsTr("time") inputMethodHints: Qt.ImhFormattedNumbersOnly inputText: control.loadSetting("ReadySoundDelay", ready_delay_del) onInputFinished: { control.updateSetting("ReadySoundDelay", inputText, ready_delay_del) } } SmoothSwitchDelegate { id: at_marks_del property bool busy: false width: parent.width height: parentObj.delegateHeight enabled: !busy text: qsTr("say 'at your marks'") checked: control.loadSetting("AtYourMarksSoundEnable", ready_del) === "true" onCheckedChanged: { parent.updateSetting("AtYourMarksSoundEnable", at_marks_del.checked, at_marks_del) } } InputDelegate { id: at_marks_delay_del property bool busy: false width: parent.width height: parentObj.delegateHeight text: qsTr("delay (ms)") inputHint: qsTr("time") inputMethodHints: Qt.ImhFormattedNumbersOnly enabled: !busy && at_marks_del.checked inputText: control.loadSetting("AtYourMarksSoundDelay", at_marks_delay_del) onInputFinished: { control.updateSetting("AtYourMarksSoundDelay", inputText, at_marks_delay_del) } } }