summaryrefslogtreecommitdiff
path: root/dummyimports/QtApplicationManager/ApplicationManager.qml
diff options
context:
space:
mode:
Diffstat (limited to 'dummyimports/QtApplicationManager/ApplicationManager.qml')
-rw-r--r--dummyimports/QtApplicationManager/ApplicationManager.qml117
1 files changed, 117 insertions, 0 deletions
diff --git a/dummyimports/QtApplicationManager/ApplicationManager.qml b/dummyimports/QtApplicationManager/ApplicationManager.qml
new file mode 100644
index 00000000..b4dee0ae
--- /dev/null
+++ b/dummyimports/QtApplicationManager/ApplicationManager.qml
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Pelagicore Application Manager.
+**
+** $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
+**
+****************************************************************************/
+
+pragma Singleton
+import QtQuick 2.2
+
+ListModel {
+ id: root
+
+ property int count: 3
+ property bool dummy: true
+
+ property var applibrary : [
+ ["com.pelagicore.browser","icon.png", "Browser", "browser", "Browser.qml"],
+ ["com.pelagicore.movies","icon.png", "Movies", "media", "Movies.qml"],
+ ["com.pelagicore.music","icon.png", "Music", "media", "Music.qml"],
+ ]
+
+ signal emitSurface(int index, Item item)
+
+
+
+ function setApplicationAudioFocus(appId, appFocus)
+ {
+ print("setApplicationAudioFocus(" + appId + ", " + appFocus + ")")
+ }
+
+ function qmltypeof(obj, className) { // QtObject, string -> bool
+ // className plus "(" is the class instance without modification
+ // className plus "_QML" is the class instance with user-defined properties
+ var str = obj.toString();
+ return str.indexOf(className + "(") == 0 || str.indexOf(className + "_QML") == 0;
+ }
+
+ function startApplication(id) {
+ print("Starting the application. ")
+ var component
+ var item
+ for (var i = 0; i < root.count; i++) {
+ var entry
+ print("ApplicationManager: " + createAppEntry(i).applicationId + " given app id to open: " + id)
+ if (root.get(i).applicationId === id) {
+ component = Qt.createComponent("../../../../apps/" + createAppEntry(i).applicationId + "/" + createAppEntry(i).qml);
+ if (component.status === Component.Ready) {
+ item = component.createObject()
+ if (!item)
+ console.log("Failed to create an Object.")
+ else {
+ print("Starting the application. Sending a signal", i, item, item.children.length)
+ root.setProperty(i, "surfaceItem", item)
+ root.emitSurface(i, item)
+ }
+ }
+ else
+ console.log("Component creation failed " + createAppEntry(i).qml + " Error: " + component.errorString())
+ }
+ }
+ }
+
+
+
+ function createAppEntry(i) {
+
+ var entry = {
+ applicationId: applibrary[i][0],
+ icon: "../../apps/" + applibrary[i][0] + "/" + applibrary[i][1],
+ name: applibrary[i][2],
+ isRunning: false,
+ isStarting: false,
+ isActive: false,
+ isBlocked: false,
+ isUpdating: false,
+ isRemovable: false,
+ updateProgress: 0,
+ codeFilePath: "",
+ categories: applibrary[i][3],
+ qml: applibrary[i][4],
+ surfaceItem: null
+ }
+ return entry
+ }
+ Component.onCompleted: {
+ clear()
+ for (var i = 0; i < root.count; i++) {
+ append(createAppEntry(i))
+ }
+ }
+
+}