aboutsummaryrefslogtreecommitdiffstats
path: root/app/main.qml
diff options
context:
space:
mode:
authorEgor Nemtsev <enemtsev@luxoft.com>2019-08-13 12:16:26 +0300
committerEgor Nemtsev <enemtsev@luxoft.com>2019-08-13 11:03:34 +0000
commit27f75ea7a0a502db30a640f997bbae9f31436260 (patch)
treeeb5286193553e047f4d0d92a23f3691f41f12a0f /app/main.qml
parentfff3e8e72b768d1ff9cf48b847e009298f0fe267 (diff)
Initial Alexa app source files from qt-auto-alexa-app
Task-number: AUTOSUITE-1130 Change-Id: Ie3990fdd0af5ca2fe6726ab15646acbd1fd09d08 Reviewed-by: Bramastyo Harimukti Santoso <bramastyo.harimukti.santoso@pelagicore.com>
Diffstat (limited to 'app/main.qml')
-rw-r--r--app/main.qml124
1 files changed, 124 insertions, 0 deletions
diff --git a/app/main.qml b/app/main.qml
new file mode 100644
index 0000000..2b84fee
--- /dev/null
+++ b/app/main.qml
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 Luxoft Sweden AB
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Neptune 3 UI.
+**
+** $QT_BEGIN_LICENSE:GPL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite 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$
+**
+** SPDX-License-Identifier: GPL-3.0
+**
+****************************************************************************/
+
+import application.windows 1.0
+
+import QtQuick 2.10
+import QtQuick.Window 2.10
+import QtQuick.Controls 2.3
+import QtQuick.Layouts 1.3
+
+import alexaauth 1.0
+import alexainterface 1.0
+
+import shared.Sizes 1.0
+import shared.Style 1.0
+import shared.controls 1.0
+import shared.utils 1.0
+
+ApplicationCCWindow {
+ id: root
+
+ Image {
+ id: headerImage
+ x: root.exposedRect.x
+ y: 0
+ width: root.exposedRect.width
+ height: Sizes.dp(436) + exposedRect.y
+ fillMode: Image.Pad
+
+ source: "assets/alexa_background.png"
+ asynchronous: true
+ opacity: root.neptuneState === "Maximized" ? 1 : 0
+ visible: opacity > 0
+ }
+
+ Item {
+ id: mainWindow
+ x: root.exposedRect.x
+ y: root.exposedRect.y
+ width: root.exposedRect.width
+ height: root.exposedRect.height
+
+ AlexaAuth {
+ id: alexaAuth
+ httpUserAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"
+ }
+
+ AlexaInterface {
+ id: alexa
+ logLevel: AlexaInterface.Info
+ onAuthCodeChanged: {
+ if (authCode !== "") {
+ alexaAuth.authCode = authCode
+ }
+ }
+ onAuthUrlChanged: {
+ alexaAuth.authUrl = authUrl
+ }
+ }
+
+ Header {
+ anchors.top: parent.top
+ anchors.topMargin: Sizes.dp(80)
+ anchors.horizontalCenter: parent.horizontalCenter
+ unfoldHeader: alexaView.visible || authView.visible
+ alexaInterface: alexa
+ visible: root.neptuneState === "Maximized"
+ }
+
+ Item {
+ id: paneMainView
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.right: parent.right
+ height: parent.height - Sizes.dp(50)
+
+ AlexaView {
+ id: alexaView
+ anchors.fill: parent
+ alexaInterface: alexa
+ visible: alexaInterface.authState === AlexaInterface.Refreshed
+ neptuneState: root.neptuneState
+ }
+
+ AuthView {
+ id: authView
+ anchors.fill: parent
+ alexaInterface: alexa
+ alexaAuth: alexaAuth
+ visible: alexaInterface.authState !== AlexaInterface.Refreshed
+ }
+ }
+
+ Component.onCompleted: alexa.initAlexaQMLClient()
+ }
+}