Diff between sadly unkown kde-runtime-4.7.2.tar.bz2 tarball commit ID and:
remotes/origin/active-development/4.7 (8709e4406cc1e901c91a580cbc05dfe41751cff6)

Repository URL: git://anongit.kde.org/kde-runtime

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c41ee35..abad325 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -69,7 +69,6 @@ if(NOT WINCE)
 add_subdirectory(kuiserver)
 endif(NOT WINCE)
 add_subdirectory(kwalletd)
-add_subdirectory(activitymanager)
 if ( UNIX )
    add_subdirectory(soliduiserver)
    add_subdirectory(solidautoeject)
diff --git a/activitymanager/ActivityManager.cpp b/activitymanager/ActivityManager.cpp
deleted file mode 100644
index ea95232..0000000
--- a/activitymanager/ActivityManager.cpp
+++ /dev/null
@@ -1,709 +0,0 @@
-/*
- *   Copyright (C) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include "ActivityManager.h"
-#include "ActivityManager_p.h"
-
-#include <QUuid>
-#include <QDBusConnection>
-
-#include <KConfig>
-#include <KConfigGroup>
-#include <KCrash>
-#include <KUrl>
-#include <KDebug>
-
-#include <KWindowSystem>
-
-#ifdef HAVE_NEPOMUK
-    #include <Nepomuk/ResourceManager>
-    #include <Nepomuk/Resource>
-#endif
-
-#include "activitymanageradaptor.h"
-#include "EventProcessor.h"
-
-#include "config-features.h"
-
-#ifdef HAVE_NEPOMUK
-    #define NEPOMUK_RUNNING d->nepomukInitialized()
-#else
-    #define NEPOMUK_RUNNING false
-#endif
-
-#define ACTIVITIES_PROTOCOL "activities://"
-
-// copied from kdelibs\kdeui\notifications\kstatusnotifieritemdbus_p.cpp
-// if there is a common place for such definitions please move
-#ifdef Q_OS_WIN64
-__inline int toInt(WId wid)
-{
-	return (int)((__int64)wid);
-}
-
-#else
-__inline int toInt(WId wid)
-{
-	return (int)wid;
-}
-#endif
-
-// Private
-
-ActivityManagerPrivate::ActivityManagerPrivate(ActivityManager * parent)
-    : haveSessions(false),
-    config("activitymanagerrc"),
-#ifdef HAVE_NEPOMUK
-    m_nepomukInitCalled(false),
-#endif
-    q(parent)
-{
-    // Initializing config
-    connect(&configSyncTimer, SIGNAL(timeout()),
-             this, SLOT(configSync()));
-
-    configSyncTimer.setSingleShot(true);
-    configSyncTimer.setInterval(2 * 60 * 1000);
-
-    kDebug() << "reading activities:";
-    foreach(const QString & activity, activitiesConfig().keyList()) {
-        kDebug() << activity;
-        activities[activity] = ActivityManager::Stopped;
-    }
-
-    foreach(const QString & activity, mainConfig().readEntry("runningActivities", activities.keys())) {
-        kDebug() << "setting" << activity << "as" << "running";
-        if (activities.contains(activity)) {
-            activities[activity] = ActivityManager::Running;
-        }
-    }
-
-    currentActivity = mainConfig().readEntry("currentActivity", QString());
-    kDebug() << "currentActivity is" << currentActivity;
-
-    connect(KWindowSystem::self(), SIGNAL(windowRemoved(WId)),
-            this, SLOT(windowClosed(WId)));
-
-    //listen to ksmserver for starting/stopping
-    ksmserverInterface = new QDBusInterface("org.kde.ksmserver", "/KSMServer", "org.kde.KSMServerInterface");
-    if (ksmserverInterface->isValid()) {
-        ksmserverInterface->setParent(this);
-        connect(ksmserverInterface, SIGNAL(subSessionOpened()), this, SLOT(startCompleted()));
-        connect(ksmserverInterface, SIGNAL(subSessionClosed()), this, SLOT(stopCompleted()));
-        connect(ksmserverInterface, SIGNAL(subSessionCloseCanceled()), this, SLOT(stopCancelled())); //spelling fail :)
-        haveSessions = true;
-    } else {
-        kDebug() << "couldn't connect to ksmserver! session stuff won't work";
-        //note: in theory it's nice to try again later
-        //but in practice, ksmserver is either there or it isn't (killing it logs you out)
-        //so in this case there's no point. :)
-        ksmserverInterface->deleteLater();
-        ksmserverInterface = 0;
-    }
-
-}
-
-ActivityManagerPrivate::~ActivityManagerPrivate()
-{
-    configSync();
-}
-
-void ActivityManagerPrivate::windowClosed(WId windowId)
-{
-    if (!resourcesForWindow.contains(windowId)) {
-        return;
-    }
-
-    foreach(const KUrl & uri, resourcesForWindow[windowId]) {
-        q->NotifyResourceClosed(toInt(windowId), uri.url());
-    }
-}
-
-void ActivityManagerPrivate::setActivityState(const QString & id, ActivityManager::State state)
-{
-    if (activities[id] == state) return;
-
-    kDebug() << "Set the state of" << id << "to" << state;
-
-    /**
-     * Treating 'Starting' as 'Running', and 'Stopping' as 'Stopped'
-     * as far as the config file is concerned
-     */
-    bool configNeedsUpdating = ((activities[id] & 4) != (state & 4));
-
-    activities[id] = state;
-
-    switch (state) {
-        case ActivityManager::Running:
-            kDebug() << "sending ActivityStarted signal";
-            emit q->ActivityStarted(id);
-            break;
-
-        case ActivityManager::Stopped:
-            kDebug() << "sending ActivityStopped signal";
-            emit q->ActivityStopped(id);
-            break;
-
-        default:
-            break;
-    }
-
-    kDebug() << "sending ActivityStateChanged signal";
-    emit q->ActivityStateChanged(id, state);
-
-    if (configNeedsUpdating) {
-        mainConfig().writeEntry("runningActivities",
-                activities.keys(ActivityManager::Running) +
-                activities.keys(ActivityManager::Starting));
-        scheduleConfigSync();
-    }
-}
-
-KConfigGroup ActivityManagerPrivate::activitiesConfig()
-{
-    return KConfigGroup(&config, "activities");
-}
-
-KConfigGroup ActivityManagerPrivate::mainConfig()
-{
-    return KConfigGroup(&config, "main");
-}
-
-void ActivityManagerPrivate::ensureCurrentActivityIsRunning()
-{
-    QStringList runningActivities = q->ListActivities(ActivityManager::Running);
-
-    if (!runningActivities.contains(currentActivity)) {
-        if (runningActivities.size() > 0) {
-            setCurrentActivity(runningActivities.first());
-        } else {
-            kDebug() << "there are no running activities! eek!";
-        }
-    }
-}
-
-bool ActivityManagerPrivate::setCurrentActivity(const QString & id)
-{
-    if (id.isEmpty()) {
-        currentActivity.clear();
-
-    } else {
-        if (!activities.contains(id)) {
-            return false;
-        }
-
-        q->StartActivity(id);
-
-        currentActivity = id;
-        mainConfig().writeEntry("currentActivity", id);
-
-        scheduleConfigSync();
-    }
-
-    emit q->CurrentActivityChanged(id);
-    return true;
-}
-
-QString ActivityManagerPrivate::activityName(const QString & id)
-{
-    return activitiesConfig().readEntry(id, QString());
-}
-
-void ActivityManagerPrivate::scheduleConfigSync()
-{
-    if (!configSyncTimer.isActive()) {
-        configSyncTimer.start();
-    }
-}
-
-void ActivityManagerPrivate::configSync()
-{
-    configSyncTimer.stop();
-    config.sync();
-}
-
-#ifdef HAVE_NEPOMUK
-
-Nepomuk::Resource ActivityManagerPrivate::activityResource(const QString & id)
-{
-    kDebug() << "testing for nepomuk";
-
-    if (nepomukInitialized()) {
-        return Nepomuk::Resource(KUrl(ACTIVITIES_PROTOCOL + id));
-    } else {
-        return Nepomuk::Resource();
-    }
-}
-
-/* lazy init of nepomuk */
-bool ActivityManagerPrivate::nepomukInitialized()
-{
-    if (m_nepomukInitCalled) return
-        Nepomuk::ResourceManager::instance()->initialized();
-
-    m_nepomukInitCalled = true;
-
-    connect(Nepomuk::ResourceManager::instance(), SIGNAL(nepomukSystemStarted()), this, SLOT(backstoreAvailable()));
-
-    return (Nepomuk::ResourceManager::instance()->init() == 0);
-}
-
-void ActivityManagerPrivate::backstoreAvailable()
-{
-    //emit q->BackstoreAvailable();
-    //kick the icons, so that clients don't need to know that they depend on nepomuk
-    for (QHash<QString, ActivityManager::State>::const_iterator i = activities.constBegin();
-         i != activities.constEnd(); ++i) {
-        emit q->ActivityChanged(i.key());
-    }
-}
-
-#else // HAVE_NEPOMUK
-
-void ActivityManagerPrivate::backstoreAvailable()
-{
-}
-
-#endif // HAVE_NEPOMUK
-
-// Main
-
-ActivityManager::ActivityManager()
-    : d(new ActivityManagerPrivate(this))
-{
-
-    QDBusConnection dbus = QDBusConnection::sessionBus();
-    new ActivityManagerAdaptor(this);
-    dbus.registerObject("/ActivityManager", this);
-
-    // TODO: Sync activities in nepomuk with currently existing ones
-    // but later, when we are sure nepomuk is running
-
-    // ensureCurrentActivityIsRunning();
-
-    KCrash::setFlags(KCrash::AutoRestart);
-}
-
-ActivityManager::~ActivityManager()
-{
-    delete d;
-}
-
-void ActivityManager::Start()
-{
-    // doing absolutely nothing
-}
-
-void ActivityManager::Stop()
-{
-    d->configSync();
-    QCoreApplication::quit();
-}
-
-bool ActivityManager::IsBackstoreAvailable() const
-{
-    return NEPOMUK_RUNNING;
-}
-
-
-// workspace activities control
-
-QString ActivityManager::CurrentActivity() const
-{
-    return d->currentActivity;
-}
-
-bool ActivityManager::SetCurrentActivity(const QString & id)
-{
-    kDebug() << id;
-
-    if (id.isEmpty()) {
-        return false;
-    }
-
-    return d->setCurrentActivity(id);
-}
-
-QString ActivityManager::AddActivity(const QString & name)
-{
-    kDebug() << name;
-
-    QString id;
-
-    // Ensuring a new Uuid. The loop should usually end after only
-    // one iteration
-    QStringList existingActivities = d->activities.keys();
-    while (id.isEmpty() || existingActivities.contains(id)) {
-        id = QUuid::createUuid();
-        id.replace(QRegExp("[{}]"), QString());
-    }
-
-    d->setActivityState(id, Running);
-
-    SetActivityName(id, name);
-
-    emit ActivityAdded(id);
-
-    d->configSync();
-    return id;
-}
-
-void ActivityManager::RemoveActivity(const QString & id)
-{
-    kDebug() << id;
-
-    if (d->activities.size() < 2 ||
-            !d->activities.contains(id)) {
-        return;
-    }
-
-    // If the activity is running, stash it
-    StopActivity(id);
-
-    d->setActivityState(id, Invalid);
-
-    // Removing the activity
-    d->activities.remove(id);
-    d->activitiesConfig().deleteEntry(id);
-
-    // If the removed activity was the current one,
-    // set another activity as current
-    if (d->currentActivity == id) {
-        d->ensureCurrentActivityIsRunning();
-    }
-
-    if (d->transitioningActivity == id) {
-        //very unlikely, but perhaps not impossible
-        //but it being deleted doesn't mean ksmserver is un-busy..
-        //in fact, I'm not quite sure what would happen.... FIXME
-        //so I'll just add some output to warn that it happened.
-        kDebug() << "deleting activity in transition. watch out!";
-    }
-
-    emit ActivityRemoved(id);
-    d->configSync();
-}
-
-void ActivityManager::StartActivity(const QString & id)
-{
-    kDebug() << id;
-
-    if (!d->activities.contains(id) ||
-            d->activities[id] != Stopped) {
-        return;
-    }
-
-    if (!d->transitioningActivity.isEmpty()) {
-        kDebug() << "busy!!";
-        //TODO: implement a queue instead
-        return;
-    }
-
-    d->transitioningActivity = id;
-    d->setActivityState(id, Starting);
-
-    //ugly hack to avoid dbus deadlocks
-    QMetaObject::invokeMethod(d, "reallyStartActivity", Qt::QueuedConnection, Q_ARG(QString, id));
-}
-
-void ActivityManagerPrivate::reallyStartActivity(const QString & id)
-{
-    bool called = false;
-    // start the starting :)
-    if (haveSessions) {
-        QDBusInterface kwin("org.kde.kwin", "/KWin", "org.kde.KWin");
-        if (kwin.isValid()) {
-            QDBusMessage reply = kwin.call("startActivity", id);
-            if (reply.type() == QDBusMessage::ErrorMessage) {
-                kDebug() << "dbus error:" << reply.errorMessage();
-            } else {
-                QList<QVariant> ret = reply.arguments();
-                if (ret.length() == 1 && ret.first().toBool()) {
-                    called = true;
-                } else {
-                    kDebug() << "call returned false; probably ksmserver is busy";
-                    setActivityState(transitioningActivity, ActivityManager::Stopped);
-                    transitioningActivity.clear();
-                    return; //assume we're mid-logout and just don't touch anything
-                }
-            }
-        } else {
-            kDebug() << "couldn't get kwin interface";
-        }
-    }
-
-    if (!called) {
-        //maybe they use compiz?
-        //go ahead without the session
-        startCompleted();
-    }
-    configSync(); //force immediate sync
-}
-
-void ActivityManagerPrivate::startCompleted()
-{
-    if (transitioningActivity.isEmpty()) {
-        kDebug() << "huh?";
-        return;
-    }
-    setActivityState(transitioningActivity, ActivityManager::Running);
-    transitioningActivity.clear();
-}
-
-void ActivityManager::StopActivity(const QString & id)
-{
-    kDebug() << id;
-
-    if (!d->activities.contains(id) ||
-            d->activities[id] == Stopped) {
-        return;
-    }
-
-    if (!d->transitioningActivity.isEmpty()) {
-        kDebug() << "busy!!";
-        //TODO: implement a queue instead
-        return;
-    }
-
-    d->transitioningActivity = id;
-    d->setActivityState(id, Stopping);
-
-    //ugly hack to avoid dbus deadlocks
-    QMetaObject::invokeMethod(d, "reallyStopActivity", Qt::QueuedConnection, Q_ARG(QString, id));
-}
-
-void ActivityManagerPrivate::reallyStopActivity(const QString & id)
-{
-    bool called = false;
-    // start the stopping :)
-    if (haveSessions) {
-        QDBusInterface kwin("org.kde.kwin", "/KWin", "org.kde.KWin");
-        if (kwin.isValid()) {
-            QDBusMessage reply = kwin.call("stopActivity", id);
-            if (reply.type() == QDBusMessage::ErrorMessage) {
-                kDebug() << "dbus error:" << reply.errorMessage();
-            } else {
-                QList<QVariant> ret = reply.arguments();
-                if (ret.length() == 1 && ret.first().toBool()) {
-                    called = true;
-                } else {
-                    kDebug() << "call returned false; probably ksmserver is busy";
-                    stopCancelled();
-                    return; //assume we're mid-logout and just don't touch anything
-                }
-            }
-        } else {
-            kDebug() << "couldn't get kwin interface";
-        }
-    }
-
-    if (!called) {
-        //maybe they use compiz?
-        //go ahead without the session
-        stopCompleted();
-    }
-}
-
-void ActivityManagerPrivate::stopCompleted()
-{
-    if (transitioningActivity.isEmpty()) {
-        kDebug() << "huh?";
-        return;
-    }
-    setActivityState(transitioningActivity, ActivityManager::Stopped);
-    if (currentActivity == transitioningActivity) {
-        ensureCurrentActivityIsRunning();
-    }
-    transitioningActivity.clear();
-    configSync(); //force immediate sync
-}
-
-void ActivityManagerPrivate::stopCancelled()
-{
-    if (transitioningActivity.isEmpty()) {
-        kDebug() << "huh?";
-        return;
-    }
-    setActivityState(transitioningActivity, ActivityManager::Running);
-    transitioningActivity.clear();
-}
-
-int ActivityManager::ActivityState(const QString & id) const
-{
-    //kDebug() << id << "- is it in" << d->activities << "?";
-    if (!d->activities.contains(id)) {
-        return Invalid;
-    } else {
-        kDebug() << "state of" << id << "is" << d->activities[id];
-        return d->activities[id];
-    }
-}
-
-QStringList ActivityManager::ListActivities() const
-{
-    return d->activities.keys();
-}
-
-QStringList ActivityManager::ListActivities(int state) const
-{
-    return d->activities.keys((State)state);
-}
-
-QString ActivityManager::ActivityName(const QString & id) const
-{
-    return d->activityName(id);
-}
-
-void ActivityManager::SetActivityName(const QString & id, const QString & name)
-{
-    kDebug() << id << name;
-
-    if (!d->activities.contains(id)) {
-        return;
-    }
-
-    d->activitiesConfig().writeEntry(id, name);
-
-#ifdef HAVE_NEPOMUK
-    if (NEPOMUK_RUNNING) {
-        d->activityResource(id).setLabel(name);
-    }
-#endif
-
-    d->scheduleConfigSync();
-
-    kDebug() << "emit ActivityChanged" << id;
-    emit ActivityChanged(id);
-}
-
-QString ActivityManager::ActivityDescription(const QString & id) const
-{
-    if (!NEPOMUK_RUNNING || !d->activities.contains(id)) {
-        return QString();
-    }
-
-#ifdef HAVE_NEPOMUK
-    return d->activityResource(id).description();
-#endif
-}
-
-void ActivityManager::SetActivityDescription(const QString & id, const QString & description)
-{
-    kDebug() << id << description;
-
-    if (!NEPOMUK_RUNNING || !d->activities.contains(id)) {
-        return;
-    }
-
-#ifdef HAVE_NEPOMUK
-    d->activityResource(id).setDescription(description);
-#endif
-
-    kDebug() << "emit ActivityChanged" << id;
-    emit ActivityChanged(id);
-}
-
-QString ActivityManager::ActivityIcon(const QString & id) const
-{
-    if (!NEPOMUK_RUNNING || !d->activities.contains(id)) {
-        return QString();
-    }
-
-#ifdef HAVE_NEPOMUK
-    QStringList symbols = d->activityResource(id).symbols();
-
-    if (symbols.isEmpty()) {
-        return QString();
-    } else {
-        return symbols.first();
-    }
-#else
-    return QString();
-#endif
-}
-
-void ActivityManager::SetActivityIcon(const QString & id, const QString & icon)
-{
-    kDebug() << id << icon;
-
-    if (!NEPOMUK_RUNNING || !d->activities.contains(id)) {
-        return;
-    }
-
-#ifdef HAVE_NEPOMUK
-    d->activityResource(id).setSymbols(QStringList() << icon);
-
-    kDebug() << "emit ActivityChanged" << id;
-    emit ActivityChanged(id);
-#endif
-}
-
-
-// Resource related mothods
-
-void ActivityManager::NotifyResourceAccessed(const QString & application, const QString & uri)
-{
-    EventProcessor::self()->addEvent(application, uri, Event::Accessed);
-}
-
-void ActivityManager::NotifyResourceClosed(uint _windowId, const QString & uri)
-{
-    WId windowId = (WId)_windowId;
-    d->resourcesForWindow[windowId].remove(KUrl(uri));
-
-    EventProcessor::self()->addEvent(d->applicationForWindow[windowId], uri, Event::Closed);
-
-    if (d->resourcesForWindow[windowId].size() == 0) {
-        d->resourcesForWindow.remove(windowId);
-        d->applicationForWindow.remove(windowId);
-    }
-}
-
-void ActivityManager::NotifyResourceModified(uint windowId, const QString & uri)
-{
-    EventProcessor::self()->addEvent(d->applicationForWindow[(WId)windowId], uri, Event::Modified);
-}
-
-void ActivityManager::NotifyResourceOpened(const QString & application, uint _windowId, const QString & uri)
-{
-    WId windowId = (WId)_windowId;
-    if (!d->applicationForWindow.contains(windowId)) {
-        d->applicationForWindow[windowId] = application;
-    }
-
-    KUrl kuri(uri);
-    d->resourcesForWindow[windowId] << kuri;
-    d->activitiesForUrl[kuri] << CurrentActivity();
-
-    EventProcessor::self()->addEvent(application, uri, Event::Opened);
-}
-
-QStringList ActivityManager::ActivitiesForResource(const QString & uri) const
-{
-    return d->activitiesForUrl.value(uri).toList();
-}
-
-
-// static
-ActivityManager * ActivityManager::self()
-{
-    return static_cast<ActivityManager*>(kapp);
-}
-
-
diff --git a/activitymanager/ActivityManager.h b/activitymanager/ActivityManager.h
deleted file mode 100644
index 6bc9ea5..0000000
--- a/activitymanager/ActivityManager.h
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- *   Copyright (C) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef ACTIVITY_MANAGER_H_
-#define ACTIVITY_MANAGER_H_
-
-#define ActivityManagerServicePath "org.kde.ActivityManager"
-
-#include <QString>
-#include <QStringList>
-
-#include <KUniqueApplication>
-
-class ActivityManagerPrivate;
-
-/**
- * Service for tracking the user actions and managing the
- * activities
- */
-class ActivityManager: public KUniqueApplication {
-    Q_OBJECT
-    Q_CLASSINFO("D-Bus Interface", "org.kde.ActivityManager")
-
-public:
-    /**
-     * Activity state
-     * @note: Do not change the values, needed for bit-operations
-     */
-    enum State {
-        Invalid  = 0,
-        Running  = 2,
-        Starting = 3,
-        Stopped  = 4,
-        Stopping = 5
-    };
-
-    /**
-     * Creates new ActivityManager
-     */
-    ActivityManager();
-
-    /**
-     * Destroys this interface
-     */
-    virtual ~ActivityManager();
-
-    static ActivityManager* self();
-
-// service control methods
-public Q_SLOTS:
-    /**
-     * Does nothing. If the service is not running, the D-Bus daemon
-     * will automatically create it
-     */
-    void Start();
-
-    /**
-     * Stops the service
-     */
-    void Stop();
-
-
-
-// workspace activities control
-public Q_SLOTS:
-    /**
-     * @returns the id of the current activity, empty string if none
-     */
-    QString CurrentActivity() const;
-
-    /**
-     * Sets the current activity
-     * @param id id of the activity to make current
-     */
-    bool SetCurrentActivity(const QString & id);
-
-    /**
-     * Adds a new activity
-     * @param name name of the activity
-     * @returns id of the newly created activity
-     */
-    QString AddActivity(const QString & name);
-
-    /**
-     * Starts the specified activity
-     * @param id id of the activity to stash
-     */
-    void StartActivity(const QString & id);
-
-    /**
-     * Stops the specified activity
-     * @param id id of the activity to stash
-     */
-    void StopActivity(const QString & id);
-
-    /**
-     * @returns the state of the activity
-     * @param id id of the activity
-     */
-    int ActivityState(const QString & id) const;
-
-    /**
-     * Removes the specified activity
-     * @param id id of the activity to delete
-     */
-    void RemoveActivity(const QString & id);
-
-    /**
-     * @returns the list of all existing activities
-     */
-    QStringList ListActivities() const;
-
-    /**
-     * @returns the list of activities with the specified state
-     * @param state state
-     */
-    QStringList ListActivities(int state) const;
-
-    /**
-     * @returns the name of the specified activity
-     * @param id id of the activity
-     */
-    QString ActivityName(const QString & id) const;
-
-    /**
-     * Sets the name of the specified activity
-     * @param id id of the activity
-     * @param name name to be set
-     */
-    void SetActivityName(const QString & id, const QString & name);
-
-    /**
-     * @returns the description of the specified activity
-     * @param id id of the activity
-     */
-    QString ActivityDescription(const QString & id) const;
-
-    /**
-     * Sets the description of the specified activity
-     * @param id id of the activity
-     * @param description description to be set
-     */
-    void SetActivityDescription(const QString & id, const QString & description);
-
-    /**
-     * @returns the icon of the specified activity
-     * @param id id of the activity
-     */
-    QString ActivityIcon(const QString & id) const;
-
-    /**
-     * Sets the icon of the specified activity
-     * @param id id of the activity
-     * @param icon icon to be set
-     */
-    void SetActivityIcon(const QString & id, const QString & icon);
-
-
-    /**
-     * @returns whether the backstore (Nepomuk) is available
-     */
-    bool IsBackstoreAvailable() const;
-
-Q_SIGNALS:
-    /**
-     * This signal is emitted when the global
-     * activity is changed
-     * @param id id of the new current activity
-     */
-    void CurrentActivityChanged(const QString & id);
-
-    /**
-     * This signal is emitted when a new activity is created
-     * @param id id of the activity
-     */
-    void ActivityAdded(const QString & id);
-
-    /**
-     * This signal is emitted when an activity is started
-     * @param id id of the activity
-     */
-    void ActivityStarted(const QString & id);
-
-    /**
-     * This signal is emitted when an activity is stashed
-     * @param id id of the activity
-     */
-    void ActivityStopped(const QString & id);
-
-    /**
-     * This signal is emitted when an activity is deleted
-     * @param id id of the activity
-     */
-    void ActivityRemoved(const QString & id);
-
-    /**
-     * Emitted when an activity name, description and/or icon are changed
-     * @param id id of the changed activity
-     */
-    void ActivityChanged(const QString & id);
-
-    /**
-     * Emitted when the state of activity is changed
-     */
-    void ActivityStateChanged(const QString & id, int state);
-
-// Resource related mothods
-public Q_SLOTS:
-    /**
-     * Should be called when the client application accesses
-     * the file but is not interested in registering more advanced
-     * events like open/modify/close.
-     * @param application unformatted name of the application
-     * @param uri uri of the resource
-     */
-    void NotifyResourceAccessed(const QString & application, const QString & uri);
-
-    /**
-     * Should be called when the client application
-     * opens a new resource identifiable by an uri.
-     * @param application unformatted name of the application
-     * @param windowId ID of the window that registers the resource
-     * @param uri uri of the resource
-     */
-    void NotifyResourceOpened(const QString & application, uint windowId, const QString & uri);
-
-    /**
-     * Should be called when the client application
-     * modifies a resource already registered with NotifyResourceOpened
-     * @param windowId ID of the window that registers the resource
-     * @param uri uri of the resource
-     */
-    void NotifyResourceModified(uint windowId, const QString & uri);
-
-    /**
-     * Should be called when the client application
-     * closes a resource previously registered with
-     * NotifyResourceOpened.
-     * @param ID of the window that unregisters the resource
-     * @param uri uri of the resource
-     */
-    void NotifyResourceClosed(uint windowId, const QString & uri);
-
-    /**
-     * @returns the list of activities that are associated with
-     * the specified resource
-     * @param uri uri of the resource
-     */
-    QStringList ActivitiesForResource(const QString & uri) const;
-
-Q_SIGNALS:
-    /**
-     * @see NotifyResourceAccessed
-     */
-    void ResourceAccessed(const QString & application, const QString & uri);
-
-    /**
-     * @see NotifyResourceOpened
-     */
-    void ResourceOpened(const QString & application, uint windowId, const QString & uri);
-
-    /**
-     * @see NotifyResourceModified
-     */
-    void ResourceModified(uint windowId, const QString & uri);
-
-    /**
-     * @see NotifyResourceClosed
-     */
-    void ResourceClosed(uint windowId, const QString & uri);
-
-
-
-private:
-    friend class ActivityManagerPrivate;
-    class ActivityManagerPrivate * const d;
-};
-
-#endif // ACTIVITY_MANAGER_H_
diff --git a/activitymanager/ActivityManager_p.h b/activitymanager/ActivityManager_p.h
deleted file mode 100644
index 3d9ec39..0000000
--- a/activitymanager/ActivityManager_p.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- *   Copyright (C) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef ACTIVITY_MANAGER_P_H_
-#define ACTIVITY_MANAGER_P_H_
-
-#include <QSet>
-#include <QString>
-#include <QTimer>
-
-#include <KConfig>
-#include <KConfigGroup>
-#include <KUrl>
-
-#include "ActivityManager.h"
-#include "config-features.h"
-
-#ifdef HAVE_NEPOMUK
-    #include <Nepomuk/ResourceManager>
-    #include <Nepomuk/Resource>
-#endif
-
-#if !defined(HAVE_NEPOMUK) && !defined(Q_CC_MSVC)
-    #warning "No Nepomuk, disabling some activity related features"
-#endif
-
-class QDBusInterface;
-
-class ActivityManagerPrivate: public QObject {
-    Q_OBJECT
-
-public:
-    ActivityManagerPrivate(ActivityManager * parent);
-    ~ActivityManagerPrivate();
-
-    void addRunningActivity(const QString & id);
-    void removeRunningActivity(const QString & id);
-
-    void ensureCurrentActivityIsRunning();
-    bool setCurrentActivity(const QString & id);
-
-    // URIs and WIDs for open resources
-    QHash < WId, QSet < KUrl > > resourcesForWindow;
-    QHash < WId, QString > applicationForWindow;
-    QHash < KUrl, QSet < QString > > activitiesForUrl;
-
-    void setActivityState(const QString & id, ActivityManager::State state);
-    QHash < QString, ActivityManager::State > activities;
-
-    // Current activity
-    QString currentActivity;
-
-    //opening/closing activity (ksmserver can only handle one at a time)
-    QString transitioningActivity;
-    bool haveSessions; //whether ksmserver's available
-
-    // Configuration
-    QTimer configSyncTimer;
-    KConfig config;
-
-public:
-    void initConifg();
-
-    KConfigGroup activitiesConfig();
-    KConfigGroup mainConfig();
-    QString activityName(const QString & id);
-
-#ifdef HAVE_NEPOMUK
-    Nepomuk::Resource activityResource(const QString & id);
-    bool nepomukInitialized();
-    mutable bool m_nepomukInitCalled;
-#endif // HAVE_NEPOMUK
-
-public Q_SLOTS:
-    void scheduleConfigSync();
-    void configSync();
-    void windowClosed(WId windowId);
-
-    void startCompleted();
-    void stopCompleted();
-    void stopCancelled();
-
-    //for avoiding dbus deadlocks
-    void reallyStartActivity(const QString & id);
-    void reallyStopActivity(const QString & id);
-
-    void backstoreAvailable();
-
-private:
-    ActivityManager * const q;
-    QDBusInterface *ksmserverInterface; //just keeping it for the signals
-
-};
-
-#endif // ACTIVITY_MANAGER_P_H_
-
diff --git a/activitymanager/CMakeLists.txt b/activitymanager/CMakeLists.txt
deleted file mode 100644
index 23dddae..0000000
--- a/activitymanager/CMakeLists.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-project(ActivityManager)
-
-set (ADDITIONAL_LINK_LIBS)
-
-add_subdirectory(kded)
-
-# Checking for Nepomuk
-macro_optional_find_package(Nepomuk)
-macro_log_feature(
-        Nepomuk_FOUND
-        "Nepomuk" "Nepomuk" "http://www.kde.org" FALSE ""
-        "STRONGLY_RECOMMENDED: Nepomuk is needed for some activity-related info")
-
-if(Nepomuk_FOUND)
-    set(HAVE_NEPOMUK 1)
-    set(ADDITIONAL_LINK_LIBS
-        ${ADDITIONAL_LINK_LIBS}
-        ${NEPOMUK_LIBRARIES}
-        ${NEPOMUK_QUERY_LIBRARIES}
-        ${SOPRANO_LIBRARIES}
-    )
-endif(Nepomuk_FOUND)
-
-# Checking for QtZeitgeist
-macro_optional_find_package(QZeitgeist)
-
-if (QZEITGEIST_INCLUDE_DIR)
-    set(QZeitgeist_FOUND TRUE)
-endif(QZEITGEIST_INCLUDE_DIR)
-
-macro_log_feature(
-        QZeitgeist_FOUND
-        "QtZeitgeist" "Qt bindings for Zeitgeist" "http://gitorious.org/kde-zeitgeist/libqzeitgeist/" FALSE ""
-        "RECOMMENDED: Zeitgeist and QtZeitgeist is needed for resource tracking")
-if (QZeitgeist_FOUND)
-    set(HAVE_QZEITGEIST 1)
-    include_directories(${QZEITGEIST_INCLUDE_DIR})
-    set(ADDITIONAL_LINK_LIBS
-        ${ADDITIONAL_LINK_LIBS}
-        ${QZEITGEIST_LIBRARY}
-    )
-endif(QZeitgeist_FOUND)
-
-# config file
-configure_file(config-features.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-features.h )
-
-# Standard stuff
-include_directories(
-    ${CMAKE_SOURCE_DIR}
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_BINARY_DIR}
-    ${KDE4_INCLUDES}
-    )
-
-set(activity_manager_SRCS
-    ActivityManager.cpp
-    EventProcessor.cpp
-    ZeitgeistEventBackend.cpp
-    NepomukEventBackend.cpp
-    EventBackend.cpp
-    Event.cpp
-    main.cpp
-    )
-
-qt4_add_dbus_adaptor(
-    activity_manager_SRCS org.kde.ActivityManager.xml
-    ActivityManager.h ActivityManager
-    )
-
-if(Nepomuk_FOUND)
-    soprano_add_ontology(activity_manager_SRCS ${CMAKE_SOURCE_DIR}/nepomuk/ontologies/kext.trig "KExt" "Nepomuk::Vocabulary" "trig")
-endif()
-
-kde4_add_executable(activity-manager ${activity_manager_SRCS})
-
-target_link_libraries(
-    activity-manager
-    ${KDE4_KIO_LIBS}
-    ${KDE4_KDEUI_LIBS}
-    ${ADDITIONAL_LINK_LIBS}
-    )
-
-set_target_properties(activity-manager PROPERTIES OUTPUT_NAME kactivitymanagerd)
-
-########### install application ###############
-
-install(
-    FILES kactivitymanagerd.desktop DESTINATION ${SERVICES_INSTALL_DIR}
-    )
-
-install(
-    TARGETS activity-manager ${INSTALL_TARGETS_DEFAULT_ARGS}
-    )
-
diff --git a/activitymanager/Event.cpp b/activitymanager/Event.cpp
deleted file mode 100644
index ceabaf5..0000000
--- a/activitymanager/Event.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include "Event.h"
-
-Event::Event(const QString & vApplication, const QString & vUri, Type vType, Reason vReason)
-    : application(vApplication), uri(vUri), type(vType), reason(vReason), timestamp(QDateTime::currentDateTime())
-{
-}
-
-bool Event::operator == (const Event & other) const
-{
-    return
-        application == other.application &&
-        uri         == other.uri         &&
-        type        == other.type        &&
-        reason      == other.reason;
-}
diff --git a/activitymanager/Event.h b/activitymanager/Event.h
deleted file mode 100644
index 5a05b7a..0000000
--- a/activitymanager/Event.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef EVENT_H_
-#define EVENT_H_
-
-#include <QString>
-#include <QtCore/QDateTime>
-
-/**
- *
- */
-class Event {
-public:
-    enum Type {
-        Accessed,   ///< resource was accessed, but we don't know for how long it will be open/used
-        Opened,     ///< resource was opened
-        Modified,   ///< previously opened resource was modified
-        Closed      ///< previously opened resource was closed
-    };
-
-    enum Reason {
-        User,
-        Scheduled,
-        Heuristic,
-        System,
-        World
-    };
-
-    Event(const QString & application, const QString & uri, Type type = Accessed, Reason reason = User);
-
-    bool operator == (const Event & other) const;
-
-public:
-    QString application;
-    QString uri;
-    Type    type;
-    Reason  reason;
-    QDateTime timestamp;
-};
-
-typedef QList<Event> EventList;
-
-#endif // EVENT_H_
-
diff --git a/activitymanager/EventBackend.cpp b/activitymanager/EventBackend.cpp
deleted file mode 100644
index e06c25d..0000000
--- a/activitymanager/EventBackend.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include "EventBackend.h"
-
-EventBackend::EventBackend()
-{
-}
-
-EventBackend::~EventBackend()
-{
-}
diff --git a/activitymanager/EventBackend.h b/activitymanager/EventBackend.h
deleted file mode 100644
index 26bb925..0000000
--- a/activitymanager/EventBackend.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef EVENT_BACKEND_H_
-#define EVENT_BACKEND_H_
-
-#include <EventProcessor.h>
-#include "Event.h"
-
-/**
- *
- */
-class EventBackend {
-public:
-    EventBackend();
-    virtual ~EventBackend();
-
-    virtual void addEvents(const EventList & events) = 0;
-
-};
-
-#endif // EVENT_BACKEND_H_
-
diff --git a/activitymanager/EventProcessor.cpp b/activitymanager/EventProcessor.cpp
deleted file mode 100644
index 6e38bf2..0000000
--- a/activitymanager/EventProcessor.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- *   Copyright (C) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
- *   Copyright (c) 2010 Sebastian Trueg <trueg@kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include "EventProcessor.h"
-#include "EventBackend.h"
-
-#include "config-features.h"
-
-#ifdef HAVE_QZEITGEIST
-#include "ZeitgeistEventBackend.h"
-#endif
-
-#ifdef HAVE_NEPOMUK
-#include "NepomukEventBackend.h"
-#endif
-
-#include <QDateTime>
-#include <QList>
-#include <QMutex>
-
-#include <KDebug>
-
-#include <time.h>
-
-class EventProcessorPrivate: public QThread {
-public:
-    QList < EventBackend * > backends;
-    QList < Event > events;
-    QMutex events_mutex;
-
-    void run();
-
-    static EventProcessor * s_instance;
-
-};
-
-EventProcessor * EventProcessorPrivate::s_instance = NULL;
-
-void EventProcessorPrivate::run()
-{
-    kDebug() << "starting event processing...";
-
-    forever {
-        // initial delay before processing the events
-        sleep(5); // do we need it?
-
-        EventProcessorPrivate::events_mutex.lock();
-
-        if (events.count() == 0) {
-            kDebug() << "No more events to process, exiting.";
-
-            EventProcessorPrivate::events_mutex.unlock();
-            return;
-        }
-
-        QList < Event > currentEvents = events;
-        events.clear();
-
-        EventProcessorPrivate::events_mutex.unlock();
-
-        foreach (EventBackend * backend, backends) {
-            backend->addEvents(currentEvents);
-        }
-    }
-}
-
-EventProcessor * EventProcessor::self()
-{
-    if (!EventProcessorPrivate::s_instance) {
-        EventProcessorPrivate::s_instance = new EventProcessor();
-    }
-
-    return EventProcessorPrivate::s_instance;
-}
-
-EventProcessor::EventProcessor()
-    : d(new EventProcessorPrivate())
-{
-#ifdef HAVE_QZEITGEIST
-    d->backends.append(new ZeitgeistEventBackend());
-#endif
-#ifdef HAVE_NEPOMUK
-    d->backends.append(new NepomukEventBackend());
-#endif
-}
-
-EventProcessor::~EventProcessor()
-{
-    qDeleteAll(d->backends);
-    delete d;
-}
-
-void EventProcessor::addEvent(const QString & application, const QString & uri,
-        Event::Type type, Event::Reason reason)
-{
-    Event newEvent(application, uri, type, reason);
-
-    d->events_mutex.lock();
-
-    if (newEvent.type != Event::Accessed) {
-        foreach (const Event & event, d->events) {
-            if (event.type == Event::Accessed && event.uri == uri
-                    && event.application == application) {
-                // Accessed events are of a lower priority
-                // then the other ones
-                if (type == Event::Accessed) {
-                    d->events.removeAll(newEvent);
-                }
-            }
-        }
-    }
-
-    d->events.append(newEvent);
-
-    d->events_mutex.unlock();
-
-    d->start();
-}
-
-
diff --git a/activitymanager/EventProcessor.h b/activitymanager/EventProcessor.h
deleted file mode 100644
index 59cdbad..0000000
--- a/activitymanager/EventProcessor.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *   Copyright (C) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef EVENT_PROCESSOR_H
-#define EVENT_PROCESSOR_H
-
-#include <QThread>
-
-#include "Event.h"
-
-class EventBackend;
-class EventProcessorPrivate;
-
-/**
- * Thread to process desktop/usage events
- */
-class EventProcessor: public QThread {
-public:
-    static EventProcessor * self();
-
-    virtual ~EventProcessor();
-
-    void addEvent(const QString & application, const QString & uri,
-            Event::Type type = Event::Accessed, Event::Reason reason = Event::User);
-
-private:
-    EventProcessor();
-
-    class EventProcessorPrivate * const d;
-};
-
-#endif // EVENT_PROCESSOR_H
diff --git a/activitymanager/Messages.sh b/activitymanager/Messages.sh
deleted file mode 100644
index 9f50300..0000000
--- a/activitymanager/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT *.cpp -o $podir/kactivitymanagerd.pot
diff --git a/activitymanager/NepomukEventBackend.cpp b/activitymanager/NepomukEventBackend.cpp
deleted file mode 100644
index 4fe3584..0000000
--- a/activitymanager/NepomukEventBackend.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *   Copyright (c) 2011 Sebastian Trueg <trueg@kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include "config-features.h"
-
-#ifndef HAVE_NEPOMUK
-#ifdef _MSC_VER
-#pragma warning()
-#pragma message("No Nepomuk, disabling desktop events processing")
-#else
-    #warning "No Nepomuk, disabling desktop events processing"
-#endif
-
-#else // HAVE_NEPOMUK
-
-#include "NepomukEventBackend.h"
-#include "Event.h"
-#include "ActivityManager.h"
-#include "kext.h"
-
-#include <nepomuk/resource.h>
-#include <nepomuk/nuao.h>
-#include <nepomuk/resourcemanager.h>
-#include <nepomuk/variant.h>
-
-#include <Nepomuk/Query/Query>
-#include <Nepomuk/Query/ResourceTerm>
-#include <Nepomuk/Query/ResourceTypeTerm>
-#include <Nepomuk/Query/ComparisonTerm>
-#include <Nepomuk/Query/LiteralTerm>
-#include <Nepomuk/Query/NegationTerm>
-
-#include <Soprano/Vocabulary/NAO>
-#include <Soprano/QueryResultIterator>
-#include <Soprano/Node>
-#include <Soprano/Model>
-
-#include <kdebug.h>
-
-using namespace Nepomuk::Vocabulary;
-using namespace Nepomuk::Query;
-using namespace Soprano::Vocabulary;
-
-NepomukEventBackend::NepomukEventBackend()
-{
-}
-
-void NepomukEventBackend::addEvents(const EventList & events)
-{
-    foreach(const Event& event, events) {
-        if(event.type == Event::Accessed) {
-            // one-shot event
-            Nepomuk::Resource eventRes = createDesktopEvent(event.uri, event.timestamp, event.application);
-            eventRes.addType(NUAO::UsageEvent());
-            eventRes.addProperty(NUAO::end(), event.timestamp);
-        }
-        else if(event.type == Event::Opened) {
-            // create a new event
-            createDesktopEvent(event.uri, event.timestamp, event.application);
-        }
-        else {
-            // find the corresponding event
-            // FIXME: enable this once the range of nao:identifier has been fixed and is no longer assumed to be rdfs:Resource
-            // resulting in a wrong query.
-//            Query query(ResourceTypeTerm(NUAO::DesktopEvent())
-//                        && ComparisonTerm(NUAO::involves(),
-//                                          ResourceTerm(Nepomuk::Resource(KUrl(event.uri))), ComparisonTerm::Equal)
-//                        && ComparisonTerm(NUAO::involves(),
-//                                          ResourceTypeTerm(NAO::Agent())
-//                                          && ComparisonTerm(NAO::identifier(), LiteralTerm(event.application), ComparisonTerm::Equal))
-//                        && !ComparisonTerm(NUAO::end(), Term()));
-//            query.setLimit(1);
-//            query.setQueryFlags(Query::NoResultRestrictions);
-//            const QString queryS = query.toSparqlQuery();
-            const QString queryS
-                    = QString::fromLatin1("select ?r where { "
-                                          "?r a nuao:DesktopEvent . "
-                                          "?r nuao:involves %1 . "
-                                          "?r nuao:involves ?a . "
-                                          "?a a nao:Agent . "
-                                          "?a nao:identifier %2 . "
-                                          "OPTIONAL { ?r nuao:end ?d . } . "
-                                          "FILTER(!BOUND(?d)) . } "
-                                          "LIMIT 1")
-                    .arg(Soprano::Node::resourceToN3(Nepomuk::Resource(KUrl(event.uri)).resourceUri()),
-                         Soprano::Node::literalToN3(event.application));
-            kDebug() << queryS;
-            Soprano::QueryResultIterator it
-                    = Nepomuk::ResourceManager::instance()->mainModel()->executeQuery(queryS, Soprano::Query::QueryLanguageSparql);
-            if(it.next()) {
-                Nepomuk::Resource eventRes(it[0].uri());
-                it.close();
-
-                eventRes.addProperty(NUAO::end(), event.timestamp);
-                if(event.type == Event::Modified) {
-                    eventRes.addType(NUAO::ModificationEvent());
-                }
-                else {
-                    eventRes.addType(NUAO::UsageEvent());
-                }
-
-                // In case of a modification event we create a new event which will
-                // be completed by the final Closed event since this one resource
-                // modification is done now. It ended with saving the resource.
-                if(event.type == Event::Modified) {
-                    // create a new event
-                    createDesktopEvent(event.uri, event.timestamp, event.application);
-                }
-            }
-            else {
-                kDebug() << "Failed to find matching Open event for resource" << event.uri << "and application" << event.application;
-            }
-        }
-    }
-}
-
-Nepomuk::Resource NepomukEventBackend::createDesktopEvent(const KUrl& uri, const QDateTime& startTime, const QString& app)
-{
-    // one-shot event
-    Nepomuk::Resource eventRes(QUrl(), NUAO::DesktopEvent());
-    eventRes.addProperty(NUAO::involves(), Nepomuk::Resource(uri));
-    eventRes.addProperty(NUAO::start(), startTime);
-
-    // the app
-    Nepomuk::Resource appRes(app, NAO::Agent());
-    eventRes.addProperty(NUAO::involves(), appRes);
-
-    // the activity
-    if(!m_currentActivity.isValid()
-            || m_currentActivity.identifiers().isEmpty()
-            || m_currentActivity.identifiers().first() != ActivityManager::self()->CurrentActivity()) {
-        // update the current activity resource
-        Soprano::QueryResultIterator it
-                = Nepomuk::ResourceManager::instance()->mainModel()->executeQuery(QString::fromLatin1("select ?r where { ?r a %1 . ?r %2 %3 . } LIMIT 1")
-                                                                                  .arg(Soprano::Node::resourceToN3(KExt::Activity()),
-                                                                                       Soprano::Node::resourceToN3(KExt::activityIdentifier()),
-                                                                                       Soprano::Node::literalToN3(ActivityManager::self()->CurrentActivity())),
-                                                                                  Soprano::Query::QueryLanguageSparql);
-        if(it.next()) {
-            m_currentActivity = it[0].uri();
-        }
-        else {
-            m_currentActivity = Nepomuk::Resource(ActivityManager::self()->CurrentActivity(), Nepomuk::Vocabulary::KExt::Activity());
-            m_currentActivity.setProperty(Nepomuk::Vocabulary::KExt::activityIdentifier(), ActivityManager::self()->CurrentActivity());
-        }
-    }
-
-    eventRes.setProperty(KExt::usedActivity(), m_currentActivity);
-
-    return eventRes;
-}
-
-#endif // HAVE_NEPOMUK
diff --git a/activitymanager/NepomukEventBackend.h b/activitymanager/NepomukEventBackend.h
deleted file mode 100644
index a8cbc0f..0000000
--- a/activitymanager/NepomukEventBackend.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *   Copyright (c) 2011 Sebastian Trueg <trueg@kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef NEPOMUK_EVENT_BACKEND_H_
-#define NEPOMUK_EVENT_BACKEND_H_
-
-#include "EventBackend.h"
-
-#include <Nepomuk/Resource>
-
-class KUrl;
-class QDateTime;
-
-/**
- *
- */
-class NepomukEventBackend: public EventBackend {
-public:
-    NepomukEventBackend();
-
-    virtual void addEvents(const EventList & events);
-
-private:
-    Nepomuk::Resource createDesktopEvent(const KUrl& uri, const QDateTime& startTime, const QString& app);
-
-    Nepomuk::Resource m_currentActivity;
-};
-
-#endif // NEPOMUK_EVENT_BACKEND_H_
-
diff --git a/activitymanager/ZeitgeistEventBackend.cpp b/activitymanager/ZeitgeistEventBackend.cpp
deleted file mode 100644
index 6ae0cf0..0000000
--- a/activitymanager/ZeitgeistEventBackend.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include "config-features.h"
-
-#ifndef HAVE_QZEITGEIST
-#ifdef __GNUC__
-    #warning "No QtZeitgeist, disabling desktop events processing"
-#endif
-
-#else // HAVE_QZEITGEIST
-
-#include "ZeitgeistEventBackend.h"
-
-#include <QtZeitgeist/QtZeitgeist>
-#include <QtZeitgeist/Interpretation>
-#include <QtZeitgeist/Manifestation>
-
-static QString eventInterpretation(Event::Type type)
-{
-    switch (type) {
-        case Event::Accessed:
-            return QtZeitgeist::Interpretation::Event::ZGAccessEvent;
-
-        case Event::Opened:
-            return QtZeitgeist::Interpretation::Event::ZGAccessEvent;
-
-        case Event::Modified:
-            return QtZeitgeist::Interpretation::Event::ZGModifyEvent;
-
-        case Event::Closed:
-            return QtZeitgeist::Interpretation::Event::ZGLeaveEvent;
-
-    }
-
-    // shut up GCC
-    return QString();
-}
-
-static QString eventManifestation(Event::Reason reason)
-{
-    switch (reason) {
-        case Event::User:
-            return QtZeitgeist::Manifestation::Event::ZGUserActivity;
-
-        case Event::Heuristic:
-            return QtZeitgeist::Manifestation::Event::ZGHeuristicActivity;
-
-        case Event::Scheduled:
-            return QtZeitgeist::Manifestation::Event::ZGScheduledActivity;
-
-        case Event::System:
-            return QtZeitgeist::Manifestation::Event::ZGSystemNotification;
-
-        case Event::World:
-            return QtZeitgeist::Manifestation::Event::ZGWorldActivity;
-    }
-
-    // shut up GCC
-    return QtZeitgeist::Manifestation::Event::ZGUserActivity;
-}
-
-static QString applicationUri(const QString & application)
-{
-    // TODO: Make this correct
-    return "app://" + application + ".desktop";
-}
-
-ZeitgeistEventBackend::ZeitgeistEventBackend()
-{
-    QtZeitgeist::init();
-}
-
-void ZeitgeistEventBackend::addEvents(const EventList & events)
-{
-
-}
-
-#endif // HAVE_QZEITGEIST
diff --git a/activitymanager/ZeitgeistEventBackend.h b/activitymanager/ZeitgeistEventBackend.h
deleted file mode 100644
index 1b5fab7..0000000
--- a/activitymanager/ZeitgeistEventBackend.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *   Copyright (C) 2011 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#ifndef ZEITGEIST_EVENT_BACKEND_H_
-#define ZEITGEIST_EVENT_BACKEND_H_
-
-#include "EventBackend.h"
-
-/**
- *
- */
-class ZeitgeistEventBackend: public EventBackend {
-public:
-    ZeitgeistEventBackend();
-
-    virtual void addEvents(const EventList & events);
-
-private:
-    /* data */
-};
-
-#endif // ZEITGEIST_EVENT_BACKEND_H_
-
diff --git a/activitymanager/config-features.h.cmake b/activitymanager/config-features.h.cmake
deleted file mode 100644
index c0109bf..0000000
--- a/activitymanager/config-features.h.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CONFIG_FEATURES_H_
-#define CONFIG_FEATURES_H_
-
-#cmakedefine HAVE_NEPOMUK
-#cmakedefine HAVE_QZEITGEIST
-
-#endif
diff --git a/activitymanager/kactivitymanagerd.desktop b/activitymanager/kactivitymanagerd.desktop
deleted file mode 100644
index 6218dd5..0000000
--- a/activitymanager/kactivitymanagerd.desktop
+++ /dev/null
@@ -1,134 +0,0 @@
-[Desktop Entry]
-Type=Service
-Icon=preferences-activities
-X-KDE-ServiceTypes=
-X-DBUS-StartupType=Unique
-X-KDE-StartupNotify=false
-Exec=kactivitymanagerd
-
-Name=Activity Manager
-Name[ar]=مدير الأنشطة
-Name[ast]=Xestor d'actividaes
-Name[bg]=Управление на дейности
-Name[bn]=অ্যাকটিভিটি ম্যানেজার
-Name[bs]=Menadžer aktivnosti
-Name[ca]=Gestor d'activitats
-Name[ca@valencia]=Gestor d'activitats
-Name[cs]=Správce aktivit
-Name[da]=Aktivitetshåndtering
-Name[de]=Aktivitätenverwaltung
-Name[el]=Διαχειριστής δραστηριότητας
-Name[en_GB]=Activity Manager
-Name[es]=Gestor de actividades
-Name[et]=Tegevuste haldur
-Name[eu]=Jarduera kudeatzailea
-Name[fi]=Aktiviteettienhallinta
-Name[fr]=Gestionnaire d'agencements
-Name[ga]=Bainisteoir Gníomhaíochta
-Name[gu]=ક્રિયા વ્યવસ્થાપક
-Name[he]=מנהל פעילויות
-Name[hi]=कार्य प्रबंधक
-Name[hr]=Upravitelj aktivnosti
-Name[hu]=Aktivitáskezelő
-Name[ia]=Gerente de activitate
-Name[id]=Manajer Aktivitas
-Name[is]=Virknistjóri
-Name[it]=Gestore delle attività
-Name[ja]=アクティビティマネージャ
-Name[kk]=Белсенділік менеджері
-Name[km]=កម្មវិធី​គ្រប់គ្រង​សកម្មភាព
-Name[kn]=ಚಟುವಟಿಕೆ ವ್ಯವಸ್ಥಾಪಕ
-Name[ko]=활동 관리자
-Name[lt]=Veiklų tvarkyklė
-Name[lv]=Aktivitāšu pārvaldnieks
-Name[mai]=काजक प्रबंधक
-Name[ml]=ആക്ടിവിറ്റികള്‍ കൈകാര്യം ചെയ്യാന്‍
-Name[nb]=Aktivitetshåndterer
-Name[nds]=Aktivitetenpleger
-Name[nl]=Activiteitenbeheerder
-Name[nn]=Aktivitetshandsamar
-Name[pa]=ਸਰਗਰਮੀ ਮੈਨੇਜਰ
-Name[pl]=Menadżer aktywności
-Name[pt]=Gestor de Actividades
-Name[pt_BR]=Gerenciador de atividades
-Name[ro]=Gestionar de activități
-Name[ru]=Диспетчер комнат
-Name[si]=ක්‍රියා කළමනාකරු
-Name[sk]=Správca aktivít
-Name[sl]=Upravljalnik dejavnosti
-Name[sr]=менаџер активности
-Name[sr@ijekavian]=менаџер активности
-Name[sr@ijekavianlatin]=menadžer aktivnosti
-Name[sr@latin]=menadžer aktivnosti
-Name[sv]=Aktivitetshanterare
-Name[tg]=Мудири фаъолият
-Name[th]=ตัวจัดการกิจกรรม
-Name[tr]=Etkinlik Yöneticisi
-Name[ug]=پائالىيەت باشقۇرغۇچ
-Name[uk]=Керування просторами дій
-Name[wa]=Manaedjeu d' activité
-Name[x-test]=xxActivity Managerxx
-Name[zh_CN]=活动管理器
-Name[zh_TW]=活動管理員
-
-Comment=The activity management backend
-Comment[ar]=المنتهى الخلفي لإدارة الأنشطة
-Comment[ast]=Motor de xestión d'actividaes
-Comment[bg]=Ядро за управление на дейности
-Comment[bs]=Pozadina za upravljanje aktivnostima
-Comment[ca]=Dorsal de gestió d'activitats
-Comment[ca@valencia]=Dorsal de gestió d'activitats
-Comment[cs]=Backend pro správu aktivit
-Comment[da]=Motor til aktivitetshåndtering
-Comment[de]=Backend zur Aktivitätenverwaltung
-Comment[el]=Σύστημα διαχείρισης δραστηριότητας
-Comment[en_GB]=The activity management backend
-Comment[es]=Motor de gestión de actividades
-Comment[et]=Tegevuste haldamise taustaprogramm
-Comment[eu]=Jarduera kudeatzeko backen
-Comment[fi]=Aktiviteettihallinnan taustaosa
-Comment[fr]=Le module de gestion des activités
-Comment[ga]=Inneall bainisteoireachta gníomhaíochta
-Comment[gu]=ક્રિયા વ્યવસ્થાપક બેકએન્ડ
-Comment[he]=מנגנון ניהול פעילויות
-Comment[hr]=Pozadinski sustav za upravljanje aktivnostima
-Comment[hu]=Aktivitáskezelő modul
-Comment[ia]=Le retro-administration de gestion de activitate
-Comment[id]=Aktivitas ujung belakang manajemen
-Comment[is]=Stýringarkerfi fyrir virkni
-Comment[it]=Il motore di gestione delle attività
-Comment[ja]=アクティビティマネージャのバックエンド
-Comment[kk]=Белсенділікті басқару бағдарламасы
-Comment[km]=កម្មវិធី​ខាងក្រោយ​នៃ​ការ​គ្រប់គ្រង​សកម្មភាព
-Comment[kn]=ಚಟುವಟಿಕೆ ವ್ಯವಸ್ಥಾಪನೆ ಹಿನ್ನೆಲೆ (ಬ್ಯಾಕ್ ಎಂಡ್)
-Comment[ko]=활동 관리자 백엔드
-Comment[lt]=Veiklų tvarkyklės programa
-Comment[lv]=Aktivitāšu pārvaldības aizmugure
-Comment[mai]=काज प्रबंधन बैकएण्ड
-Comment[ml]=അക്റ്റിവിറ്റിയുടെ നടത്തിപ്പിനുള്ള ബാക്കെന്‍ഡ്
-Comment[nb]=Bakgrunnsmotor for aktivitetshåndtering
-Comment[nds]=Hülpprogramm för den Aktivitetenpleger
-Comment[nl]=De activiteitenbeheerder-backend
-Comment[nn]=Motor for aktivitetshandsaming
-Comment[pa]=ਸਰਗਰਮੀ ਮੈਨਿਜਮੈਂਟ ਬੈਕਐਂਡ
-Comment[pl]=Usługa zarządzania aktywnością
-Comment[pt]=A infra-estrutura de gestão de actividades
-Comment[pt_BR]=Infraestrutura de gerenciamento de atividades
-Comment[ro]=Suport pentru administrare activități
-Comment[ru]=Низкоуровневый модуль для управления комнатами
-Comment[sk]=Backend pre správu aktivít
-Comment[sl]=Hrbtenica za upravljanje z dejavnostmi
-Comment[sr]=Позадина за управљање активностима
-Comment[sr@ijekavian]=Позадина за управљање активностима
-Comment[sr@ijekavianlatin]=Pozadina za upravljanje aktivnostima
-Comment[sr@latin]=Pozadina za upravljanje aktivnostima
-Comment[sv]=Gränssnittet för aktivitetshanteringen
-Comment[tg]=Пуштибонии фаъолияти идоракунӣ
-Comment[th]=โปรแกรมเบื้องหลังการจัดการกิจกรรม
-Comment[tr]=Eylem yönetimi arka ucu
-Comment[ug]=پائالىيەت باشقۇرغۇچ ئارقا ئۇچى
-Comment[uk]=Сервер керування просторами дій
-Comment[wa]=Bouye di fond di manaedjmint d' l' activité
-Comment[x-test]=xxThe activity management backendxx
-Comment[zh_CN]=活动管理后端
-Comment[zh_TW]=活動管理後端介面
diff --git a/activitymanager/kded/CMakeLists.txt b/activitymanager/kded/CMakeLists.txt
deleted file mode 100644
index fad84b5..0000000
--- a/activitymanager/kded/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
-install( FILES activitymanager.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kded )
diff --git a/activitymanager/kded/activitymanager.desktop b/activitymanager/kded/activitymanager.desktop
deleted file mode 100644
index 5673067..0000000
--- a/activitymanager/kded/activitymanager.desktop
+++ /dev/null
@@ -1,3 +0,0 @@
-[Desktop Entry]
-Hidden=true
-
diff --git a/activitymanager/main.cpp b/activitymanager/main.cpp
deleted file mode 100644
index cfaed00..0000000
--- a/activitymanager/main.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *   Copyright (C) 2010 Ivan Cukic <ivan.cukic(at)kde.org>
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License version 2,
- *   or (at your option) any later version, as published by the Free
- *   Software Foundation
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details
- *
- *   You should have received a copy of the GNU General Public
- *   License along with this program; if not, write to the
- *   Free Software Foundation, Inc.,
- *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-#include <ActivityManager.h>
-
-#include <KDebug>
-
-#include <KAboutData>
-#include <KCmdLineArgs>
-
-int main(int argc, char ** argv)
-{
-    KAboutData about("kactivitymanagerd", 0, ki18n("KDE Activity Manager"), "1.0",
-            ki18n("KDE Activity Management Service"),
-            KAboutData::License_GPL,
-            ki18n("(c) 2010 Ivan Cukic, Sebastian Trueg"), KLocalizedString(),
-            "http://www.kde.org/");
-
-    KCmdLineArgs::init(argc, argv, &about);
-
-    ActivityManager application;
-
-    return application.exec();
-}
diff --git a/activitymanager/org.kde.ActivityManager.xml b/activitymanager/org.kde.ActivityManager.xml
deleted file mode 100644
index b03e826..0000000
--- a/activitymanager/org.kde.ActivityManager.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node>
-  <interface name="org.kde.ActivityManager">
-    <signal name="CurrentActivityChanged">
-      <arg name="id" type="s" direction="out"/>
-    </signal>
-    <signal name="ActivityAdded">
-      <arg name="id" type="s" direction="out"/>
-    </signal>
-    <signal name="ActivityStarted">
-      <arg name="id" type="s" direction="out"/>
-    </signal>
-    <signal name="ActivityStopped">
-      <arg name="id" type="s" direction="out"/>
-    </signal>
-    <signal name="ActivityRemoved">
-      <arg name="id" type="s" direction="out"/>
-    </signal>
-    <signal name="ActivityChanged">
-      <arg name="id" type="s" direction="out"/>
-    </signal>
-    <signal name="ActivityStateChanged">
-      <arg name="id" type="s" direction="out"/>
-      <arg name="state" type="i" direction="out"/>
-    </signal>
-    <signal name="ResourceAccessed">
-      <arg name="application" type="s" direction="out"/>
-      <arg name="uri" type="s" direction="out"/>
-    </signal>
-    <signal name="ResourceOpened">
-      <arg name="application" type="s" direction="out"/>
-      <arg name="windowId" type="u" direction="out"/>
-      <arg name="uri" type="s" direction="out"/>
-    </signal>
-    <signal name="ResourceModified">
-      <arg name="windowId" type="u" direction="out"/>
-      <arg name="uri" type="s" direction="out"/>
-    </signal>
-    <signal name="ResourceClosed">
-      <arg name="windowId" type="u" direction="out"/>
-      <arg name="uri" type="s" direction="out"/>
-    </signal>
-    <method name="Start">
-    </method>
-    <method name="Stop">
-    </method>
-    <method name="CurrentActivity">
-      <arg type="s" direction="out"/>
-    </method>
-    <method name="SetCurrentActivity">
-      <arg type="b" direction="out"/>
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="AddActivity">
-      <arg type="s" direction="out"/>
-      <arg name="name" type="s" direction="in"/>
-    </method>
-    <method name="StartActivity">
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="StopActivity">
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="ActivityState">
-      <arg type="i" direction="out"/>
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="RemoveActivity">
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="ListActivities">
-      <arg type="as" direction="out"/>
-    </method>
-    <method name="ListActivities">
-      <arg type="as" direction="out"/>
-      <arg name="state" type="i" direction="in"/>
-    </method>
-    <method name="ActivityName">
-      <arg type="s" direction="out"/>
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="SetActivityName">
-      <arg name="id" type="s" direction="in"/>
-      <arg name="name" type="s" direction="in"/>
-    </method>
-    <method name="ActivityDescription">
-      <arg type="s" direction="out"/>
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="SetActivityDescription">
-      <arg name="id" type="s" direction="in"/>
-      <arg name="description" type="s" direction="in"/>
-    </method>
-    <method name="ActivityIcon">
-      <arg type="s" direction="out"/>
-      <arg name="id" type="s" direction="in"/>
-    </method>
-    <method name="SetActivityIcon">
-      <arg name="id" type="s" direction="in"/>
-      <arg name="icon" type="s" direction="in"/>
-    </method>
-    <method name="IsBackstoreAvailable">
-      <arg type="b" direction="out"/>
-    </method>
-    <method name="NotifyResourceAccessed">
-      <arg name="application" type="s" direction="in"/>
-      <arg name="uri" type="s" direction="in"/>
-    </method>
-    <method name="NotifyResourceOpened">
-      <arg name="application" type="s" direction="in"/>
-      <arg name="windowId" type="u" direction="in"/>
-      <arg name="uri" type="s" direction="in"/>
-    </method>
-    <method name="NotifyResourceModified">
-      <arg name="windowId" type="u" direction="in"/>
-      <arg name="uri" type="s" direction="in"/>
-    </method>
-    <method name="NotifyResourceClosed">
-      <arg name="windowId" type="u" direction="in"/>
-      <arg name="uri" type="s" direction="in"/>
-    </method>
-    <method name="ActivitiesForResource">
-      <arg type="as" direction="out"/>
-      <arg name="uri" type="s" direction="in"/>
-    </method>
-  </interface>
-</node>
diff --git a/doc/documentationnotfound/index.cache.bz2 b/doc/documentationnotfound/index.cache.bz2
deleted file mode 100644
index 7c73f1c..0000000
Binary files a/doc/documentationnotfound/index.cache.bz2 and /dev/null differ
diff --git a/doc/glossary/index.cache.bz2 b/doc/glossary/index.cache.bz2
deleted file mode 100644
index c9da237..0000000
Binary files a/doc/glossary/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/attica/index.cache.bz2 b/doc/kcontrol/attica/index.cache.bz2
deleted file mode 100644
index cdf8e12..0000000
Binary files a/doc/kcontrol/attica/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/bookmarks/index.cache.bz2 b/doc/kcontrol/bookmarks/index.cache.bz2
deleted file mode 100644
index f9d4223..0000000
Binary files a/doc/kcontrol/bookmarks/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/cache/index.cache.bz2 b/doc/kcontrol/cache/index.cache.bz2
deleted file mode 100644
index 4ec25b6..0000000
Binary files a/doc/kcontrol/cache/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/componentchooser/index.cache.bz2 b/doc/kcontrol/componentchooser/index.cache.bz2
deleted file mode 100644
index 4d9b449..0000000
Binary files a/doc/kcontrol/componentchooser/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/cookies/index.cache.bz2 b/doc/kcontrol/cookies/index.cache.bz2
deleted file mode 100644
index 55d3c74..0000000
Binary files a/doc/kcontrol/cookies/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/ebrowsing/index.cache.bz2 b/doc/kcontrol/ebrowsing/index.cache.bz2
deleted file mode 100644
index 11df35b..0000000
Binary files a/doc/kcontrol/ebrowsing/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/emoticons/index.cache.bz2 b/doc/kcontrol/emoticons/index.cache.bz2
deleted file mode 100644
index e2117b5..0000000
Binary files a/doc/kcontrol/emoticons/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/filemanager/index.cache.bz2 b/doc/kcontrol/filemanager/index.cache.bz2
deleted file mode 100644
index 2600f72..0000000
Binary files a/doc/kcontrol/filemanager/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/filetypes/index.cache.bz2 b/doc/kcontrol/filetypes/index.cache.bz2
deleted file mode 100644
index b656609..0000000
Binary files a/doc/kcontrol/filetypes/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/history/index.cache.bz2 b/doc/kcontrol/history/index.cache.bz2
deleted file mode 100644
index e003859..0000000
Binary files a/doc/kcontrol/history/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/icons/index.cache.bz2 b/doc/kcontrol/icons/index.cache.bz2
deleted file mode 100644
index 8c723a5..0000000
Binary files a/doc/kcontrol/icons/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/kcmcgi/index.cache.bz2 b/doc/kcontrol/kcmcgi/index.cache.bz2
deleted file mode 100644
index 305ea1d..0000000
Binary files a/doc/kcontrol/kcmcgi/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/kcmcss/index.cache.bz2 b/doc/kcontrol/kcmcss/index.cache.bz2
deleted file mode 100644
index 0030822..0000000
Binary files a/doc/kcontrol/kcmcss/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/kcmlaunch/index.cache.bz2 b/doc/kcontrol/kcmlaunch/index.cache.bz2
deleted file mode 100644
index 088a96c..0000000
Binary files a/doc/kcontrol/kcmlaunch/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/kcmnotify/index.cache.bz2 b/doc/kcontrol/kcmnotify/index.cache.bz2
deleted file mode 100644
index 4858d5e..0000000
Binary files a/doc/kcontrol/kcmnotify/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/kded/index.cache.bz2 b/doc/kcontrol/kded/index.cache.bz2
deleted file mode 100644
index 724c708..0000000
Binary files a/doc/kcontrol/kded/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/khtml-adblock/index.cache.bz2 b/doc/kcontrol/khtml-adblock/index.cache.bz2
deleted file mode 100644
index f0687e8..0000000
Binary files a/doc/kcontrol/khtml-adblock/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/khtml-behavior/index.cache.bz2 b/doc/kcontrol/khtml-behavior/index.cache.bz2
deleted file mode 100644
index 139693a..0000000
Binary files a/doc/kcontrol/khtml-behavior/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/khtml-general/index.cache.bz2 b/doc/kcontrol/khtml-general/index.cache.bz2
deleted file mode 100644
index 0798b55..0000000
Binary files a/doc/kcontrol/khtml-general/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/khtml-java-js/index.cache.bz2 b/doc/kcontrol/khtml-java-js/index.cache.bz2
deleted file mode 100644
index 6fbc1e3..0000000
Binary files a/doc/kcontrol/khtml-java-js/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/khtml-plugins/index.cache.bz2 b/doc/kcontrol/khtml-plugins/index.cache.bz2
deleted file mode 100644
index f90b328..0000000
Binary files a/doc/kcontrol/khtml-plugins/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/language/index.cache.bz2 b/doc/kcontrol/language/index.cache.bz2
deleted file mode 100644
index 98fd252..0000000
Binary files a/doc/kcontrol/language/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/nepomuk/index.cache.bz2 b/doc/kcontrol/nepomuk/index.cache.bz2
deleted file mode 100644
index 7663643..0000000
Binary files a/doc/kcontrol/nepomuk/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/netpref/index.cache.bz2 b/doc/kcontrol/netpref/index.cache.bz2
deleted file mode 100644
index f229a80..0000000
Binary files a/doc/kcontrol/netpref/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/performance/index.cache.bz2 b/doc/kcontrol/performance/index.cache.bz2
deleted file mode 100644
index 2ea2c53..0000000
Binary files a/doc/kcontrol/performance/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/phonon/index.cache.bz2 b/doc/kcontrol/phonon/index.cache.bz2
deleted file mode 100644
index b8db8cd..0000000
Binary files a/doc/kcontrol/phonon/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/proxy/index.cache.bz2 b/doc/kcontrol/proxy/index.cache.bz2
deleted file mode 100644
index e5e4103..0000000
Binary files a/doc/kcontrol/proxy/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/smb/index.cache.bz2 b/doc/kcontrol/smb/index.cache.bz2
deleted file mode 100644
index ed0817b..0000000
Binary files a/doc/kcontrol/smb/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/solid-device-automounter/index.cache.bz2 b/doc/kcontrol/solid-device-automounter/index.cache.bz2
deleted file mode 100644
index fca6ea4..0000000
Binary files a/doc/kcontrol/solid-device-automounter/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/spellchecking/index.cache.bz2 b/doc/kcontrol/spellchecking/index.cache.bz2
deleted file mode 100644
index 9946eb5..0000000
Binary files a/doc/kcontrol/spellchecking/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/trash/index.cache.bz2 b/doc/kcontrol/trash/index.cache.bz2
deleted file mode 100644
index 289f772..0000000
Binary files a/doc/kcontrol/trash/index.cache.bz2 and /dev/null differ
diff --git a/doc/kcontrol/useragent/index.cache.bz2 b/doc/kcontrol/useragent/index.cache.bz2
deleted file mode 100644
index 57772d3..0000000
Binary files a/doc/kcontrol/useragent/index.cache.bz2 and /dev/null differ
diff --git a/doc/kdebugdialog/index.cache.bz2 b/doc/kdebugdialog/index.cache.bz2
deleted file mode 100644
index 19ecc77..0000000
Binary files a/doc/kdebugdialog/index.cache.bz2 and /dev/null differ
diff --git a/doc/kdesu/index.cache.bz2 b/doc/kdesu/index.cache.bz2
deleted file mode 100644
index 1315075..0000000
Binary files a/doc/kdesu/index.cache.bz2 and /dev/null differ
diff --git a/doc/khelpcenter/index.cache.bz2 b/doc/khelpcenter/index.cache.bz2
deleted file mode 100644
index 39a92a6..0000000
Binary files a/doc/khelpcenter/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/bookmarks/index.cache.bz2 b/doc/kioslave/bookmarks/index.cache.bz2
deleted file mode 100644
index 61d7e97..0000000
Binary files a/doc/kioslave/bookmarks/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/bzip2/index.cache.bz2 b/doc/kioslave/bzip2/index.cache.bz2
deleted file mode 100644
index e30c14d..0000000
Binary files a/doc/kioslave/bzip2/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/cgi/index.cache.bz2 b/doc/kioslave/cgi/index.cache.bz2
deleted file mode 100644
index 776b900..0000000
Binary files a/doc/kioslave/cgi/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/finger/index.cache.bz2 b/doc/kioslave/finger/index.cache.bz2
deleted file mode 100644
index 17705ee..0000000
Binary files a/doc/kioslave/finger/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/fish/index.cache.bz2 b/doc/kioslave/fish/index.cache.bz2
deleted file mode 100644
index 4848577..0000000
Binary files a/doc/kioslave/fish/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/floppy/index.cache.bz2 b/doc/kioslave/floppy/index.cache.bz2
deleted file mode 100644
index 2270d93..0000000
Binary files a/doc/kioslave/floppy/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/gzip/index.cache.bz2 b/doc/kioslave/gzip/index.cache.bz2
deleted file mode 100644
index 1f72ae2..0000000
Binary files a/doc/kioslave/gzip/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/info/index.cache.bz2 b/doc/kioslave/info/index.cache.bz2
deleted file mode 100644
index dbbc20d..0000000
Binary files a/doc/kioslave/info/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/man/index.cache.bz2 b/doc/kioslave/man/index.cache.bz2
deleted file mode 100644
index 1dc2570..0000000
Binary files a/doc/kioslave/man/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/nepomuksearch/index.cache.bz2 b/doc/kioslave/nepomuksearch/index.cache.bz2
deleted file mode 100644
index 0a0bebe..0000000
Binary files a/doc/kioslave/nepomuksearch/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/network/index.cache.bz2 b/doc/kioslave/network/index.cache.bz2
deleted file mode 100644
index 4852ea5..0000000
Binary files a/doc/kioslave/network/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/nfs/index.cache.bz2 b/doc/kioslave/nfs/index.cache.bz2
deleted file mode 100644
index 4f8e4eb..0000000
Binary files a/doc/kioslave/nfs/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/sftp/index.cache.bz2 b/doc/kioslave/sftp/index.cache.bz2
deleted file mode 100644
index c521e57..0000000
Binary files a/doc/kioslave/sftp/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/smb/index.cache.bz2 b/doc/kioslave/smb/index.cache.bz2
deleted file mode 100644
index 179238e..0000000
Binary files a/doc/kioslave/smb/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/tar/index.cache.bz2 b/doc/kioslave/tar/index.cache.bz2
deleted file mode 100644
index e0828bb..0000000
Binary files a/doc/kioslave/tar/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/thumbnail/index.cache.bz2 b/doc/kioslave/thumbnail/index.cache.bz2
deleted file mode 100644
index ace26a8..0000000
Binary files a/doc/kioslave/thumbnail/index.cache.bz2 and /dev/null differ
diff --git a/doc/kioslave/xz/index.cache.bz2 b/doc/kioslave/xz/index.cache.bz2
deleted file mode 100644
index 7d2e106..0000000
Binary files a/doc/kioslave/xz/index.cache.bz2 and /dev/null differ
diff --git a/doc/knetattach/index.cache.bz2 b/doc/knetattach/index.cache.bz2
deleted file mode 100644
index d7eca41..0000000
Binary files a/doc/knetattach/index.cache.bz2 and /dev/null differ
diff --git a/doc/onlinehelp/index.cache.bz2 b/doc/onlinehelp/index.cache.bz2
deleted file mode 100644
index f49ef08..0000000
Binary files a/doc/onlinehelp/index.cache.bz2 and /dev/null differ
diff --git a/kurifilter-plugins/ikws/searchproviders/multitran-itru.desktop b/kurifilter-plugins/ikws/searchproviders/multitran-itru.desktop
index 44497d2..c8dfb3a 100644
--- a/kurifilter-plugins/ikws/searchproviders/multitran-itru.desktop
+++ b/kurifilter-plugins/ikws/searchproviders/multitran-itru.desktop
@@ -74,7 +74,7 @@ Name[te]=Multitran - ఇటాలియన్ మరియు రష్యన్
 Name[tg]=Multitran - тарҷумаҳои итолиёӣ-русӣ
 Name[th]=บริการ Multitran - แปลภาษาระหว่างภาษาอิตาลีและภาษารัสเซีย
 Name[tr]=Multitran - İtalyancadan Rusçaya Çeviri
-Name[ug]=Multitran - ئىتاليانچە بىلەن رۇسچە ئارىسىدا تەرجىمە
+Name[ug]=Multitran - ئىتالىيانچە بىلەن رۇسچە ئارىسىدا تەرجىمە
 Name[uk]=Multitran — переклад з італійської російською
 Name[uz]=Multitran - Italyanchadan Ruschaga tarjima
 Name[uz@cyrillic]=Multitran - Италянчадан Русчага таржима
diff --git a/l10n/ai/entry.desktop b/l10n/ai/entry.desktop
index bdadb0e..9cbcd25 100644
--- a/l10n/ai/entry.desktop
+++ b/l10n/ai/entry.desktop
@@ -90,7 +90,7 @@ Name[vi]=An-gui-la
 Name[wa]=Anguila
 Name[x-test]=xxAnguillaxx
 Name[zh_CN]=安圭拉
-Name[zh_TW]=安圭拉
+Name[zh_TW]=阿爾及利亞
 Region=caribbean
 #Languages=
 #DecimalSymbol=,
diff --git a/l10n/al/entry.desktop b/l10n/al/entry.desktop
index dae3d4a..62b3a5d 100644
--- a/l10n/al/entry.desktop
+++ b/l10n/al/entry.desktop
@@ -90,7 +90,7 @@ Name[vi]=An-ba-ni
 Name[wa]=Albaneye
 Name[x-test]=xxAlbaniaxx
 Name[zh_CN]=阿尔巴尼亚
-Name[zh_TW]=阿爾巴尼亞
+Name[zh_TW]=阿亞巴尼亞
 Region=southeurope
 Languages=sq,el
 DecimalSymbol=,
diff --git a/l10n/bs/entry.desktop b/l10n/bs/entry.desktop
index e1a55f3..ee38f1e 100644
--- a/l10n/bs/entry.desktop
+++ b/l10n/bs/entry.desktop
@@ -90,7 +90,7 @@ Name[vi]=Ba-ha-maxợ
 Name[wa]=Bahamas
 Name[x-test]=xxBahamasxx
 Name[zh_CN]=巴哈马
-Name[zh_TW]=巴哈馬
+Name[zh_TW]=巴拿馬
 Region=caribbean
 Languages=en_GB,es
 #DecimalSymbol=,
diff --git a/l10n/bz/entry.desktop b/l10n/bz/entry.desktop
index 7210aeb..56b343f 100644
--- a/l10n/bz/entry.desktop
+++ b/l10n/bz/entry.desktop
@@ -90,7 +90,7 @@ Name[vi]=Be-li-xợ
 Name[wa]=Belize
 Name[x-test]=xxBelizexx
 Name[zh_CN]=伯利兹
-Name[zh_TW]=貝里斯
+Name[zh_TW]=比利時
 Region=centralamerica
 Languages=en_GB,es
 #DecimalSymbol=,
diff --git a/l10n/cf/entry.desktop b/l10n/cf/entry.desktop
index a4e7fd2..e5dbbea 100644
--- a/l10n/cf/entry.desktop
+++ b/l10n/cf/entry.desktop
@@ -89,7 +89,7 @@ Name[vi]=Cộng hoà Trung Phi
 Name[wa]=Cintrafrike
 Name[x-test]=xxCentral African Republicxx
 Name[zh_CN]=中非共和国
-Name[zh_TW]=中非共和國
+Name[zh_TW]=多明尼加共和國
 Region=centralafrica
 #Languages=
 #DecimalSymbol=,
diff --git a/localization/currency/bzd.desktop b/localization/currency/bzd.desktop
index da4b5f5..3fc60f0 100644
--- a/localization/currency/bzd.desktop
+++ b/localization/currency/bzd.desktop
@@ -68,7 +68,7 @@ Name[uk]=Белізький долар
 Name[wa]=Dolår då Belize
 Name[x-test]=xxBelize Dollarxx
 Name[zh_CN]=伯利兹元
-Name[zh_TW]=貝里斯─元（Dollar）
+Name[zh_TW]=比利時─元（Dollar）
 CurrencyNameIso=Belize dollar
 CurrencyUnitSymbols=$,BZ$,BZD
 CurrencyUnitSymbolDefault=$
diff --git a/localization/currency/cyp.desktop b/localization/currency/cyp.desktop
index 85f39f9..9189477 100644
--- a/localization/currency/cyp.desktop
+++ b/localization/currency/cyp.desktop
@@ -60,7 +60,7 @@ Name[sr@latin]=kiparska funta
 Name[sv]=Cypriotiskt pund
 Name[th]=ปอนด์ไซปรัส
 Name[tr]=Kıbrıs Poundu
-Name[ug]=سىپرۇس فوندستېرلىڭى
+Name[ug]=سىپرۇس فوند ستېرلىڭى
 Name[uk]=Кіпрський фунт
 Name[wa]=Live chipriyote
 Name[x-test]=xxCypriot Poundxx
diff --git a/localization/currency/egp.desktop b/localization/currency/egp.desktop
index b1b6bf2..28c436f 100644
--- a/localization/currency/egp.desktop
+++ b/localization/currency/egp.desktop
@@ -63,7 +63,7 @@ Name[sr@latin]=egipatska funta
 Name[sv]=Egyptiska pund
 Name[th]=ปอนด์อียิปต์
 Name[tr]=Mısır Poundu
-Name[ug]=مىسىر فوندسىتېرلىڭى
+Name[ug]=مىسىر فوند سىتېرلىڭى
 Name[uk]=Єгипетський фунт
 Name[wa]=Live edjipsyinne
 Name[x-test]=xxEgyptian Poundxx
diff --git a/localization/currency/fkp.desktop b/localization/currency/fkp.desktop
index 431df5e..4a25c23 100644
--- a/localization/currency/fkp.desktop
+++ b/localization/currency/fkp.desktop
@@ -62,7 +62,7 @@ Name[sv]=Falklandspund
 Name[tg]=Ҷазираҳои Фолкленд (Ҷазираҳои Малвин)
 Name[th]=ปอนด์หมู่เกาะฟอล์คแลนด์
 Name[tr]=Falkland Adaları Poundu
-Name[ug]=فالكلاند ئاراللىرى فوندسىتېرلىڭى
+Name[ug]=فالكلاند ئاراللىرى فوند سىتېرلىڭى
 Name[uk]=Фунт Фолклендських островів
 Name[wa]=Lives des Iyes Malouwenes
 Name[x-test]=xxFalkland Islands Poundxx
diff --git a/localization/currency/gbp.desktop b/localization/currency/gbp.desktop
index 2e9bfc8..573044e 100644
--- a/localization/currency/gbp.desktop
+++ b/localization/currency/gbp.desktop
@@ -61,7 +61,7 @@ Name[sr@latin]=britanska funta sterlinga
 Name[sv]=Brittiska pund
 Name[th]=ปอนด์สเตอร์ลิงอังกฤษ
 Name[tr]=İngiliz Sterlini
-Name[ug]=ئەنگلىيە فوندسىتېرلىڭى
+Name[ug]=ئەنگلىيە فوند سىتېرلىڭى
 Name[uk]=Британський фунт стерлінгів
 Name[wa]=Live sterling britanike
 Name[x-test]=xxBritish Pound Sterlingxx
diff --git a/localization/currency/ghc.desktop b/localization/currency/ghc.desktop
index 0e13c11..7ffb7a0 100644
--- a/localization/currency/ghc.desktop
+++ b/localization/currency/ghc.desktop
@@ -63,7 +63,7 @@ Name[uk]=Ганійське седі
 Name[wa]=Cedi do Gana
 Name[x-test]=xxGhanaian Cedixx
 Name[zh_CN]=加纳塞地
-Name[zh_TW]=迦納─舊塞地（Cedi）
+Name[zh_TW]=迦納─塞地（Cedi）
 CurrencyNameIso=Ghanaian cedi
 CurrencyUnitSymbols=₵,GHC
 CurrencyUnitSymbolDefault=₵
diff --git a/localization/currency/gip.desktop b/localization/currency/gip.desktop
index be596d4..27fb1b8 100644
--- a/localization/currency/gip.desktop
+++ b/localization/currency/gip.desktop
@@ -62,7 +62,7 @@ Name[sv]=Gibraltiska pund
 Name[tg]=Гибралтар
 Name[th]=ปอนด์ยิบรอลตา
 Name[tr]=Cebelitarık Poundu
-Name[ug]=جەبىلتارىق فوندسىتېرلىڭى
+Name[ug]=جەبىلتارىق فوند سىتېرلىڭى
 Name[uk]=Гібралтарський фунт
 Name[wa]=Live da Djibraltar
 Name[x-test]=xxGibraltar Poundxx
diff --git a/localization/currency/iep.desktop b/localization/currency/iep.desktop
index 46b56d9..dc1712c 100644
--- a/localization/currency/iep.desktop
+++ b/localization/currency/iep.desktop
@@ -62,7 +62,7 @@ Name[sr@latin]=irska funta
 Name[sv]=irländska pund
 Name[th]=ปอนด์ไอร์แลนด์
 Name[tr]=İrlanda Poundu
-Name[ug]=ئىرېلاندىيە فوندستېرلىڭى
+Name[ug]=ئىرېلاندىيە پوندى
 Name[uk]=ірландський фунт
 Name[wa]=Live irlandesse
 Name[x-test]=xxIrish Poundxx
diff --git a/localization/currency/lbp.desktop b/localization/currency/lbp.desktop
index 1778d6f..d3d3061 100644
--- a/localization/currency/lbp.desktop
+++ b/localization/currency/lbp.desktop
@@ -62,7 +62,7 @@ Name[sv]=Libanesiska pund
 Name[tg]=Лубнон
 Name[th]=ปอนด์เลบานอน
 Name[tr]=Lübnan Poundu
-Name[ug]=لىۋان فوندسىتېرلىڭى
+Name[ug]=لىۋان فوند سىتېرلىڭى
 Name[uk]=Ліванський фунт
 Name[wa]=Live libanesse
 Name[x-test]=xxLebanese Poundxx
diff --git a/localization/currency/sdg.desktop b/localization/currency/sdg.desktop
index 5f10a12..cf81830 100644
--- a/localization/currency/sdg.desktop
+++ b/localization/currency/sdg.desktop
@@ -62,7 +62,7 @@ Name[sr@latin]=sudanska funta
 Name[sv]=Sudanesiska pund
 Name[th]=ปอนด์ซูดาน
 Name[tr]=Sudan Poundu
-Name[ug]=سۇدان فوندستېرلىڭ
+Name[ug]=سۇدان پوندى
 Name[uk]=Суданський фунт
 Name[wa]=Live soudanesse
 Name[x-test]=xxSudanese Poundxx
diff --git a/localization/currency/srg.desktop b/localization/currency/srg.desktop
index 93a0038..8b6e20e 100644
--- a/localization/currency/srg.desktop
+++ b/localization/currency/srg.desktop
@@ -61,7 +61,7 @@ Name[sv]=Surinamesisk guilder
 Name[tg]=Суринам
 Name[th]=กิลเดอร์ซูรีนามิ
 Name[tr]=Surinam Guldeni
-Name[ug]=سۇرىنام گۇلدېنى
+Name[ug]=سۇرىنام گۈلدىنى
 Name[uk]=Суринамський гульден
 Name[wa]=Florin då Suriname
 Name[x-test]=xxSurinamese Guilderxx
diff --git a/localization/currency/syp.desktop b/localization/currency/syp.desktop
index 7c233ed..f8f3c43 100644
--- a/localization/currency/syp.desktop
+++ b/localization/currency/syp.desktop
@@ -62,7 +62,7 @@ Name[sv]=Syriska pund
 Name[tg]=Фунти Сурия
 Name[th]=ปอนด์ซีเรีย
 Name[tr]=Suriye Lirası
-Name[ug]=سۈرىيە فوندستېرلىڭ
+Name[ug]=سۈرىيە پوندى
 Name[uk]=Сирійський фунт
 Name[wa]=Live siryinne
 Name[x-test]=xxSyrian Poundxx
diff --git a/localization/currency/tpe.desktop b/localization/currency/tpe.desktop
index 35b524d..5ee777e 100644
--- a/localization/currency/tpe.desktop
+++ b/localization/currency/tpe.desktop
@@ -61,7 +61,7 @@ Name[uk]=Ескудо португальсього Тимору
 Name[wa]=Escudo då Timor portuguès
 Name[x-test]=xxPortuguese Timorese Escudoxx
 Name[zh_CN]=葡萄牙埃斯库多
-Name[zh_TW]=葡屬帝汶─埃斯庫多（Escudo）
+Name[zh_TW]=葡屬幾內亞─埃斯庫多（Escudo）
 CurrencyNameIso=Portuguese Timorese escudo
 CurrencyUnitSymbols=TPE
 CurrencyUnitSymbolDefault=TPE
diff --git a/localization/currency/xcd.desktop b/localization/currency/xcd.desktop
index fd2d8fa..c12223f 100644
--- a/localization/currency/xcd.desktop
+++ b/localization/currency/xcd.desktop
@@ -67,7 +67,7 @@ Name[uk]=Східно-карибський долар
 Name[wa]=Dolår dås Carayibes Levantreces
 Name[x-test]=xxEast Caribbean Dollarxx
 Name[zh_CN]=东加勒比元
-Name[zh_TW]=東加勒比─元（Dollar）
+Name[zh_TW]=東格瑞那達─元（Dollar）
 CurrencyNameIso=East Caribbean dollar
 CurrencyUnitSymbols=$,EC$,XCD
 CurrencyUnitSymbolDefault=$
diff --git a/localization/currency/yer.desktop b/localization/currency/yer.desktop
index 0fca5bb..c8792b9 100644
--- a/localization/currency/yer.desktop
+++ b/localization/currency/yer.desktop
@@ -65,7 +65,7 @@ Name[uk]=Єменський ріал
 Name[wa]=Rial yemenite
 Name[x-test]=xxYemeni Rialxx
 Name[zh_CN]=也门里亚尔
-Name[zh_TW]=葉門─里亞爾（Rial）
+Name[zh_TW]=葉門里─亞爾（Rial）
 CurrencyNameIso=Yemeni rial
 CurrencyUnitSymbols=YER
 CurrencyUnitSymbolDefault=YER
diff --git a/menu/desktop/kde-editors.directory b/menu/desktop/kde-editors.directory
index b667c50..3594dc6 100644
--- a/menu/desktop/kde-editors.directory
+++ b/menu/desktop/kde-editors.directory
@@ -84,7 +84,7 @@ Name[te]=ఎడిటర్లు
 Name[tg]=Таҳриргар
 Name[th]=เครื่องมือแก้ไขข้อความ
 Name[tr]=Düzenleyiciler
-Name[ug]=تەھرىرلىگۈچلەر
+Name[ug]=تەھرىرلىگۈچ
 Name[uk]=Редактори
 Name[uz]=Tahrirchilar
 Name[uz@cyrillic]=Таҳрирчилар
diff --git a/nepomuk/ontologies/kext.trig b/nepomuk/ontologies/kext.trig
index be5d041..b743638 100644
--- a/nepomuk/ontologies/kext.trig
+++ b/nepomuk/ontologies/kext.trig
@@ -7,18 +7,18 @@
 #  * to Remix - to adapt the work
 # Under the following conditions:
 #  * Attribution - You must attribute the work in the manner specified by the author
-#    or licensor (but not in any way that suggests that they endorse you or your use 
+#    or licensor (but not in any way that suggests that they endorse you or your use
 #    of the work).
 #
-# Redistribution and use in source and binary forms, with or without modification, 
+# Redistribution and use in source and binary forms, with or without modification,
 # are permitted provided that the following conditions are met:
-#  * Redistributions of source code must retain the above copyright notice, this 
+#  * Redistributions of source code must retain the above copyright notice, this
 #    list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright notice, this 
-#    list of conditions and the following disclaimer in the documentation and/or 
+#  * Redistributions in binary form must reproduce the above copyright notice, this
+#    list of conditions and the following disclaimer in the documentation and/or
 #    other materials provided with the distribution.
 #  * Neither the names of the authors nor the names of contributors may
-#    be used to endorse or promote products derived from this ontology without 
+#    be used to endorse or promote products derived from this ontology without
 #    specific prior written permission.
 #
 # THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
@@ -94,6 +94,35 @@ kext: {
           rdfs:range xsd:string ;
           nrl:cardinality 1 ;
           nao:userVisible false .
+
+    kext:ResourceScoreCache
+          a rdfs:Class ;
+          rdfs:subClassOf rdfs:Resource ;
+          rdfs:label "Resource score cache" ;
+          rdfs:comment "For storing the automatically calculated score based on the usage statistics" ;
+          nao:userVisible false .
+
+    kext:targettedResource
+          a rdf:Property ;
+          rdfs:comment "Resource for which the score is calculated." ;
+          rdfs:domain kext:ResourceScoreCache ;
+          rdfs:label "resource" ;
+          rdfs:range rdfs:Resource .
+
+    kext:initiatingAgent
+          a rdf:Property ;
+          rdfs:comment "Relates the score to the agent initiating the events." ;
+          rdfs:domain kext:ResourceScoreCache ;
+          rdfs:label "involved agent" ;
+          rdfs:range nao:Agent .
+
+    kext:cachedScore
+          a rdf:Property ;
+          rdfs:subPropertyOf nao:score ;
+          rdfs:comment "The automatically calculated score" ;
+          rdfs:domain kext:ResourceScoreCache ;
+          rdfs:label "calculated score" ;
+          rdfs:range xsd:float .
 }
 
 <http://nepomuk.kde.org/ontologies/2010/11/29/kext/metadata> {
