~ubuntu-branches/ubuntu/quantal/kde-runtime/quantal

« back to all changes in this revision

Viewing changes to plasma/tools/plasmapkg/main.cpp

  • Committer: Package Import Robot
  • Author(s): Felix Geyer, Felix Geyer, Jonathan Riddell
  • Date: 2012-06-11 22:08:34 UTC
  • mfrom: (1.1.13)
  • Revision ID: package-import@ubuntu.com-20120611220834-71ttjioin1txqkc2
Tags: 4:4.8.90-0ubuntu1
[ Felix Geyer ]
* New upstream beta release.

[ Jonathan Riddell ]
* Add kubuntu_kactivities_cmake.diff from upstream, fix detection of kactivities

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
#include <KServiceTypeTrader>
34
34
#include <KShell>
35
35
#include <KStandardDirs>
 
36
#include <KSycoca>
36
37
 
37
38
#include <Plasma/PackageStructure>
38
39
#include <Plasma/Package>
48
49
 
49
50
void runKbuildsycoca()
50
51
{
51
 
    QDBusInterface dbus("org.kde.kded", "/kbuildsycoca", "org.kde.kbuildsycoca");
52
 
    dbus.call(QDBus::NoBlock, "recreate");
 
52
    if (KSycoca::isAvailable()) {
 
53
        QDBusInterface dbus("org.kde.kded", "/kbuildsycoca", "org.kde.kbuildsycoca");
 
54
        dbus.call(QDBus::NoBlock, "recreate");
 
55
    }
53
56
}
54
57
 
55
58
QStringList packages(const QStringList& types)
56
59
{
57
60
    QStringList result;
58
61
 
59
 
    foreach (const QString& type, types) {
60
 
        const KService::List services = KServiceTypeTrader::self()->query(type);
61
 
        foreach (const KService::Ptr &service, services) {
62
 
            result << service->property("X-KDE-PluginInfo-Name", QVariant::String).toString();
 
62
    if (KSycoca::isAvailable()) {
 
63
        foreach (const QString& type, types) {
 
64
            const KService::List services = KServiceTypeTrader::self()->query(type);
 
65
            foreach (const KService::Ptr &service, services) {
 
66
                result << service->property("X-KDE-PluginInfo-Name", QVariant::String).toString();
 
67
            }
63
68
        }
64
69
    }
65
70
 
135
140
    builtIns.insert(i18n("KWin Script"), QStringList() << "KWin/Script" << "kwin/scripts/");
136
141
    renderTypeTable(builtIns);
137
142
 
138
 
    KService::List offers = KServiceTypeTrader::self()->query("Plasma/PackageStructure");
 
143
    KService::List offers;
 
144
    if (KSycoca::isAvailable()) {
 
145
        offers = KServiceTypeTrader::self()->query("Plasma/PackageStructure");
 
146
    }
 
147
 
139
148
    if (!offers.isEmpty()) {
140
149
        std::cout << std::endl;
141
150
        output(i18n("Provided by plugins:"));
328
337
        packageRoot = "kwin/scripts/";
329
338
        servicePrefix = "kwin-script-";
330
339
        pluginTypes << "KWin/Script";
331
 
    } else {
 
340
    } else if (KSycoca::isAvailable()) {
332
341
        const QString constraint = QString("[X-KDE-PluginInfo-Name] == '%1'").arg(type);
333
342
        KService::List offers = KServiceTypeTrader::self()->query("Plasma/PackageStructure", constraint);
334
343
        if (offers.isEmpty()) {