Files
OpenVR-AdvancedSettings-frame/src/res/qml/utilities_page/alarm_clock/AlarmGroupBox.qml
T
Vasily 76507bd602 Move common elements into /common/ and change imports
Elements work like they've always done, this just moves the commonly
used components away from the global namespace.

The qmldir file still does something, although at this point it is
unknown exactly how it's used and whether or not it could be changed to
simplify imports across the block.
2019-02-02 16:09:01 +01:00

183 lines
5.5 KiB
QML

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import matzman666.advsettings 1.0
import "../../common"
GroupBox {
id: alarmGroupBox
Layout.fillWidth: true
label: MyText {
leftPadding: 10
text: "Alarm Clock"
bottomPadding: -10
}
background: Rectangle {
color: "transparent"
border.color: "#ffffff"
radius: 8
}
ColumnLayout {
anchors.fill: parent
Rectangle {
color: "#ffffff"
height: 1
Layout.fillWidth: true
Layout.bottomMargin: 5
}
RowLayout {
MyToggleButton {
id: alarmClockToggle
text: ""
onCheckedChanged: {
UtilitiesTabController.setAlarmEnabled(checked, false)
}
}
Item {
Layout.fillWidth: true
}
MyTextField {
id: alarmClockHourText
text: "00"
keyBoardUID: 602
Layout.preferredWidth: 50
horizontalAlignment: Text.AlignHCenter
function onInputEvent(input) {
var val = parseInt(input)
if (!isNaN(val)) {
if (val < 0) {
val = 0
} else if (val > 23) {
val = 23
}
UtilitiesTabController.setAlarmTimeHour(val, false)
}
parent.parent.parent.setAlarmHourText(UtilitiesTabController.alarmTimeHour)
}
}
MyText {
text: ":"
}
MyTextField {
id: alarmClockMinuteText
text: "00"
keyBoardUID: 603
Layout.preferredWidth: 50
horizontalAlignment: Text.AlignHCenter
function onInputEvent(input) {
var val = parseInt(input)
if (!isNaN(val)) {
if (val < 0) {
val = 0
} else if (val > 59) {
val = 59
}
UtilitiesTabController.setAlarmTimeMinute(val, false)
}
parent.parent.parent.setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute)
}
}
Item {
Layout.fillWidth: true
}
MyPushButton2 {
Layout.preferredWidth: 200
text: "Current Time"
onClicked: {
UtilitiesTabController.setAlarmTimeToCurrentTime()
}
}
MyPushButton2 {
Layout.leftMargin: 50
Layout.preferredWidth: 120
text: "+1 Hour"
onClicked: {
UtilitiesTabController.modAlarmTimeHour(1)
}
}
MyPushButton2 {
Layout.preferredWidth: 120
text: "-1 Hour"
onClicked: {
UtilitiesTabController.modAlarmTimeHour(-1)
}
}
MyPushButton2 {
text: "+5 Min"
Layout.leftMargin: 50
Layout.preferredWidth: 120
onClicked: {
UtilitiesTabController.modAlarmTimeMinute(5)
}
}
MyPushButton2 {
Layout.preferredWidth: 120
text: "-5 Min"
onClicked: {
UtilitiesTabController.modAlarmTimeMinute(-5)
}
}
}
RowLayout {
MyToggleButton {
id: alarmDontAnnoyToggle
text: "Don't Annoy me"
onCheckedChanged: {
UtilitiesTabController.setAlarmIsModal(!checked, false)
}
}
}
}
Component.onCompleted: {
alarmClockToggle.checked = UtilitiesTabController.alarmEnabled
alarmDontAnnoyToggle.checked = !UtilitiesTabController.alarmIsModal
setAlarmHourText(UtilitiesTabController.alarmTimeHour)
setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute)
alarmGroupBox.visible = !OverlayController.desktopMode
}
Connections {
target: UtilitiesTabController
onAlarmEnabledChanged: {
alarmClockToggle.checked = UtilitiesTabController.alarmEnabled
}
onAlarmIsModalChanged: {
alarmDontAnnoyToggle.checked = !UtilitiesTabController.alarmIsModal
}
onAlarmTimeHourChanged: {
setAlarmHourText(UtilitiesTabController.alarmTimeHour)
}
onAlarmTimeMinuteChanged: {
setAlarmMinuteText(UtilitiesTabController.alarmTimeMinute)
}
}
function setAlarmHourText(value) {
if (value < 9) {
alarmClockHourText.text = "0" + value
} else {
alarmClockHourText.text = value
}
}
function setAlarmMinuteText(value) {
if (value < 9) {
alarmClockMinuteText.text = "0" + value
} else {
alarmClockMinuteText.text = value
}
}
}