summaryrefslogtreecommitdiffstats
path: root/app/logfile/keyboard
diff options
context:
space:
mode:
authorwanglu <wang_lu@dl.cn.nexty-ele.com>2019-03-28 09:31:38 +0800
committerwanglu <wang_lu@dl.cn.nexty-ele.com>2019-04-12 09:25:29 +0800
commit39e4539925687d46c7bbe04681dcc09757dc9ae2 (patch)
tree05dea21f2f43b06b3ea260a4ddbb0b291392bcad /app/logfile/keyboard
parent1e69db0b5eb9cfa6781e2c046d05dcca3a5bd909 (diff)
1.Add autobuild 2.Replace literal with notation in tsutils/tsrecorder/tsrecorder.c 3.Update LICENSE and COPYRIGHT This is a logging app with following functions included: 1.video recording 2.Audio recording 3.Can data recording & playing 4.Screen touch event recording & playing Change-Id: Id7942e16f87e69d25240f4985d3c47bc262d25c2 Signed-off-by: wanglu <wang_lu@dl.cn.nexty-ele.com>
Diffstat (limited to 'app/logfile/keyboard')
-rw-r--r--app/logfile/keyboard/AbstractKeyboard.qml27
-rw-r--r--app/logfile/keyboard/Key.qml93
-rw-r--r--app/logfile/keyboard/Keyboard.qml40
-rw-r--r--app/logfile/keyboard/Numbers.qml130
4 files changed, 290 insertions, 0 deletions
diff --git a/app/logfile/keyboard/AbstractKeyboard.qml b/app/logfile/keyboard/AbstractKeyboard.qml
new file mode 100644
index 0000000..fc54aba
--- /dev/null
+++ b/app/logfile/keyboard/AbstractKeyboard.qml
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * 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.Window 2.0
+
+Item {
+ id: root
+ implicitWidth: Screen.width
+ implicitHeight: Screen.height / 3
+ signal hide()
+ signal next()
+ property Item target
+}
diff --git a/app/logfile/keyboard/Key.qml b/app/logfile/keyboard/Key.qml
new file mode 100644
index 0000000..390a066
--- /dev/null
+++ b/app/logfile/keyboard/Key.qml
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * 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
+
+MouseArea {
+ id: root
+ implicitWidth: 50
+ implicitHeight: 80
+ property string text
+ property alias image: image.source
+ property bool touchable: true
+ property bool checkable: false
+ property bool checked: false
+ property bool capital: false
+
+ onClicked: {
+ if (checkable) {
+ checked = !checked
+ } else {
+ if (label.text.length === 1)
+ insert(label.text)
+ }
+ }
+
+ function clearSelctedText() {
+ if (target && target.selectedText.length > 0) {
+ target.remove(target.selectionStart, target.selectionEnd)
+ return true
+ }
+ return false
+ }
+
+ function insert(text) {
+ clearSelctedText()
+ if(target) {
+ target.insert(target.cursorPosition, text)
+ }
+ }
+
+ Rectangle {
+ id: buttonstyle
+ anchors.fill: parent
+ border.width: 2
+ border.color: root.touchable ? 'white' : 'gray'
+ smooth: true
+ radius: root.height / 10
+ color: 'gray'
+ Rectangle {
+ visible: root.touchable
+ anchors.fill: parent
+ radius: parent.radius
+ opacity: root.pressed || root.checked ? 0 : 0.5
+ gradient: Gradient {
+ GradientStop {
+ position: 0.0
+ color: 'transparent'
+ }
+ GradientStop {
+ position: 1.0
+ color: '#66FF99'
+ }
+ }
+ }
+ }
+
+ Text {
+ id: label
+ anchors.centerIn: parent
+ color: 'white'
+ font.pixelSize: root.height / 2
+ text: root.text
+ }
+
+ Image {
+ id: image
+ anchors.centerIn: parent
+ scale: 0.8
+ }
+}
diff --git a/app/logfile/keyboard/Keyboard.qml b/app/logfile/keyboard/Keyboard.qml
new file mode 100644
index 0000000..c5734d3
--- /dev/null
+++ b/app/logfile/keyboard/Keyboard.qml
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * 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.Window 2.0
+import QtQuick.Layouts 1.1
+import QtQuick.Controls 2.0
+
+Item {
+ id: root
+ implicitWidth: Screen.width
+ implicitHeight: Screen.height / 3
+ property Item target
+ property AbstractKeyboard active
+
+ visible: false
+
+ Rectangle {
+ anchors.fill: parent
+ color: 'black'
+ opacity: 0.5
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ }
+}
diff --git a/app/logfile/keyboard/Numbers.qml b/app/logfile/keyboard/Numbers.qml
new file mode 100644
index 0000000..664f206
--- /dev/null
+++ b/app/logfile/keyboard/Numbers.qml
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * 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.Window 2.0
+import QtQuick.Layouts 1.1
+
+AbstractKeyboard {
+ id: root
+
+ ColumnLayout {
+ anchors.fill: parent
+ anchors.margins: root.height / 10
+ RowLayout {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Repeater {
+ model: ['1', '2', '3']
+ delegate: Key {
+ text: model.modelData
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ }
+ Key {
+ image: '../images/Keyboard_Back.svg'
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ onClicked: {
+ if (!clearSelctedText()) {
+ if (target && target.cursorPosition > 0)
+ target.remove(target.cursorPosition - 1, target.cursorPosition)
+ }
+ }
+ }
+ }
+ RowLayout {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Repeater {
+ model: ['4', '5', '6']
+ delegate: Key {
+ text: model.modelData
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ }
+ Key {
+ image: '../images/Keyboard_Arrow.svg'
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ onClicked: {
+ root.hide()
+ }
+ }
+ }
+ RowLayout {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Repeater {
+ model: ['7', '8', '9']
+ delegate: Key {
+ text: model.modelData
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ }
+ Key {
+ text: 'Next'
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ onClicked: {
+ root.next()
+ }
+ }
+ }
+ RowLayout {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Key {
+ text: ' '
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ touchable: false
+ }
+ Key {
+ text: '0'
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ Key {
+ text: ' '
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ touchable: false
+ }
+ Key {
+ text: 'Clear'
+ Layout.preferredWidth: 2
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ onClicked: {
+ target.clear()
+ }
+ }
+ }
+ }
+}