From 839bb32ea450ed2beb69a58b5928991cab1709e1 Mon Sep 17 00:00:00 2001 From: Bramastyo Harimukti Date: Wed, 22 Aug 2018 12:54:18 +0200 Subject: Add initial spotify application for Neptune 3 UI Change-Id: Ie63a592a1a0e1407a481e1ac04c42c727706e3a1 Reviewed-by: Dominik Holland --- com.pelagicore.spotify/Main.qml | 123 ++++++++++++++++++++++ com.pelagicore.spotify/com.pelagicore.spotify.pro | 5 + com.pelagicore.spotify/icon.png | Bin 0 -> 709 bytes com.pelagicore.spotify/info.yaml | 13 +++ 4 files changed, 141 insertions(+) create mode 100644 com.pelagicore.spotify/Main.qml create mode 100644 com.pelagicore.spotify/com.pelagicore.spotify.pro create mode 100644 com.pelagicore.spotify/icon.png create mode 100644 com.pelagicore.spotify/info.yaml (limited to 'com.pelagicore.spotify') diff --git a/com.pelagicore.spotify/Main.qml b/com.pelagicore.spotify/Main.qml new file mode 100644 index 0000000..670422a --- /dev/null +++ b/com.pelagicore.spotify/Main.qml @@ -0,0 +1,123 @@ +/**************************************************************************** +** +** Copyright (C) 2018 Pelagicore AG +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtAuto Extra Apps. +** +** $QT_BEGIN_LICENSE:BSD-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. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +** SPDX-License-Identifier: BSD-3-Clause +** +****************************************************************************/ + +import QtQuick 2.8 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.0 +import QtWebEngine 1.7 +import controls 1.0 +import utils 1.0 +import com.pelagicore.styles.neptune 3.0 + +PrimaryWindow { + id: root + + Control { + id: mainContent + anchors.fill: parent + property alias title: webView.title + property string url: "https://play.spotify.com" + + onUrlChanged: { + var pattern = /^((file|http|https|ftp):\/\/)/; + + if (!pattern.test(url)) { + url = "http://" + url; + } + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + Rectangle { + Layout.fillWidth: true + height: NeptuneStyle.dp(90) + color: "#000000" + + Rectangle { + anchors.bottom: parent.bottom + width: parent.width * webView.loadProgress / 100 + height: 4 + color: NeptuneStyle.accentColor + + opacity: webView.loading + Behavior on opacity { NumberAnimation {} } + } + } + + Item { + Layout.fillWidth: true + Layout.fillHeight: true + + Rectangle { + anchors.fill: parent + color: "white" + } + + WebEngineView { + id: webView + + anchors.fill: parent + url: mainContent.url + + onLoadingChanged: { + if (loadRequest.status === WebEngineView.LoadFailedStatus) { + console.log(Logging.sysui, "WebView.Loadfailed: " + loadRequest.errorString) + console.log(Logging.sysui, "when loading: " + loadRequest.url) + } + } + } + } + } + } +} diff --git a/com.pelagicore.spotify/com.pelagicore.spotify.pro b/com.pelagicore.spotify/com.pelagicore.spotify.pro new file mode 100644 index 0000000..c5f9d64 --- /dev/null +++ b/com.pelagicore.spotify/com.pelagicore.spotify.pro @@ -0,0 +1,5 @@ +FILES += info.yaml \ + icon.png \ + Main.qml + +load(app) diff --git a/com.pelagicore.spotify/icon.png b/com.pelagicore.spotify/icon.png new file mode 100644 index 0000000..ec81eb5 Binary files /dev/null and b/com.pelagicore.spotify/icon.png differ diff --git a/com.pelagicore.spotify/info.yaml b/com.pelagicore.spotify/info.yaml new file mode 100644 index 0000000..40774f0 --- /dev/null +++ b/com.pelagicore.spotify/info.yaml @@ -0,0 +1,13 @@ +formatVersion: 1 +formatType: am-application +--- +id: 'com.pelagicore.spotify' +icon: 'icon.png' +code: 'Main.qml' +runtime: 'qml' +name: + en: 'Spotify' + de: 'Spotify' + +categories: [ 'other' ] +mimeTypes: [ 'x-scheme-handler/x-spotify' ] -- cgit v1.2.3