2
* Copyright (C) 2016 Canonical, Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
#include "ualwrapper.h"
21
#include <ubuntu-app-launch/registry.h>
22
using namespace ubuntu::app_launch;
24
UalWrapper::UalWrapper(QObject *parent):
30
QStringList UalWrapper::installedApps()
34
for (const std::shared_ptr<Application> &app : Registry::installedApps()) {
35
if (!app->appId().package.value().empty()) {
36
appIds << QString::fromStdString(app->appId().package.value() + "_" + app->appId().appname.value());
38
appIds << QString::fromStdString(app->appId().appname);
41
} catch (const std::runtime_error &e) {
42
qWarning() << "ubuntu-all-launch threw an exception listing apps:" << e.what();
48
UalWrapper::AppInfo UalWrapper::getApplicationInfo(const QString &appId)
53
AppID ualAppId = AppID::find(appId.toStdString());
54
if (ualAppId.empty()) {
55
qWarning() << "Empty ualAppId result for" << appId;
59
std::shared_ptr<Application> ualApp;
60
ualApp = Application::create(ualAppId, Registry::getDefault());
62
info.name = QString::fromStdString(ualApp->info()->name());
63
info.icon = QString::fromStdString(ualApp->info()->iconPath());
64
for (const std::string &keyword : ualApp->info()->keywords().value()) {
65
info.keywords << QString::fromStdString(keyword);
68
} catch (const std::runtime_error &e) {
69
qWarning() << "ubuntu-app-launch threw an exception getting app info for appId:" << appId << ":" << e.what();