/* SPDX-FileCopyrightText: 2017 Martin Gräßlin SPDX-License-Identifier: GPL-2.0-or-later */ import QtQuick import QtQuick.VirtualKeyboard import org.kde.kirigami as Kirigami import org.kde.plasma.core as PlasmaCore InputPanel { id: inputPanel width: parent.width property bool activated: false active: activated && Qt.inputMethod.visible states: [ State { name: "visible" when: inputPanel.active PropertyChanges { target: inputPanel y: inputPanel.parent.height - inputPanel.height opacity: 1 visible: true } }, State { name: "hidden" when: !inputPanel.active PropertyChanges { target: inputPanel y: inputPanel.parent.height opacity: 0 visible:false } } ] transitions: [ Transition { to: "visible" ParallelAnimation { YAnimator { // 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 from: inputPanel.parent.height duration: Kirigami.Units.longDuration easing.type: Easing.OutQuad } OpacityAnimator { duration: Kirigami.Units.longDuration easing.type: Easing.OutQuad } } }, Transition { to: "hidden" ParallelAnimation { YAnimator { duration: Kirigami.Units.longDuration easing.type: Easing.InQuad } OpacityAnimator { duration: Kirigami.Units.longDuration easing.type: Easing.InQuad } } } ] }