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 "../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("ready_en", ready_del) === "true" onCheckedChanged: { parent.updateSetting("ready_en", 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("ready_delay", ready_delay_del) onInputFinished: { control.updateSetting("ready_delay", 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("at_marks_en", ready_del) === "true" onCheckedChanged: { parent.updateSetting("at_marks_en",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("at_marks_delay", at_marks_delay_del) onInputFinished: { control.updateSetting("at_marks_delay", inputText, at_marks_delay_del) } } }