diff options
Diffstat (limited to 'launcher/src')
-rw-r--r-- | launcher/src/homescreenhandler.cpp | 24 | ||||
-rw-r--r-- | launcher/src/homescreenhandler.h | 1 | ||||
-rw-r--r-- | launcher/src/main.cpp | 2 |
3 files changed, 25 insertions, 2 deletions
diff --git a/launcher/src/homescreenhandler.cpp b/launcher/src/homescreenhandler.cpp index 9cf7e61..33987dd 100644 --- a/launcher/src/homescreenhandler.cpp +++ b/launcher/src/homescreenhandler.cpp @@ -47,10 +47,30 @@ void HomescreenHandler::tapShortcut(QString application_id) } } +int HomescreenHandler::getRunnablesCount(void) +{ + int apps = 0; + + QDBusPendingReply<QVariantList> reply = applaunch_iface->listApplications(true); + reply.waitForFinished(); + + if (reply.isError()) { + HMI_ERROR("Launcher","Unable to retrieve application list: %s", + reply.error().message().toStdString().c_str()); + return apps; + } else { + QVariantList applist_variant = reply.value(); + for (auto &v: applist_variant) + apps++; + } + + return apps; +} + void HomescreenHandler::getRunnables(void) { - struct json_object *json_applist; - QString applist; + struct json_object *json_applist; + QString applist; QStringList apps; QDBusPendingReply<QVariantList> reply = applaunch_iface->listApplications(true); diff --git a/launcher/src/homescreenhandler.h b/launcher/src/homescreenhandler.h index 616f816..7392992 100644 --- a/launcher/src/homescreenhandler.h +++ b/launcher/src/homescreenhandler.h @@ -38,6 +38,7 @@ public: Q_INVOKABLE void tapShortcut(QString application_id); Q_INVOKABLE void getRunnables(void); + int getRunnablesCount(void); void onRep(struct json_object* reply_contents); diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp index 563e883..77dee27 100644 --- a/launcher/src/main.cpp +++ b/launcher/src/main.cpp @@ -44,7 +44,9 @@ int main(int argc, char *argv[]) // mail.qml loading QQmlApplicationEngine engine; + int apps = homescreenHandler->getRunnablesCount(); engine.rootContext()->setContextProperty(QStringLiteral("homescreenHandler"), homescreenHandler); + engine.rootContext()->setContextProperty(QStringLiteral("apps_len"), apps); engine.load(QUrl(QStringLiteral("qrc:/Launcher.qml"))); homescreenHandler->getRunnables(); |