Warning, /plasma/plasma-workspace/lookandfeel/components/VirtualKeyboard.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2017 Martin Gräßlin <mgraesslin@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.15 0008 import QtQuick.VirtualKeyboard 2.4 0009 0010 import org.kde.kirigami 2.20 as Kirigami 0011 0012 InputPanel { 0013 id: inputPanel 0014 property bool activated: false 0015 active: activated && Qt.inputMethod.visible 0016 width: parent.width 0017 0018 states: [ 0019 State { 0020 name: "visible" 0021 when: inputPanel.active 0022 PropertyChanges { 0023 target: inputPanel 0024 y: inputPanel.parent.height - inputPanel.height 0025 opacity: 1 0026 visible: true 0027 } 0028 }, 0029 State { 0030 name: "hidden" 0031 when: !inputPanel.active 0032 PropertyChanges { 0033 target: inputPanel 0034 y: inputPanel.parent.height 0035 opacity: 0 0036 visible:false 0037 } 0038 } 0039 ] 0040 0041 transitions: [ 0042 Transition { 0043 to: "visible" 0044 ParallelAnimation { 0045 YAnimator { 0046 // NOTE this is necessary as otherwise the keyboard always starts the transition with Y as 0, due to the internal reparenting happening when becomes active 0047 from: inputPanel.parent.height 0048 duration: Kirigami.Units.longDuration 0049 easing.type: Easing.OutQuad 0050 } 0051 OpacityAnimator { 0052 duration: Kirigami.Units.longDuration 0053 easing.type: Easing.OutQuad 0054 } 0055 } 0056 }, 0057 Transition { 0058 to: "hidden" 0059 ParallelAnimation { 0060 YAnimator { 0061 duration: Kirigami.Units.longDuration 0062 easing.type: Easing.InQuad 0063 } 0064 OpacityAnimator { 0065 duration: Kirigami.Units.longDuration 0066 easing.type: Easing.InQuad 0067 } 0068 } 0069 } 0070 ] 0071 }