summaryrefslogtreecommitdiffstats
path: root/src/settingsui/timedate/ManualTime.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/settingsui/timedate/ManualTime.qml')
-rw-r--r--src/settingsui/timedate/ManualTime.qml431
1 files changed, 188 insertions, 243 deletions
diff --git a/src/settingsui/timedate/ManualTime.qml b/src/settingsui/timedate/ManualTime.qml
index 564edc7..7448629 100644
--- a/src/settingsui/timedate/ManualTime.qml
+++ b/src/settingsui/timedate/ManualTime.qml
@@ -41,259 +41,204 @@ Item {
return timeToPad < 10 ? "0" + timeToPad : timeToPad
}
- Text {
- id: setDateAndTimeText
- anchors.top: parent.top
- anchors.left: parent.left
- fontSizeMode: Text.Fit
- minimumPixelSize: 1
- font.pixelSize: parent.height * 0.05
- color: "white"
- text: qsTr("Set Date & Time")
- font.family: appFont
- font.styleName: "Bold"
- }
- Rectangle {
- id: btmLine
- anchors.top: setDateAndTimeText.bottom
- anchors.topMargin: parent.height * 0.025
- anchors.left: setDateAndTimeText.left
- width: parent.width * 0.275
- height: parent.height * 0.005
- }
-
- Text {
- id: setDateText
- anchors.top: btmLine.bottom
- anchors.topMargin: parent.height * 0.075
- anchors.left: parent.left
- color: "white"
- font.pixelSize: parent.height * 0.04
- text: qsTr("Set Date")
- font.family: appFont
- font.styleName: "Bold"
- }
-
- CustomComboBox {
- id: dayBox
- width: parent.width * 0.15
- height: parent.height * 0.075
- anchors.left: parent.left
- anchors.top: setDateText.bottom
- anchors.topMargin: parent.height * 0.025
- displayText: currentIndex + 1
- property var date: new Date(firstYear, 1, 0)
-
- model: date.getDate()
+ Column {
+ spacing: pluginMain.spacing
- delegate: ItemDelegate {
- id: dayDelegate
- background: Item {}
- width: dayBox.width
- contentItem: Text {
- anchors.left: dayDelegate.left
- anchors.leftMargin: dayDelegate.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: dayBox.height * 0.35
- color: dayBox.currentIndex == index ? "#41cd52" : "white"
- text: modelData + 1
- font.family: appFont
- font.styleName: dayBox.currentIndex == index ? "Bold" : "Regular"
- elide: Text.ElideRight
- }
- }
-
- property int month: monthBox.currentIndex + 1
- onMonthChanged: updateDate()
-
- property int year: yearBox.currentIndex + firstYear
- onYearChanged: updateDate()
-
- function updateDate() {
- date = new Date(year, month, 0)
- }
- }
-
- CustomComboBox {
- id: monthBox
- width: parent.width * 0.35
- height: parent.height * 0.075
- anchors.top: setDateText.bottom
- anchors.topMargin: parent.height * 0.025
- anchors.left: dayBox.right
- anchors.leftMargin: root.margin * 0.5
-
- model: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
- }
- CustomComboBox {
- id: yearBox
- width: parent.width * 0.2
- height: parent.height * 0.075
- anchors.top: setDateText.bottom
- anchors.topMargin: parent.height * 0.025
- anchors.left: monthBox.right
- anchors.leftMargin: root.margin * 0.5
-
- model: 50
- delegate: ItemDelegate {
- id: yearDelegate
- background: Item {}
- width: yearBox.width
- contentItem: Text {
- anchors.left: yearDelegate.left
- anchors.leftMargin: yearDelegate.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: yearBox.height * 0.35
- text: index + firstYear
- color: yearBox.currentIndex == index ? "#41cd52" : "white"
- font.family: appFont
- font.styleName: yearBox.currentIndex == index ? "Bold" : "Regular"
- elide: Text.ElideRight
-
- }
- }
- contentItem: Text {
- property var date: new Date()
- anchors.left: yearBox.left
- anchors.leftMargin: yearBox.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: yearBox.height * 0.35
+ Text {
color: "white"
- elide: Text.ElideRight
- text: yearBox.currentIndex + date.getFullYear()
+ text: qsTr("Set Date")
+ font.pixelSize: pluginMain.subTitleFontSize
font.family: appFont
- font.styleName: "SemiBold"
}
- }
-
- Text {
- id: setTimeText
- anchors.top: dayBox.bottom
- anchors.topMargin: parent.height * 0.075
- anchors.left: parent.left
- color: "white"
- font.pixelSize: parent.height * 0.04
- text: qsTr("Set Time")
- font.family: appFont
- font.styleName: "Bold"
- }
- CustomComboBox {
- id: hourBox
- width: parent.width * 0.15
- height: parent.height * 0.075
- anchors.top: setTimeText.bottom
- anchors.topMargin: parent.height * 0.025
- anchors.left: parent.left
- property int hour: currentIndex
-
- model: 24
+ // Row of date comboboxes
+ Row {
+ spacing: pluginMain.spacing
+
+ CustomComboBox {
+ id: dayBox
+ width: root.width * 0.15
+ height: pluginMain.buttonHeight
+ displayText: currentIndex + 1
+ property var date: new Date(firstYear, 1, 0)
+
+ model: 31
+
+ delegate: ItemDelegate {
+ id: dayDelegate
+ height: dayBox.height
+ contentItem: Text {
+ anchors.left: dayDelegate.left
+ anchors.leftMargin: pluginMain.margin
+ text: modelData + 1
+ color: dayBox.currentIndex == index ? "#41cd52" : "white"
+ elide: Text.ElideRight
+ verticalAlignment: Text.AlignVCenter
+ font.pixelSize: pluginMain.valueFontSize
+ font.family: appFont
+ font.styleName: "Regular"
+ }
+ }
+
+ property int month: monthBox.currentIndex + 1
+ onMonthChanged: updateDate()
+
+ property int year: yearBox.currentIndex + firstYear
+ onYearChanged: updateDate()
+
+ function updateDate() {
+ date = new Date(year, month, 0)
+ }
+ }
- delegate: ItemDelegate {
- id: hourDelegate
- background: Item {}
- width: hourBox.width
- contentItem: Text {
- anchors.left: hourDelegate.left
- anchors.leftMargin: hourDelegate.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: hourBox.height * 0.35
- color: hourBox.currentIndex == index ? "#41cd52" : "white"
- text: zeroPadTime(parseInt(modelData))
- elide: Text.ElideRight
- font.family: appFont
- font.styleName: hourBox.currentIndex == index ? "Bold" : "Regular"
+ CustomComboBox {
+ id: monthBox
+ width: root.width * 0.35
+ height: pluginMain.buttonHeight
+ model: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
+ delegate: ItemDelegate {
+ id: monthDelegate
+ height: monthBox.height
+ contentItem: Text {
+ anchors.left: monthDelegate.left
+ anchors.leftMargin: pluginMain.margin
+ color: monthBox.currentIndex == index ? "#41cd52" : "white"
+ elide: Text.ElideRight
+ text: modelData
+ verticalAlignment: Text.AlignVCenter
+ font.pixelSize: pluginMain.valueFontSize
+ font.family: appFont
+ font.styleName: "Regular"
+
+ }
+ }
}
- }
- contentItem: Text {
- anchors.left: hourBox.left
- anchors.leftMargin: hourBox.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: hourBox.height * 0.35
- font.bold: true
+ CustomComboBox {
+ id: yearBox
+ width: root.width * 0.2
+ height: pluginMain.buttonHeight
+ displayText: yearBox.currentIndex + date.getFullYear()
+ property var date: new Date()
+
+ model: 50
+ delegate: ItemDelegate {
+ id: yearDelegate
+ height: yearBox.height
+ contentItem: Text {
+ anchors.left: yearDelegate.left
+ anchors.leftMargin: pluginMain.margin
+ text: index + firstYear
+ color: yearBox.currentIndex == index ? "#41cd52" : "white"
+ elide: Text.ElideRight
+ verticalAlignment: Text.AlignVCenter
+ font.pixelSize: pluginMain.valueFontSize
+ font.family: appFont
+ font.styleName: "Regular"
+ }
+ }
+ }
+ } // Row of date comboboxes
+
+ Text {
color: "white"
- elide: Text.ElideRight
- text: zeroPadTime(hourBox.displayText)
+ text: qsTr("Set Time")
+ font.pixelSize: pluginMain.subTitleFontSize
font.family: appFont
- font.styleName: "SemiBold"
}
- }
- CustomComboBox {
- id: minuteBox
- width: parent.width * 0.15
- height: parent.height * 0.075
- anchors.top: setTimeText.bottom
- anchors.topMargin: parent.height * 0.025
- anchors.left: hourBox.right
- anchors.leftMargin: root.margin * 0.5
- property int minute: currentIndex
- model: 60
-
- delegate: ItemDelegate {
- id: minuteDelegate
- background: Item {}
- width: minuteBox.width
- contentItem: Text {
- anchors.left: minuteDelegate.left
- anchors.leftMargin: minuteDelegate.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: minuteBox.height * 0.35
- color: minuteBox.currentIndex == index ? "#41cd52" : "white"
- text: zeroPadTime(parseInt(modelData))
- font.family: appFont
- font.styleName: minuteBox.currentIndex == index ? "Bold" : "Regular"
- elide: Text.ElideRight
+ // Row of time comboboxes
+ Row {
+ spacing: pluginMain.spacing
+
+ CustomComboBox {
+ id: hourBox
+ width: root.width * 0.15
+ height: pluginMain.buttonHeight
+ displayText: zeroPadTime(hour)
+ property int hour: currentIndex
+
+ model: 24
+
+ delegate: ItemDelegate {
+ id: hourDelegate
+ height: hourBox.height
+ contentItem: Text {
+ anchors.left: hourDelegate.left
+ anchors.leftMargin: pluginMain.margin
+ text: zeroPadTime(parseInt(modelData))
+ color: hourBox.currentIndex == index ? "#41cd52" : "white"
+ elide: Text.ElideRight
+ verticalAlignment: Text.AlignVCenter
+ font.pixelSize: pluginMain.valueFontSize
+ font.family: appFont
+ font.styleName: "Regular"
+ }
+ }
}
- }
- contentItem: Text {
- anchors.left: minuteBox.left
- anchors.leftMargin: minuteBox.width * 0.15
- verticalAlignment: Text.AlignVCenter
- font.pixelSize: minuteBox.height * 0.35
- font.family: appFont
- font.styleName: "SemiBold"
- color: "white"
- elide: Text.ElideRight
- text: zeroPadTime(parseInt(minuteBox.displayText))
- }
- }
-
- QtButton {
- id: dateSetButton
- height: parent.height * 0.075
- anchors.top: hourBox.bottom
- anchors.topMargin: parent.height * 0.1
- anchors.left: parent.left
- fillColor: "#41cd52"
- borderColor: "transparent"
- text: qsTr("SET")
-
- onClicked: {
- var currentTime = TimeManager.time;
- var newDate = new Date();
-
- newDate.setFullYear(dayBox.year)
- newDate.setMonth(dayBox.month - 1)
- newDate.setDate(dayBox.currentIndex+1)
-
- newDate.setHours(hourBox.hour)
- newDate.setMinutes(minuteBox.minute)
- newDate.setSeconds(currentTime.getSeconds())
- TimeManager.ntp = false
- TimeManager.time = newDate;
- }
- }
- QtButton {
- id: dateCancelButton
- height: parent.height * 0.075
- anchors.top: hourBox.bottom
- anchors.topMargin: parent.height * 0.1
- anchors.left: dateSetButton.right
- anchors.leftMargin: root.margin * 0.5
- fillColor: "#9d9faa"
- borderColor: "transparent"
- text: qsTr("CANCEL")
- onClicked: settingsLoader.source = "qrc:/timedate/TimeDate.qml"
- }
+ CustomComboBox {
+ id: minuteBox
+ width: root.width * 0.15
+ height: pluginMain.buttonHeight
+ displayText: zeroPadTime(minute)
+ property int minute: currentIndex
+
+ model: 60
+
+ delegate: ItemDelegate {
+ id: minuteDelegate
+ height: minuteBox.height
+ contentItem: Text {
+ anchors.left: minuteDelegate.left
+ anchors.leftMargin: pluginMain.margin
+ text: zeroPadTime(parseInt(modelData))
+ color: minuteBox.currentIndex == index ? "#41cd52" : "white"
+ elide: Text.ElideRight
+ verticalAlignment: Text.AlignVCenter
+ font.pixelSize: pluginMain.valueFontSize
+ font.family: appFont
+ font.styleName: "Regular"
+ }
+ }
+ }
+ } // Row of time comboboxes
+
+ // Row of set/cancel buttons
+ Row {
+ spacing: pluginMain.spacing
+
+ QtButton {
+ id: dateSetButton
+ height: pluginMain.buttonHeight
+ fillColor: "#41cd52"
+ borderColor: "transparent"
+ text: qsTr("SET")
+
+ onClicked: {
+ var currentTime = TimeManager.time;
+ var newDate = new Date();
+
+ newDate.setFullYear(dayBox.year)
+ newDate.setMonth(dayBox.month - 1)
+ newDate.setDate(dayBox.currentIndex+1)
+ newDate.setHours(hourBox.hour)
+ newDate.setMinutes(minuteBox.minute)
+ newDate.setSeconds(currentTime.getSeconds())
+ TimeManager.ntp = false
+ TimeManager.time = newDate;
+ console.log("newDate: " + newDate)
+ console.log("TimeManager.time: " + TimeManager.time)
+ }
+ }
+ QtButton {
+ id: dateCancelButton
+ height: pluginMain.buttonHeight
+ fillColor: "#9d9faa"
+ borderColor: "transparent"
+ text: qsTr("CANCEL")
+ onClicked: {
+ settingsLoader.source = "qrc:/timedate/TimeDate.qml"
+ }
+ }
+ } // Row of set/cancel buttons
+ } // Main column
}