diff options
Diffstat (limited to 'src/settingsui/timedate/TimeDate.qml')
-rw-r--r-- | src/settingsui/timedate/TimeDate.qml | 192 |
1 files changed, 75 insertions, 117 deletions
diff --git a/src/settingsui/timedate/TimeDate.qml b/src/settingsui/timedate/TimeDate.qml index b38ed54..c8719e2 100644 --- a/src/settingsui/timedate/TimeDate.qml +++ b/src/settingsui/timedate/TimeDate.qml @@ -37,23 +37,23 @@ Item { id: root property int margin: root.width * 0.05 - Flickable { - id: flickable - anchors.fill: parent - contentHeight: height - contentWidth: width + Column { + spacing: pluginMain.spacing + anchors.top: parent.top + + // Display current date + Text { + color: "white" + text: qsTr("Current date") + font.pixelSize: pluginMain.subTitleFontSize + font.family: appFont + } Text { id: dateText - width: parent.width - height: parent.height * 0.055 - anchors.top: parent.top - anchors.left: parent.left - anchors.topMargin: parent.height * 0.05 - fontSizeMode: Text.Fit - minimumPixelSize: 1 - font.pixelSize: height + leftPadding: pluginMain.margin color: "white" + font.pixelSize: pluginMain.valueFontSize font.family: appFont Timer { id: dateTimer @@ -63,139 +63,97 @@ Item { triggeredOnStart: true onTriggered: { var date = new Date(); - var hours = date.getHours(); - var minutes = date.getMinutes(); - var seconds = date.getSeconds(); - var days = date.getDate(); - dateText.text = date.toLocaleString(Qt.locale(LocaleManager.locale), Locale.LongFormat) } - function nth(days) { - if (days > 3 && days < 21) return 'th'; - switch (days % 10) { - case 1: return "st"; - case 2: return "nd"; - case 3: return "rd"; - default: return "th"; - } - } } } + // Set date automatically / manually Text { - id: setDateText - width: parent.width * 0.3 - height: parent.height * 0.05 - anchors.left: parent.left - anchors.top: dateText.bottom - anchors.topMargin: parent.height * 0.05 - fontSizeMode: Text.Fit - minimumPixelSize: 1 - font.pixelSize: height color: "white" text: qsTr("Set Date & Time") + font.pixelSize: pluginMain.subTitleFontSize font.family: appFont - font.styleName: "Bold" } - QtButton { - id: automaticButton - anchors.top: setDateText.bottom - anchors.topMargin: parent.height * 0.025 - anchors.left: parent.left - height: parent.height * 0.075 - fillColor: "#41cd52" - borderColor: "transparent" - text: qsTr("AUTOMATICALLY") - onClicked: TimeManager.ntp = true - } - - QtButton { - id: manualButton - anchors.top: setDateText.bottom - anchors.topMargin: parent.height * 0.025 - anchors.left: automaticButton.right - anchors.leftMargin: root.margin * 0.5 - height: parent.height * 0.075 - fillColor: "#9d9faa" - borderColor: "transparent" - text: qsTr("MANUALLY") - onClicked: settingsLoader.source = "qrc:/timedate/ManualTime.qml" + Row { + spacing: pluginMain.spacing + leftPadding: pluginMain.margin + QtButton { + id: automaticButton + height: pluginMain.buttonHeight + fillColor: "#41cd52" + borderColor: "transparent" + text: qsTr("AUTOMATICALLY") + onClicked: TimeManager.ntp = true + } + QtButton { + id: manualButton + height: pluginMain.buttonHeight + fillColor: "#9d9faa" + borderColor: "transparent" + text: qsTr("MANUALLY") + onClicked: { + settingsLoader.source = "qrc:/timedate/ManualTime.qml" + } + } } + // Select timezone Text { id: timeZoneText - width: parent.width * 0.3 - height: parent.height * 0.05 - anchors.left: parent.left - anchors.top: automaticButton.bottom - anchors.topMargin: parent.height * 0.05 - fontSizeMode: Text.Fit - minimumPixelSize: 1 - font.pixelSize: height color: "white" text: qsTr("Time Zone") + font.pixelSize: pluginMain.subTitleFontSize font.family: appFont - font.styleName: "Bold" } - CustomComboBox { - id: timeZoneBox - width: automaticButton.width + manualButton.width + root.margin * 0.5 - height: parent.height * 0.075 - anchors.top: timeZoneText.bottom - anchors.topMargin: parent.height * 0.025 - anchors.left: parent.left - textRole: "id" - model: TimezonesFilter - delegate: ItemDelegate { - id: timeZoneDelegate - background: Item {} - width: timeZoneBox.width - contentItem: Text { - anchors.left: timeZoneDelegate.left - anchors.leftMargin: timeZoneDelegate.width * 0.05 - text: modelData["id"] - font.family: appFont - font.styleName: timeZoneBox.currentIndex == index ? "Bold" : "Regular" - color: timeZoneBox.currentIndex == index ? "#41cd52" : "white" - elide: Text.ElideRight - verticalAlignment: Text.AlignVCenter + Row { + leftPadding: pluginMain.margin + height: 500 + CustomComboBox { + id: timeZoneBox + width: automaticButton.width + manualButton.width + pluginMain.spacing + height: pluginMain.buttonHeight + textRole: "id" + popup.height: 200 + model: TimezonesFilter + delegate: ItemDelegate { + id: timeZoneDelegate + height: timeZoneBox.height + contentItem: Text { + anchors.left: timeZoneDelegate.left + anchors.leftMargin: pluginMain.margin + text: modelData["id"] + color: timeZoneBox.currentIndex == index ? "#41cd52" : "white" + elide: Text.ElideRight + verticalAlignment: Text.AlignVCenter + font.pixelSize: pluginMain.valueFontSize + font.family: appFont + font.styleName: "Regular" + } } - } - - Component.onCompleted: { - var n = TimezonesFilter.indexForTimezone(TimeManager.timeZone) - timeZoneBox.currentIndex = n - } - Connections { - target: TimezonesFilter.sourceModel - onReady: { + Component.onCompleted: { var n = TimezonesFilter.indexForTimezone(TimeManager.timeZone) timeZoneBox.currentIndex = n } - } + Connections { + target: TimezonesFilter.sourceModel + onReady: { + var n = TimezonesFilter.indexForTimezone(TimeManager.timeZone) + timeZoneBox.currentIndex = n + } + } - onCurrentIndexChanged: { - var val = TimezonesFilter.itemFromRow(currentIndex); - if (val !== "") { - TimeManager.timeZone = val + onCurrentIndexChanged: { + var val = TimezonesFilter.itemFromRow(currentIndex); + if (val !== "") { + TimeManager.timeZone = val + } } } - contentItem: Text { - anchors.left: timeZoneBox.left - anchors.leftMargin: timeZoneBox.width * 0.05 - verticalAlignment: Text.AlignVCenter - font.pixelSize: timeZoneBox.height * 0.35 - font.bold: true - color: "white" - elide: Text.ElideRight - text: timeZoneBox.displayText - font.family: appFont - font.styleName: "SemiBold" - } } Component { |