Warning, /plasma/plasma-bigscreen/containments/homescreen/package/contents/ui/MycroftIndicator.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2019 Marco Martin <mart@kde.org>
0003 SPDX-FileCopyrightText: 2019 Aditya Mehra <aix.m@outlook.com>
0004
0005 SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007
0008 import QtQuick 2.14
0009 import QtQuick.Window 2.14
0010 import QtQuick.Layouts 1.14
0011 import QtQuick.Controls 2.14 as Controls
0012 import org.kde.kirigami 2.12 as Kirigami
0013 import Mycroft 1.0 as Mycroft
0014
0015 RowLayout {
0016 id: mycroftStatusIndicator
0017
0018 function disconnectclose() {
0019 Mycroft.MycroftController.disconnectSocket();
0020 mycroftIndicatorLoader.active = false;
0021 }
0022
0023 Kirigami.Heading {
0024 id: inputQuery
0025 level: 3
0026 opacity: 0
0027 onTextChanged: {
0028 opacity = 1;
0029 utteranceTimer.restart();
0030 }
0031 Timer {
0032 id: utteranceTimer
0033 interval: 8000
0034 onTriggered: {
0035 inputQuery.text = "";
0036 inputQuery.opacity = 0
0037 }
0038 }
0039 Behavior on opacity {
0040 OpacityAnimator {
0041 duration: Kirigami.Units.longDuration
0042 easing.type: Easing.InOutQuad
0043 }
0044 }
0045
0046 Connections {
0047 target: Mycroft.MycroftController
0048 onIntentRecevied: {
0049 if(type == "recognizer_loop:utterance") {
0050 inputQuery.text = data.utterances[0]
0051 }
0052 }
0053 onServerReadyChanged: {
0054 if (Mycroft.MycroftController.serverReady) {
0055 inputQuery.text = "";
0056 } else {
0057 inputQuery.text = i18n("Getting Ready... Please Wait");
0058 utteranceTimer.running = false;
0059 }
0060 }
0061 onStatusChanged: {
0062 switch (Mycroft.MycroftController.status) {
0063 case Mycroft.MycroftController.Connecting:
0064 case Mycroft.MycroftController.Error:
0065 case Mycroft.MycroftController.Stopped:
0066 inputQuery.text = i18n("Getting Ready... Please Wait");
0067 utteranceTimer.running = false;
0068 break;
0069 default:
0070 if (Mycroft.MycroftController.serverReady) {
0071 inputQuery.text = "";
0072 }
0073 break;
0074 }
0075
0076 }
0077 }
0078 }
0079 Mycroft.StatusIndicator {
0080 id: si
0081 z: 2
0082 Layout.preferredWidth: height
0083 Layout.fillHeight: true
0084 hasShadow: false
0085 }
0086 }