From 238076ffff13356c620a7834e25537d4a41e97a6 Mon Sep 17 00:00:00 2001 From: zheng_wenlong Date: Mon, 8 Apr 2019 18:43:05 +0900 Subject: Add demo3 settings source code for cluster mode. Add demo3 settings source code for cluster mode. [Patch Set 2] Update LICENSE file. Change-Id: I586a211bb55e5017de62e36edd0bbba6968de1b8 BUG-AGL: SPEC-2261 Signed-off-by: zheng_wenlong --- app/datetime/DateEdit.qml | 122 +++++++++++++++++++++ app/datetime/DateTime.qml | 50 +++++++++ app/datetime/EditSeparator.qml | 40 +++++++ app/datetime/TimeEdit.qml | 86 +++++++++++++++ app/datetime/datetime.qrc | 14 +++ .../HMI_Settings_TimeDate_Arrow_DividingLine.svg | 24 ++++ .../images/HMI_Settings_TimeDate_Arrow_Down.svg | 29 +++++ .../images/HMI_Settings_TimeDate_Arrow_Up.svg | 29 +++++ .../images/HMI_Settings_TimeDate_Button_Cancel.svg | 39 +++++++ .../images/HMI_Settings_TimeDate_Button_Set.svg | 39 +++++++ app/datetime/images/HMI_Settings_TimeIcon.svg | 59 ++++++++++ 11 files changed, 531 insertions(+) create mode 100644 app/datetime/DateEdit.qml create mode 100644 app/datetime/DateTime.qml create mode 100644 app/datetime/EditSeparator.qml create mode 100644 app/datetime/TimeEdit.qml create mode 100644 app/datetime/datetime.qrc create mode 100644 app/datetime/images/HMI_Settings_TimeDate_Arrow_DividingLine.svg create mode 100644 app/datetime/images/HMI_Settings_TimeDate_Arrow_Down.svg create mode 100644 app/datetime/images/HMI_Settings_TimeDate_Arrow_Up.svg create mode 100644 app/datetime/images/HMI_Settings_TimeDate_Button_Cancel.svg create mode 100644 app/datetime/images/HMI_Settings_TimeDate_Button_Set.svg create mode 100644 app/datetime/images/HMI_Settings_TimeIcon.svg (limited to 'app/datetime') diff --git a/app/datetime/DateEdit.qml b/app/datetime/DateEdit.qml new file mode 100644 index 0000000..f9f75fd --- /dev/null +++ b/app/datetime/DateEdit.qml @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 + +GridLayout { + id: root + flow: GridLayout.TopToBottom + rows: 3 + + property int year: yearControl.model[yearControl.currentIndex] + property int month: monthControl.currentIndex + 1 + property int day: dayControl.currentIndex + 1 + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Up.svg' + onClicked: monthControl.currentIndex++ + } + Tumbler { + id: monthControl + implicitWidth: 200 + model: ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'] + onCurrentIndexChanged: dayControl.regenerateModel() + + EditSeparator { anchors.fill: parent } + } + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Down.svg' + onClicked: monthControl.currentIndex-- + } + + Item { width: 10; height: 10 } + Label { text: ':' } + Item { width: 10; height: 10 } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Up.svg' + onClicked: dayControl.currentIndex++ + } + + Tumbler { + id: dayControl + model: ListModel{ + id: monthModel + } + Component.onCompleted: regenerateModel() + function regenerateModel() { + var eom = 0 + var y = yearControl.model[yearControl.currentIndex] + var m = monthControl.currentIndex + 1 + switch (m) { + case 2: + eom = 28 + parseInt(1 / (y % 4 + 1)) - parseInt(1 - 1 / (y % 100 + 1)) + parseInt(1 / (y % 400 + 1)) + break + case 4: + case 6: + case 9: + case 11: + eom = 30 + break + default: + eom = 31 + break + } + while (monthModel.count < eom) + monthModel.append({modelData: monthModel.count + 1}) + while (monthModel.count > eom) + monthModel.remove(monthModel.count - 1, 1) + } + EditSeparator { anchors.fill: parent } + } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Down.svg' + onClicked: dayControl.currentIndex-- + } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Up.svg' + onClicked: yearControl.currentIndex++ + } + + Tumbler { + id: yearControl + Component.onCompleted: { + var arr = new Array + for (var i = 2010; i < 2050; i++) { + arr.push(i) + } + yearControl.model = arr + } + onCurrentIndexChanged: dayControl.regenerateModel() + EditSeparator { anchors.fill: parent } + } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Down.svg' + onClicked: yearControl.currentIndex-- + } +} diff --git a/app/datetime/DateTime.qml b/app/datetime/DateTime.qml new file mode 100644 index 0000000..5030b1e --- /dev/null +++ b/app/datetime/DateTime.qml @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 +import '..' + +SettingPage { + id: root + icon: '/datetime/images/HMI_Settings_TimeIcon.svg' + title: 'Date & Time' + + ColumnLayout { + anchors.fill: parent + anchors.margins: 100 + Label { text: 'Date'} + DateEdit {} + Image { + source: '../images/HMI_Settings_DividingLine.svg' + } + Label { text: 'Time'} + TimeEdit {} + RowLayout { + anchors.right: parent.right + Button { + text: 'OK' + highlighted: true + onClicked: root.done() + } + } + Item { + Layout.fillHeight: true + } + } +} diff --git a/app/datetime/EditSeparator.qml b/app/datetime/EditSeparator.qml new file mode 100644 index 0000000..e833b52 --- /dev/null +++ b/app/datetime/EditSeparator.qml @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 + +ColumnLayout { + anchors.fill: parent + z: -1 + Item { + Layout.fillHeight: true + Layout.preferredHeight: 1 + } + Repeater { + model: 2 + Image { + Layout.fillHeight: true + Layout.preferredHeight: 2 + Layout.alignment: Layout.Center + source: './images/HMI_Settings_TimeDate_Arrow_DividingLine.svg' + } + } + Item { + Layout.fillHeight: true + Layout.preferredHeight: 1 + } +} diff --git a/app/datetime/TimeEdit.qml b/app/datetime/TimeEdit.qml new file mode 100644 index 0000000..69a049b --- /dev/null +++ b/app/datetime/TimeEdit.qml @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import QtQuick 2.6 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 +import AGL.Demo.Controls 1.0 + +GridLayout { + id: root + flow: GridLayout.TopToBottom + rows: 3 + + property int hour: hourControl.currentIndex + property int minutes: minutesControl.currentIndex + property string ampm: ampmControl.model[ampmControl.currentIndex] + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Up.svg' + onClicked: hourControl.currentIndex++ + } + Tumbler { + id: hourControl + model: 12 + EditSeparator { anchors.fill: parent } + } + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Down.svg' + onClicked: hourControl.currentIndex-- + } + + Item { width: 10; height: 10 } + Label { text: ':' } + Item { width: 10; height: 10 } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Up.svg' + onClicked: minutesControl.currentIndex++ + } + + Tumbler { + id: minutesControl + model: 60 + EditSeparator { anchors.fill: parent } + } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Down.svg' + onClicked: minutesControl.currentIndex-- + } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Up.svg' + onClicked: ampmControl.currentIndex++ + } + + Tumbler { + id: ampmControl + model: ['AM', 'PM', 'AM', 'PM'] + EditSeparator { anchors.fill: parent } + } + + ImageButton { + Layout.alignment: Layout.Center + offImage: './images/HMI_Settings_TimeDate_Arrow_Down.svg' + onClicked: ampmControl.currentIndex-- + } +} diff --git a/app/datetime/datetime.qrc b/app/datetime/datetime.qrc new file mode 100644 index 0000000..c60c626 --- /dev/null +++ b/app/datetime/datetime.qrc @@ -0,0 +1,14 @@ + + + DateEdit.qml + DateTime.qml + TimeEdit.qml + EditSeparator.qml + images/HMI_Settings_TimeDate_Arrow_DividingLine.svg + images/HMI_Settings_TimeDate_Arrow_Down.svg + images/HMI_Settings_TimeDate_Arrow_Up.svg + images/HMI_Settings_TimeDate_Button_Cancel.svg + images/HMI_Settings_TimeDate_Button_Set.svg + images/HMI_Settings_TimeIcon.svg + + diff --git a/app/datetime/images/HMI_Settings_TimeDate_Arrow_DividingLine.svg b/app/datetime/images/HMI_Settings_TimeDate_Arrow_DividingLine.svg new file mode 100644 index 0000000..f311d6a --- /dev/null +++ b/app/datetime/images/HMI_Settings_TimeDate_Arrow_DividingLine.svg @@ -0,0 +1,24 @@ + + + + + + + + + + +]> + + + + + + + + diff --git a/app/datetime/images/HMI_Settings_TimeDate_Arrow_Down.svg b/app/datetime/images/HMI_Settings_TimeDate_Arrow_Down.svg new file mode 100644 index 0000000..18ae1f5 --- /dev/null +++ b/app/datetime/images/HMI_Settings_TimeDate_Arrow_Down.svg @@ -0,0 +1,29 @@ + + + + + + + + + + +]> + + + + + + + + + + + + diff --git a/app/datetime/images/HMI_Settings_TimeDate_Arrow_Up.svg b/app/datetime/images/HMI_Settings_TimeDate_Arrow_Up.svg new file mode 100644 index 0000000..7eba43d --- /dev/null +++ b/app/datetime/images/HMI_Settings_TimeDate_Arrow_Up.svg @@ -0,0 +1,29 @@ + + + + + + + + + + +]> + + + + + + + + + + + + diff --git a/app/datetime/images/HMI_Settings_TimeDate_Button_Cancel.svg b/app/datetime/images/HMI_Settings_TimeDate_Button_Cancel.svg new file mode 100644 index 0000000..14a7edc --- /dev/null +++ b/app/datetime/images/HMI_Settings_TimeDate_Button_Cancel.svg @@ -0,0 +1,39 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + CANCEL + + + + + diff --git a/app/datetime/images/HMI_Settings_TimeDate_Button_Set.svg b/app/datetime/images/HMI_Settings_TimeDate_Button_Set.svg new file mode 100644 index 0000000..e258e1e --- /dev/null +++ b/app/datetime/images/HMI_Settings_TimeDate_Button_Set.svg @@ -0,0 +1,39 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + SET + + + + + diff --git a/app/datetime/images/HMI_Settings_TimeIcon.svg b/app/datetime/images/HMI_Settings_TimeIcon.svg new file mode 100644 index 0000000..d4b2ef6 --- /dev/null +++ b/app/datetime/images/HMI_Settings_TimeIcon.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml \ No newline at end of file -- cgit 1.2.3-korg