aboutsummaryrefslogtreecommitdiffstats
path: root/launcher/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/src/main.cpp')
-rw-r--r--launcher/src/main.cpp51
1 files changed, 25 insertions, 26 deletions
diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp
index 77dee27..40110ef 100644
--- a/launcher/src/main.cpp
+++ b/launcher/src/main.cpp
@@ -1,18 +1,8 @@
+// SPDX-License-Identifier: Apache-2.0
/*
* Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
* Copyright (c) 2018 TOYOTA MOTOR CORPORATION
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright (C) 2022 Konsulko Group
*/
#include <QGuiApplication>
@@ -27,28 +17,37 @@
#include "applicationmodel.h"
#include "appinfo.h"
-#include "homescreenhandler.h"
+#include "AppLauncherClient.h"
int main(int argc, char *argv[])
{
QString myname = QString("launcher");
- QGuiApplication a(argc, argv);
+ QGuiApplication app(argc, argv);
// necessary to identify correctly by app_id
- a.setDesktopFileName(myname);
+ app.setDesktopFileName(myname);
- // import C++ class to QML
- qmlRegisterType<ApplicationModel>("AppModel", 1, 0, "ApplicationModel");
-
- HomescreenHandler* homescreenHandler = new HomescreenHandler();
-
- // mail.qml loading
QQmlApplicationEngine engine;
- int apps = homescreenHandler->getRunnablesCount();
- engine.rootContext()->setContextProperty(QStringLiteral("homescreenHandler"), homescreenHandler);
- engine.rootContext()->setContextProperty(QStringLiteral("apps_len"), apps);
+
+ AppLauncherClient* applauncher = new AppLauncherClient();
+ QList<QMap<QString, QString>> apps;
+ if (applauncher) {
+ applauncher->listApplications(apps);
+ engine.rootContext()->setContextProperty(QStringLiteral("applauncher"), applauncher);
+ engine.rootContext()->setContextProperty(QStringLiteral("apps_len"), apps.size());
+ } else {
+ qFatal("Could not create AppLauncherClient");
+ }
+
+ ApplicationModel *appmodel = new ApplicationModel();
+ if (appmodel) {
+ appmodel->initAppList(apps);
+ qmlRegisterSingletonType<ApplicationModel>("AppModel", 1, 0, "ApplicationModel",
+ [appmodel](QQmlEngine *, QJSEngine *) -> QObject * { return appmodel; });
+ } else {
+ qFatal("Could not create ApplicationModel");
+ }
engine.load(QUrl(QStringLiteral("qrc:/Launcher.qml")));
- homescreenHandler->getRunnables();
- return a.exec();
+ return app.exec();
}