diff options
Diffstat (limited to 'src/virtualkeyboard/content/styles/retro/style.qml')
-rw-r--r-- | src/virtualkeyboard/content/styles/retro/style.qml | 1079 |
1 files changed, 0 insertions, 1079 deletions
diff --git a/src/virtualkeyboard/content/styles/retro/style.qml b/src/virtualkeyboard/content/styles/retro/style.qml deleted file mode 100644 index 17d2581e..00000000 --- a/src/virtualkeyboard/content/styles/retro/style.qml +++ /dev/null @@ -1,1079 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 -import QtQuick.VirtualKeyboard 2.1 -import QtQuick.VirtualKeyboard.Styles 2.1 - -KeyboardStyle { - id: currentStyle - readonly property bool compactSelectionList: [InputEngine.InputMode.Pinyin, InputEngine.InputMode.Cangjie, InputEngine.InputMode.Zhuyin].indexOf(InputContext.inputEngine.inputMode) !== -1 - readonly property string fontFamily: "Courier" - readonly property real keyBackgroundMargin: Math.round(9 * scaleHint) - readonly property real keyContentMargin: Math.round(30 * scaleHint) - readonly property real keyIconScale: scaleHint * 0.6 - readonly property string resourcePath: "QtQuick/VirtualKeyboard/content/styles/retro/" - readonly property string resourcePrefix: "qrc:/" + resourcePath - - readonly property string inputLocale: InputContext.locale - property color inputLocaleIndicatorColor: "#110b05" - property Timer inputLocaleIndicatorHighlightTimer: Timer { - interval: 1000 - onTriggered: inputLocaleIndicatorColor = "#413828" - } - onInputLocaleChanged: { - inputLocaleIndicatorColor = "#110b05" - inputLocaleIndicatorHighlightTimer.restart() - } - - keyboardDesignWidth: 2560 - keyboardDesignHeight: 800 - keyboardRelativeLeftMargin: 114 / keyboardDesignWidth - keyboardRelativeRightMargin: 114 / keyboardDesignWidth - keyboardRelativeTopMargin: 9 / keyboardDesignHeight - keyboardRelativeBottomMargin: 88 / keyboardDesignHeight - - keyboardBackground: Rectangle { - gradient: Gradient { - GradientStop { position: 0.0; color: "#272727" } - GradientStop { position: 1.0; color: "black" } - } - } - - keyPanel: KeyPanel { - id: keyPanel - Image { - id: keyBackground - source: resourcePrefix + "images/key154px_colorA.png" - fillMode: Image.PreserveAspectFit - anchors.fill: keyPanel - anchors.margins: keyBackgroundMargin - states: [ - State { - name: "key154px_colorB" - when: ['q', 'r', 'y', 'p', 's', 'd', 'j', 'l', 'v', 'b', '\'', - '1', '4', '6', '0', '#', '%', '+', ')', '>', - '~', '·', '÷', '}', '€', '£', '§', ']', '«', '»'].indexOf(control.displayText.toLowerCase()) >= 0 - PropertyChanges { - target: keyBackground - source: resourcePrefix + "images/key154px_colorB.png" - } - }, - State { - name: "key154px_black" - when: control.displayText.length > 2 - PropertyChanges { - target: keyBackground - source: resourcePrefix + "images/key154px_black.png" - } - } - ] - } - Text { - id: keyText - text: control.displayText - color: "#110b05" - anchors.fill: keyPanel - anchors.margins: keyContentMargin - fontSizeMode: Text.Fit - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - font { - family: fontFamily - weight: Font.Bold - pixelSize: 82 * scaleHint - capitalization: control.uppercased ? Font.AllUppercase : Font.MixedCase - } - states: [ - State { - name: "fontB" - when: control.displayText.length > 2 - PropertyChanges { - target: keyText - color: "#c5a96f" - font.pixelSize: 74 * scaleHint - font.letterSpacing: -5 * scaleHint - } - } - ] - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: keyBackground - opacity: 0.70 - } - PropertyChanges { - target: keyText - opacity: 0.75 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: keyBackground - opacity: 0.30 - } - PropertyChanges { - target: keyText - opacity: 0.50 - } - } - ] - } - - backspaceKeyPanel: KeyPanel { - id: backspaceKeyPanel - BorderImage { - id: backspaceKeyBackground - source: resourcePrefix + "images/key154px_black.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: backspaceKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - } - Image { - id: backspaceKeyIcon - anchors.centerIn: backspaceKeyPanel - sourceSize.width: 159 * keyIconScale - sourceSize.height: 88 * keyIconScale - smooth: false - source: resourcePrefix + "images/backspace-c5a96f.svg" - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: backspaceKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: backspaceKeyIcon - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: backspaceKeyBackground - opacity: 0.20 - } - PropertyChanges { - target: backspaceKeyIcon - opacity: 0.20 - } - } - ] - } - - languageKeyPanel: KeyPanel { - id: languageKeyPanel - Image { - id: languageKeyBackground - source: resourcePrefix + "images/key154px_colorB.png" - fillMode: Image.PreserveAspectFit - anchors.fill: languageKeyPanel - anchors.margins: keyBackgroundMargin - } - Image { - id: languageKeyIcon - anchors.centerIn: languageKeyPanel - sourceSize.width: 144 * keyIconScale - sourceSize.height: 144 * keyIconScale - smooth: false - source: resourcePrefix + "images/globe-110b05.svg" - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: languageKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: languageKeyIcon - opacity: 0.30 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: languageKeyBackground - opacity: 0.75 - } - PropertyChanges { - target: languageKeyIcon - opacity: 0.50 - } - } - ] - } - - enterKeyPanel: KeyPanel { - id: enterKeyPanel - BorderImage { - id: enterKeyBackground - source: resourcePrefix + "images/key154px_black.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: enterKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - } - Image { - id: enterKeyIcon - visible: enterKeyText.text.length === 0 - anchors.centerIn: enterKeyPanel - readonly property size enterKeyIconSize: { - switch (control.actionId) { - case EnterKeyAction.Go: - case EnterKeyAction.Send: - case EnterKeyAction.Next: - case EnterKeyAction.Done: - return Qt.size(170, 119) - case EnterKeyAction.Search: - return Qt.size(148, 148) - default: - return Qt.size(211, 80) - } - } - sourceSize.width: enterKeyIconSize.width * keyIconScale - sourceSize.height: enterKeyIconSize.height * keyIconScale - smooth: false - source: { - switch (control.actionId) { - case EnterKeyAction.Go: - case EnterKeyAction.Send: - case EnterKeyAction.Next: - case EnterKeyAction.Done: - return resourcePrefix + "images/check-c5a96f.svg" - case EnterKeyAction.Search: - return resourcePrefix + "images/search-c5a96f.svg" - default: - return resourcePrefix + "images/enter-c5a96f.svg" - } - } - } - Text { - id: enterKeyText - visible: text.length !== 0 - text: control.actionId !== EnterKeyAction.None ? control.displayText : "" - clip: true - fontSizeMode: Text.HorizontalFit - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - anchors.fill: enterKeyPanel - anchors.leftMargin: keyContentMargin - anchors.topMargin: Math.round(50 * scaleHint) - anchors.rightMargin: keyContentMargin - anchors.bottomMargin: Math.round(30 * scaleHint) - color: "#c5a96f" - font { - family: fontFamily - weight: Font.Bold - pixelSize: 74 * scaleHint - capitalization: Font.AllUppercase - } - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: enterKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: enterKeyIcon - opacity: 0.70 - } - PropertyChanges { - target: enterKeyText - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: enterKeyBackground - opacity: 0.20 - } - PropertyChanges { - target: enterKeyIcon - opacity: 0.20 - } - PropertyChanges { - target: enterKeyText - opacity: 0.20 - } - } - ] - } - - hideKeyPanel: KeyPanel { - id: hideKeyPanel - BorderImage { - id: hideKeyBackground - source: resourcePrefix + "images/key154px_black.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: hideKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - } - Image { - id: hideKeyIcon - anchors.centerIn: hideKeyPanel - sourceSize.width: 144 * keyIconScale - sourceSize.height: 127 * keyIconScale - smooth: false - source: resourcePrefix + "images/hidekeyboard-c5a96f.svg" - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: hideKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: hideKeyIcon - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: hideKeyBackground - opacity: 0.20 - } - PropertyChanges { - target: hideKeyIcon - opacity: 0.20 - } - } - ] - } - - shiftKeyPanel: KeyPanel { - id: shiftKeyPanel - BorderImage { - id: shiftKeyBackground - source: resourcePrefix + "images/key154px_black.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: shiftKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - states: [ - State { - name: "capsLockActive" - when: InputContext.capsLockActive - PropertyChanges { - target: shiftKeyBackground - source: resourcePrefix + "images/key154px_capslock.png" - } - PropertyChanges { - target: shiftKeyIcon - source: resourcePrefix + "images/shift-cd8865.svg" - } - }, - State { - name: "shiftActive" - when: InputContext.shiftActive - PropertyChanges { - target: shiftKeyBackground - source: resourcePrefix + "images/key154px_shiftcase.png" - } - PropertyChanges { - target: shiftKeyIcon - source: resourcePrefix + "images/shift-dc4f28.svg" - } - } - ] - } - Image { - id: shiftKeyIcon - anchors.centerIn: shiftKeyPanel - sourceSize.width: 144 * keyIconScale - sourceSize.height: 134 * keyIconScale - smooth: false - source: resourcePrefix + "images/shift-c5a96f.svg" - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: shiftKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: shiftKeyIcon - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: shiftKeyBackground - opacity: 0.20 - } - PropertyChanges { - target: shiftKeyIcon - opacity: 0.20 - } - } - ] - } - - spaceKeyPanel: KeyPanel { - id: spaceKeyPanel - BorderImage { - id: spaceKeyBackground - source: resourcePrefix + "images/key154px_colorA.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: spaceKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - } - Text { - id: spaceKeyText - text: Qt.locale(InputContext.locale).nativeLanguageName - color: currentStyle.inputLocaleIndicatorColor - Behavior on color { PropertyAnimation { duration: 250 } } - anchors.centerIn: spaceKeyPanel - font { - family: fontFamily - weight: Font.Bold - pixelSize: 72 * scaleHint - } - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: spaceKeyBackground - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: spaceKeyBackground - opacity: 0.30 - } - } - ] - } - - symbolKeyPanel: KeyPanel { - id: symbolKeyPanel - BorderImage { - id: symbolKeyBackground - source: resourcePrefix + "images/key154px_black.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: symbolKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - } - Text { - id: symbolKeyText - text: control.displayText - color: "#c5a96f" - anchors.centerIn: symbolKeyPanel - font { - family: fontFamily - weight: Font.DemiBold - pixelSize: 74 * scaleHint - letterSpacing: -5 * scaleHint - capitalization: Font.AllUppercase - } - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: symbolKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: symbolKeyText - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: symbolKeyBackground - opacity: 0.20 - } - PropertyChanges { - target: symbolKeyText - opacity: 0.20 - } - } - ] - } - - modeKeyPanel: KeyPanel { - id: modeKeyPanel - BorderImage { - id: modeKeyBackground - source: resourcePrefix + "images/key154px_black.png" - width: (parent.width - 2 * keyBackgroundMargin) / scale - height: sourceSize.height - anchors.centerIn: modeKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - states: [ - State { - name: "mode" - when: control.mode - PropertyChanges { - target: modeKeyBackground - source: resourcePrefix + "images/key154px_capslock.png" - } - } - ] - } - Text { - id: modeKeyText - text: control.displayText - color: "#c5a96f" - anchors.fill: modeKeyPanel - anchors.margins: keyContentMargin - fontSizeMode: Text.Fit - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - font { - family: fontFamily - weight: Font.DemiBold - pixelSize: 74 * scaleHint - letterSpacing: -5 * scaleHint - capitalization: Font.AllUppercase - } - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: modeKeyBackground - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: modeKeyBackground - opacity: 0.20 - } - } - ] - } - - handwritingKeyPanel: KeyPanel { - id: handwritingKeyPanel - BorderImage { - id: hwrKeyBackground - source: resourcePrefix + "images/key154px_colorB.png" - width: (parent.width - 2 * hwrKeyBackground) / scale - height: sourceSize.height - anchors.centerIn: handwritingKeyPanel - border.left: 76 - border.top: 76 - border.right: 76 - border.bottom: 76 - horizontalTileMode: BorderImage.Stretch - scale: (parent.height - 2 * keyBackgroundMargin) / sourceSize.height - } - Image { - id: hwrKeyIcon - anchors.centerIn: handwritingKeyPanel - readonly property size hwrKeyIconSize: keyboard.handwritingMode ? Qt.size(124, 96) : Qt.size(156, 104) - sourceSize.width: hwrKeyIconSize.width * keyIconScale - sourceSize.height: hwrKeyIconSize.height * keyIconScale - smooth: false - source: resourcePrefix + (keyboard.handwritingMode ? "images/textmode-110b05.svg" : "images/handwriting-110b05.svg") - } - states: [ - State { - name: "pressed" - when: control.pressed - PropertyChanges { - target: hwrKeyBackground - opacity: 0.70 - } - PropertyChanges { - target: hwrKeyIcon - opacity: 0.70 - } - }, - State { - name: "disabled" - when: !control.enabled - PropertyChanges { - target: hwrKeyBackground - opacity: 0.20 - } - PropertyChanges { - target: hwrKeyIcon - opacity: 0.20 - } - } - ] - } - - characterPreviewMargin: Math.round(20 * scaleHint) - characterPreviewDelegate: Item { - property string text - id: characterPreview - Image { - id: characterPreviewBackground - source: resourcePrefix + "images/key_preview.png" - fillMode: Image.PreserveAspectFit - anchors.fill: parent - } - Text { - id: characterPreviewText - color: "#c5a96f" - text: characterPreview.text - anchors.centerIn: characterPreviewBackground - font { - family: fontFamily - weight: Font.Bold - pixelSize: 85 * scaleHint - } - states: [ - State { - name: "fit" - when: text.length > 1 - PropertyChanges { - target: characterPreviewText - font.letterSpacing: -5 * scaleHint - } - } - ] - } - } - - alternateKeysListItemWidth: Math.round(111 * scaleHint) - alternateKeysListItemHeight: Math.round(154 * scaleHint) - alternateKeysListBottomMargin: Math.round(15 * scaleHint) - alternateKeysListLeftMargin: Math.round(79 * scaleHint) - alternateKeysListRightMargin: Math.round(79 * scaleHint) - alternateKeysListDelegate: Item { - id: alternateKeysListItem - width: alternateKeysListItemWidth - height: alternateKeysListItemHeight - Text { - id: listItemText - text: model.text - color: "#868482" - font { - family: fontFamily - weight: Font.DemiBold - pixelSize: 52 * scaleHint - letterSpacing: -6 * scaleHint - } - anchors.centerIn: parent - } - states: State { - name: "current" - when: alternateKeysListItem.ListView.isCurrentItem - PropertyChanges { - target: listItemText - color: "white" - } - } - } - alternateKeysListHighlight: Item { - Rectangle { - anchors.fill: parent - anchors.topMargin: Math.round(8 * scaleHint) - anchors.bottomMargin: Math.round(8 * scaleHint) - gradient: Gradient { - GradientStop { position: 0.0; color: "#64462a" } - GradientStop { position: 0.18; color: "#a37648" } - GradientStop { position: 0.5; color: "#c4a47c" } - GradientStop { position: 0.82; color: "#a37648" } - GradientStop { position: 1.0; color: "#64462a" } - } - } - } - alternateKeysListBackground: Item { - property real currentItemOffset - property bool currentItemHighlight: false - BorderImage { - cache: false - source: resourcePrefix + "images/key160px_black.png" - width: sourceSize.width + parent.width / scale - height: sourceSize.height - anchors.centerIn: parent - border.left: 79 - border.top: 79 - border.right: 79 - border.bottom: 79 - horizontalTileMode: BorderImage.Stretch - scale: parent.height / sourceSize.height - } - Image { - visible: currentItemOffset !== undefined - source: currentItemHighlight ? resourcePrefix + "images/triangle_highlight.png" : resourcePrefix + "images/triangle_black.png" - fillMode: Image.PreserveAspectFit - width: sourceSize.width * scaleHint - height: sourceSize.height * scaleHint - anchors.top: parent.bottom - anchors.topMargin: Math.round(-8 * scaleHint) - anchors.left: parent.left - anchors.leftMargin: Math.round(currentItemOffset - width / 2) - } - } - - selectionListHeight: 85 * scaleHint - selectionListDelegate: SelectionListItem { - id: selectionListItem - width: Math.round(selectionListLabel.width + selectionListLabel.anchors.leftMargin * 2) - Text { - id: selectionListLabel - anchors.left: parent.left - anchors.leftMargin: Math.round((compactSelectionList ? 50 : 140) * scaleHint) - anchors.verticalCenter: parent.verticalCenter - text: decorateText(display, wordCompletionLength) - color: "white" - font { - family: fontFamily - weight: Font.Bold - pixelSize: 44 * scaleHint - } - function decorateText(text, wordCompletionLength) { - if (wordCompletionLength > 0) { - return text.slice(0, -wordCompletionLength) + '<u>' + text.slice(-wordCompletionLength) + '</u>' - } - return text - } - } - Rectangle { - id: selectionListSeparator - width: 4 * scaleHint - height: 36 * scaleHint - color: "#35322f" - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.left - } - states: State { - name: "current" - when: selectionListItem.ListView.isCurrentItem - PropertyChanges { - target: selectionListLabel - color: "#c5a96f" - } - } - } - selectionListBackground: Rectangle { - color: "#222222" - } - selectionListAdd: Transition { - NumberAnimation { property: "y"; from: wordCandidateView.height; duration: 200 } - NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 200 } - } - selectionListRemove: Transition { - NumberAnimation { property: "y"; to: -wordCandidateView.height; duration: 200 } - NumberAnimation { property: "opacity"; to: 0; duration: 200 } - } - - navigationHighlight: Rectangle { - color: "transparent" - border.color: "yellow" - border.width: 5 - } - - traceInputKeyPanelDelegate: TraceInputKeyPanel { - traceMargins: keyBackgroundMargin - BorderImage { - id: traceInputKeyPanelBackground - readonly property int traceInputKeyPanelSvgImageHeight: Math.round(height / 12) - readonly property real traceInputKeyPanelSvgImageScale: traceInputKeyPanelSvgImageHeight / 154 - source: "image://qtvkbsvg/%1/images/key154px_colorA.svg?height=%2".arg(resourcePath).arg(traceInputKeyPanelSvgImageHeight) - anchors.fill: parent - anchors.margins: keyBackgroundMargin - border.left: 76 * traceInputKeyPanelSvgImageScale - border.top: 76 * traceInputKeyPanelSvgImageScale - border.right: 78 * traceInputKeyPanelSvgImageScale - border.bottom: 78 * traceInputKeyPanelSvgImageScale - horizontalTileMode: BorderImage.Stretch - verticalTileMode: BorderImage.Stretch - } - Text { - id: hwrInputModeIndicator - visible: control.patternRecognitionMode === InputEngine.PatternRecognitionMode.Handwriting - text: { - switch (InputContext.inputEngine.inputMode) { - case InputEngine.InputMode.Numeric: - if (["ar", "fa"].indexOf(InputContext.locale.substring(0, 2)) !== -1) - return "\u0660\u0661\u0662" - // Fallthrough - case InputEngine.InputMode.Dialable: - return "123" - case InputEngine.InputMode.Greek: - return "ΑΒΓ" - case InputEngine.InputMode.Cyrillic: - return "АБВ" - case InputEngine.InputMode.Arabic: - if (InputContext.locale.substring(0, 2) === "fa") - return "\u0627\u200C\u0628\u200C\u067E" - return "\u0623\u200C\u0628\u200C\u062C" - case InputEngine.InputMode.Hebrew: - return "\u05D0\u05D1\u05D2" - case InputEngine.InputMode.ChineseHandwriting: - return "中文" - case InputEngine.InputMode.JapaneseHandwriting: - return "日本語" - case InputEngine.InputMode.KoreanHandwriting: - return "한국어" - case InputEngine.InputMode.Thai: - return "กขค" - default: - return "Abc" - } - } - color: "black" - anchors.left: parent.left - anchors.top: parent.top - anchors.margins: keyContentMargin * 1.5 - font { - family: fontFamily - weight: Font.Bold - pixelSize: 72 * scaleHint - capitalization: { - if (InputContext.capsLockActive) - return Font.AllUppercase - if (InputContext.shiftActive) - return Font.MixedCase - return Font.AllLowercase - } - } - } - Canvas { - id: traceInputKeyGuideLines - anchors.fill: traceInputKeyPanelBackground - opacity: 0.4 - onPaint: { - var ctx = getContext("2d") - ctx.lineWidth = 1 - ctx.strokeStyle = Qt.rgba(0, 0, 0) - ctx.clearRect(0, 0, width, height) - var i - var margin = Math.round(30 * scaleHint) - if (control.horizontalRulers) { - for (i = 0; i < control.horizontalRulers.length; i++) { - ctx.beginPath() - var y = Math.round(control.horizontalRulers[i]) - var rightMargin = Math.round(width - margin) - if (i + 1 === control.horizontalRulers.length) { - ctx.moveTo(margin, y) - ctx.lineTo(rightMargin, y) - } else { - var dashLen = Math.round(20 * scaleHint) - for (var dash = margin, dashCount = 0; - dash < rightMargin; dash += dashLen, dashCount++) { - if ((dashCount & 1) === 0) { - ctx.moveTo(dash, y) - ctx.lineTo(Math.min(dash + dashLen, rightMargin), y) - } - } - } - ctx.stroke() - } - } - if (control.verticalRulers) { - for (i = 0; i < control.verticalRulers.length; i++) { - ctx.beginPath() - ctx.moveTo(control.verticalRulers[i], 0) - ctx.lineTo(control.verticalRulers[i], height) - ctx.stroke() - } - } - } - Connections { - target: control - onHorizontalRulersChanged: traceInputKeyGuideLines.requestPaint() - onVerticalRulersChanged: traceInputKeyGuideLines.requestPaint() - } - } - } - - traceCanvasDelegate: TraceCanvas { - id: traceCanvas - onAvailableChanged: { - if (!available) - return - var ctx = getContext("2d") - ctx.lineWidth = parent.canvasType === "fullscreen" ? 10 : 10 * scaleHint - ctx.lineCap = "round" - ctx.strokeStyle = Qt.rgba(0, 0, 0) - ctx.fillStyle = ctx.strokeStyle - } - autoDestroyDelay: 800 - onTraceChanged: if (trace === null) opacity = 0 - Behavior on opacity { PropertyAnimation { easing.type: Easing.OutCubic; duration: 150 } } - } - - popupListDelegate: SelectionListItem { - property real cursorAnchor: popupListLabel.x + popupListLabel.width - id: popupListItem - width: popupListLabel.width + popupListLabel.anchors.leftMargin * 2 - height: popupListLabel.height + popupListLabel.anchors.topMargin * 2 - Text { - id: popupListLabel - anchors.left: parent.left - anchors.top: parent.top - anchors.leftMargin: popupListLabel.height / 2 - anchors.topMargin: popupListLabel.height / 3 - text: decorateText(display, wordCompletionLength) - color: "#5CAA15" - font { - family: "Sans" - weight: Font.Normal - pixelSize: Qt.inputMethod.cursorRectangle.height * 0.8 - } - function decorateText(text, wordCompletionLength) { - if (wordCompletionLength > 0) { - return text.slice(0, -wordCompletionLength) + '<u>' + text.slice(-wordCompletionLength) + '</u>' - } - return text - } - } - states: State { - name: "current" - when: popupListItem.ListView.isCurrentItem - PropertyChanges { - target: popupListLabel - color: "black" - } - } - } - - popupListBackground: Item { - Rectangle { - width: parent.width - height: parent.height - color: "white" - border { - width: 1 - color: "#929495" - } - } - } - - popupListAdd: Transition { - NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 200 } - } - - popupListRemove: Transition { - NumberAnimation { property: "opacity"; to: 0; duration: 200 } - } - - selectionHandle: Image { - sourceSize.width: 20 - source: resourcePrefix + "images/selectionhandle-bottom.svg" - } - - fullScreenInputContainerBackground: Rectangle { - color: "#FFF" - } - - fullScreenInputBackground: Rectangle { - color: "#FFF" - } - - fullScreenInputMargins: Math.round(15 * scaleHint) - - fullScreenInputPadding: Math.round(30 * scaleHint) - - fullScreenInputCursor: Rectangle { - width: 1 - color: "#000" - visible: parent.blinkStatus - } - - fullScreenInputFont.pixelSize: 58 * scaleHint - - fullScreenInputPasswordCharacter: "*" - - fullScreenInputSelectionColor: "#B57C47" -} |