summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2015-10-16 16:39:13 (GMT)
committerAleix Pol <aleixpol@kde.org>2015-10-16 16:39:13 (GMT)
commit1f1859d2fd1e71d142ccd51fc888b8af1914771b (patch)
treee6ed40dc1ec99cc6a4f17abc7ac7ffa9202a2091
parent1fba1d7ad1cef6dd6356ea1164961afface9d454 (diff)
Make it possible to launch appstream://packageid on discover
-rw-r--r--discover/main.cpp8
-rw-r--r--discover/org.kde.discover.desktop3
2 files changed, 10 insertions, 1 deletions
diff --git a/discover/main.cpp b/discover/main.cpp
index 66ba5a7..99c1f72 100644
--- a/discover/main.cpp
+++ b/discover/main.cpp
@@ -50,6 +50,7 @@ int main(int argc, char** argv)
parser.addOption(QCommandLineOption("category", i18n("Display a list of entries with a category."), "name"));
parser.addOption(QCommandLineOption("mode", i18n("Open Muon Discover in a said mode. Modes correspond to the toolbar buttons."), "name"));
parser.addOption(QCommandLineOption("listmodes", i18n("List all the available modes.")));
+ parser.addPositionalArgument("urls", i18n("Supports appstream: url scheme (experimental)"));
MuonBackendsFactory::setupCommandLine(&parser);
about.setupCommandLine(&parser);parser.addHelpOption();
parser.addVersionOption();
@@ -74,6 +75,13 @@ int main(int argc, char** argv)
fprintf(stdout, " * %s\n", qPrintable(mode));
return 0;
}
+
+ foreach(const QString &arg, parser.positionalArguments()) {
+ QUrl url(arg);
+ if (url.scheme() == QLatin1String("appstream")) {
+ mainWindow->openApplication(url.path());
+ }
+ }
}
mainWindow->show();
diff --git a/discover/org.kde.discover.desktop b/discover/org.kde.discover.desktop
index d540f1b..be9128d 100644
--- a/discover/org.kde.discover.desktop
+++ b/discover/org.kde.discover.desktop
@@ -44,7 +44,8 @@ Name[uk]=Шукач Muon
Name[x-test]=xxMuon Discoverxx
Name[zh_CN]=Muon 发现者
Name[zh_TW]=Muon 探詢器
-Exec=muon-discover
+MimeType=x-scheme-handler/appstream
+Exec=muon-discover %U
Icon=muondiscover
Type=Application
X-DocPath=muon/index.html