[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kde-runtime] /: Removed activity manager from runtime
From: Ivan Čukić <ivan.cukic () kde ! org>
Date: 2011-09-20 10:18:14
Message-ID: 20110920101814.E3CA8A607A () git ! kde ! org
[Download RAW message or body]
Git commit bcdfc1cf239aa4ef1404204146da7e9250000dda by Ivan Čukić.
Committed on 20/09/2011 at 12:18.
Pushed by ivan into branch 'master'.
Removed activity manager from runtime
M +0 -1 CMakeLists.txt
D +0 -826 activitymanager/ActivityManager.cpp
D +0 -288 activitymanager/ActivityManager.h
D +0 -116 activitymanager/ActivityManager_p.h
D +0 -89 activitymanager/CMakeLists.txt
D +0 -36 activitymanager/Event.cpp
D +0 -83 activitymanager/Event.h
D +0 -211 activitymanager/EventProcessor.cpp
D +0 -54 activitymanager/EventProcessor.h
D +0 -2 activitymanager/Messages.sh
D +0 -61 activitymanager/Plugin.cpp
D +0 -59 activitymanager/Plugin.h
D +0 -77 activitymanager/SharedInfo.cpp
D +0 -88 activitymanager/SharedInfo.h
D +0 -32 activitymanager/activitymanager-plugin.desktop
D +0 -7 activitymanager/config-features.h.cmake
D +0 -134 activitymanager/kactivitymanagerd.desktop
D +0 -2 activitymanager/kded/CMakeLists.txt
D +0 -3 activitymanager/kded/activitymanager.desktop
D +0 -100 activitymanager/krso.trig
D +0 -38 activitymanager/main.cpp
D +0 -118 activitymanager/org.kde.ActivityManager.xml
D +0 -7 activitymanager/plugins/CMakeLists.txt
D +0 -30 activitymanager/plugins/dummy/CMakeLists.txt
D +0 -58 activitymanager/plugins/dummy/activitymanager-plugin-dummy.desktop
D +0 -34 activitymanager/plugins/dummy/dummy.cpp
D +0 -35 activitymanager/plugins/dummy/dummy.h
D +0 -60 activitymanager/plugins/nepomuk/CMakeLists.txt
D +0 -67 activitymanager/plugins/nepomuk/NepomukCommon.h
D +0 -280 activitymanager/plugins/nepomuk/NepomukPlugin.cpp
D +0 -51 activitymanager/plugins/nepomuk/NepomukPlugin.h
D +0 -217 activitymanager/plugins/nepomuk/NepomukResourceScoreCache.cpp
D +0 -42 activitymanager/plugins/nepomuk/NepomukResourceScoreCache.h
D +0 -145 activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.cpp
D +0 -47 activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.h
D +0 -325 activitymanager/plugins/nepomuk/Rankings.cpp
D +0 -104 activitymanager/plugins/nepomuk/Rankings.h
D +0 -49 activitymanager/plugins/nepomuk/RankingsClient.h
D +0 -52 activitymanager/plugins/nepomuk/activitymanager-plugin-nepomuk.desktop
D +0 -20 activitymanager/plugins/nepomuk/org.kde.ActivityManager.Rankings.xml
D +0 -19 activitymanager/plugins/nepomuk/org.kde.ActivityManager.RankingsClient.xml
D +0 -37 activitymanager/plugins/slc/CMakeLists.txt
D +0 -53 activitymanager/plugins/slc/activitymanager-plugin-slc.desktop
D +0 -18 activitymanager/plugins/slc/org.kde.ActivityManager.SLC.xml
D +0 -139 activitymanager/plugins/slc/slc.cpp
D +0 -56 activitymanager/plugins/slc/slc.h
D +0 -43 activitymanager/queries.sparql
D +0 -4 activitymanager/scripts/delete-stats.sh
http://commits.kde.org/kde-runtime/bcdfc1cf239aa4ef1404204146da7e9250000dda
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8fe3148..dafe056 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 becce25..0000000
--- a/activitymanager/ActivityManager.cpp
+++ /dev/null
@@ -1,826 +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>
- #include <Nepomuk/Variant>
- #include "nie.h"
-#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,
- QHash < WId, SharedInfo::WindowData > & _windows,
- QHash < KUrl, SharedInfo::ResourceData > & _resources
- )
- : haveSessions(false),
- config("activitymanagerrc"),
- windows(_windows),
- resources(_resources),
-#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;
- SharedInfo::self()->setCurrentActivity(currentActivity);
-
- connect(KWindowSystem::self(), SIGNAL(windowRemoved(WId)),
- this, SLOT(windowClosed(WId)));
- connect(KWindowSystem::self(), SIGNAL(activeWindowChanged(WId)),
- this, SLOT(activeWindowChanged(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)
-{
- // kDebug() << "Window closed..." << windowId
- // << "one of ours?" << windows.contains(windowId);
-
- if (!windows.contains(windowId)) {
- return;
- }
-
- foreach (const KUrl & uri, windows[windowId].resources) {
- q->RegisterResourceEvent(windows[windowId].application,
- toInt(windowId), uri.url(), Event::Closed, resources[uri].reason);
- }
-}
-
-void ActivityManagerPrivate::activeWindowChanged(WId windowId)
-{
- Q_UNUSED(windowId)
- // kDebug() << "Window focussed..." << windowId
- // << "one of ours?" << windows.contains(windowId);
-
-}
-
-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)
-{
- kDebug() << id;
- if (id.isEmpty()) {
- currentActivity.clear();
-
- } else {
- if (!activities.contains(id)) {
- return false;
- }
-
- if (currentActivity != id) {
- kDebug() << "registering the events";
- // Closing the previous activity:
- if (!currentActivity.isEmpty()) {
- q->RegisterResourceEvent(
- "kactivitymanagerd", 0,
- "activities://" + currentActivity,
- Event::Closed, Event::User
- );
- }
-
- q->RegisterResourceEvent(
- "kactivitymanagerd", 0,
- "activities://" + id,
- Event::Accessed, Event::User
- );
- q->RegisterResourceEvent(
- "kactivitymanagerd", 0,
- "activities://" + id,
- Event::Opened, Event::User
- );
- }
-
- q->StartActivity(id);
-
- currentActivity = id;
- mainConfig().writeEntry("currentActivity", id);
-
- scheduleConfigSync();
- }
-
- kDebug() << (void*) SharedInfo::self() << "Rankings << shared info";
- SharedInfo::self()->setCurrentActivity(id);
- 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,
- SharedInfo::self()->m_windows,
- SharedInfo::self()->m_resources))
-{
-
- 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);
-
- EventProcessor::self();
-
- kDebug() << "RegisterResourceEvent open" << d->currentActivity;
- RegisterResourceEvent(
- "kactivitymanagerd", 0,
- "activities://" + d->currentActivity,
- Event::Accessed, Event::User
- );
- RegisterResourceEvent(
- "kactivitymanagerd", 0,
- "activities://" + d->currentActivity,
- Event::Opened, Event::User
- );
-
-}
-
-ActivityManager::~ActivityManager()
-{
- kDebug() << "RegisterResourceEvent close" << d->currentActivity;
- RegisterResourceEvent(
- "kactivitymanagerd", 0,
- "activities://" + d->currentActivity,
- Event::Closed, Event::User
- );
- 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::RegisterResourceEvent(const QString & application, uint \
_windowId,
- const QString & uri, uint event, uint reason)
-{
- if (event > Event::LastEventType || reason > Event::LastEventReason)
- return;
-
- KUrl kuri(uri);
- WId windowId = (WId) _windowId;
-
- kDebug() << "New event on the horizon" << application << _windowId << windowId \
<< event << Event::Opened;
-
-#ifdef HAVE_NEPOMUK
- if (uri.startsWith("nepomuk:")) {
- Nepomuk::Resource resource(kuri);
-
- if (resource.hasProperty(Nepomuk::Vocabulary::NIE::url())) {
- kuri = resource.property(Nepomuk::Vocabulary::NIE::url()).toUrl();
- kDebug() << "Passing real url" << kuri;
- } else {
- kWarning() << "Passing nepomuk:// url" << kuri;
- }
- }
-#endif
-
- if (event == Event::Opened) {
-
- kDebug() << "Saving the open event for the window" << windowId;
-
- d->windows[windowId].resources << kuri;
- d->resources[kuri].activities << CurrentActivity();
-
- kDebug() << d->windows.keys();
-
- } else if (event == Event::Closed) {
-
- // TODO: Remove from d->resources if needed
- d->windows.remove(windowId);
-
- }
-
- EventProcessor::self()->addEvent(application, windowId,
- kuri.url(), (Event::Type) event, (Event::Reason) reason);
-
-}
-
-void ActivityManager::RegisterResourceMimeType(const QString & uri, const QString & \
mimetype)
-{
- KUrl kuri(uri);
-
- d->resources[kuri].mimetype = mimetype;
-}
-
-void ActivityManager::RegisterResourceTitle(const QString & uri, const QString & \
title)
-{
- KUrl kuri(uri);
-
- d->resources[kuri].title = title;
-}
-
-void ActivityManager::LinkResourceToActivity(const QString & uri, const QString & \
activity)
-{
-#ifdef HAVE_NEPOMUK
- if (!d->nepomukInitialized()) return;
-
- kDebug() << "Linking" << uri << "to" << activity << CurrentActivity();
-
- Nepomuk::Resource(KUrl(uri)).
- addIsRelated(d->activityResource(
- activity.isEmpty() ?
- CurrentActivity() : activity
- )
- );
-
-#endif
-}
-
-// void ActivityManager::UnlinkResourceFromActivity(const QString & uri, const \
QString & activity)
-// {
-// #ifdef HAVE_NEPOMUK
-// if (!d->nepomukInitialized()) return;
-//
-// Nepomuk::Resource(KUrl(uri)).
-// addIsRelated(d->activityResource(
-// activity.isEmpty() ?
-// CurrentActivity() : activity
-// )
-// );
-//
-// #endif
-// }
-
-// static
-ActivityManager * ActivityManager::self()
-{
- return static_cast<ActivityManager*>(kapp);
-}
-
-
diff --git a/activitymanager/ActivityManager.h b/activitymanager/ActivityManager.h
deleted file mode 100644
index e4f7374..0000000
--- a/activitymanager/ActivityManager.h
+++ /dev/null
@@ -1,288 +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
- };
-
- /**
- * The event type
- */
- enum EventType {
- Accessed = 1,
- Opened = 2,
- Modified = 3,
- Closed = 4,
- FocussedIn = 5,
- FocussedOut = 6
- };
-
- /**
- * 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:
-
- /**
- * Registers a new event
- * @param application the name of application that sent the event. Ignored if \
the event is not of type Opened
- * @param windowId ID of the window that displays the resource. Ignored if the \
event is of type Accessed
- * @param uri URI of the resource on which the event happened
- * @param event type of the event
- * @param reason reason for opening the resource
- */
- void RegisterResourceEvent(const QString & application, uint windowId, const \
QString & uri, uint event, uint reason);
-
- /**
- * Registers resource's mimetype. If not manually specified, it will
- * be retrieved if needed from Nepomuk
- *
- * Note that this will be forgotten when the resource in question is closed.
- * @param uri URI of the resource
- */
- void RegisterResourceMimeType(const QString & uri, const QString & mimetype);
-
- /**
- * Registers resource's title. If not manually specified, it will be a shortened
- * version of the uri
- *
- * Note that this will be forgotten when the resource in question is closed.
- * @param uri URI of the resource
- */
- void RegisterResourceTitle(const QString & uri, const QString & title);
-
- /**
- * Links the specified resource to the activity
- * @param uri URI of the resource
- * @param uri activity id of the activity to link to. If empty, the resource
- * is linked to the current activity
- */
- void LinkResourceToActivity(const QString & uri, const QString & activity = \
QString());
-
- /**
- * Links the specified resource to the activity
- * @param uri URI of the resource
- * @param uri activity id of the activity to link to. If empty, the resource
- * is linked to the current activity
- */
- // void UnlinkResourceFromActivity(const QString & uri, const QString & activity \
= QString());
-
-
-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 f68cb18..0000000
--- a/activitymanager/ActivityManager_p.h
+++ /dev/null
@@ -1,116 +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 "Event.h"
-#include "SharedInfo.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,
- QHash < WId, SharedInfo::WindowData > & _windows,
- QHash < KUrl, SharedInfo::ResourceData > & _resources
- );
- ~ActivityManagerPrivate();
-
- void addRunningActivity(const QString & id);
- void removeRunningActivity(const QString & id);
-
- void ensureCurrentActivityIsRunning();
- bool setCurrentActivity(const QString & id);
-
- 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;
-
- QHash < WId, SharedInfo::WindowData > & windows;
- QHash < KUrl, SharedInfo::ResourceData > & resources;
-
-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 activeWindowChanged(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 cada4b0..0000000
--- a/activitymanager/CMakeLists.txt
+++ /dev/null
@@ -1,89 +0,0 @@
-project(ActivityManager)
-
-set(ADDITIONAL_LINK_LIBS)
-
-add_subdirectory(kded)
-# add_subdirectory(ontologies)
-
-add_subdirectory(plugins)
-
-# 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")
-
-set(sdo_SRCS "")
-
-if(Nepomuk_FOUND)
- set(HAVE_NEPOMUK 1)
- set(ADDITIONAL_LINK_LIBS
- ${ADDITIONAL_LINK_LIBS}
- ${NEPOMUK_LIBRARIES}
- ${NEPOMUK_QUERY_LIBRARIES}
- ${SOPRANO_LIBRARIES}
- )
-
- soprano_add_ontology(
- sdo_SRCS
- ${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nie.trig
- "NIE" "Nepomuk::Vocabulary" "trig"
- )
-
-endif(Nepomuk_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
- Plugin.cpp
- Event.cpp
- SharedInfo.cpp
- main.cpp
- ${sdo_SRCS}
- )
-
-qt4_add_dbus_adaptor(
- activity_manager_SRCS org.kde.ActivityManager.xml
- ActivityManager.h ActivityManager
- )
-
-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}
- )
-
-install(FILES
- activitymanager-plugin.desktop
- DESTINATION ${SERVICETYPES_INSTALL_DIR}
- )
-
-
diff --git a/activitymanager/Event.cpp b/activitymanager/Event.cpp
deleted file mode 100644
index 8435cf5..0000000
--- a/activitymanager/Event.cpp
+++ /dev/null
@@ -1,36 +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, WId vWid, const QString & vUri, int \
vType, int vReason)
- : application(vApplication), wid(vWid), uri(vUri), type(vType), reason(vReason), \
timestamp(QDateTime::currentDateTime())
-{
-}
-
-bool Event::operator == (const Event & other) const
-{
- return
- application == other.application &&
- wid == other.wid &&
- uri == other.uri &&
- type == other.type &&
- reason == other.reason;
-}
diff --git a/activitymanager/Event.h b/activitymanager/Event.h
deleted file mode 100644
index b2a40fa..0000000
--- a/activitymanager/Event.h
+++ /dev/null
@@ -1,83 +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 <QWidget>
-#include <QtCore/QDateTime>
-
-/**
- *
- */
-class Event {
-public:
- enum Type {
- Accessed = 0, ///< resource was accessed, but we don't know for how long \
it will be open/used
-
- Opened = 1, ///< resource was opened
- Modified = 2, ///< previously opened resource was modified
- Closed = 3, ///< previously opened resource was closed
-
- FocussedIn = 4, ///< resource get the keyboard focus
- FocussedOut = 5, ///< resource lost the focus
-
- LastEventType = 5,
- UserEventType = 32
-
- };
-
- // These events can't come outside of the activity manager daemon,
- // they are intended to provide some additional functionality
- // to the daemon plugins
- enum UserType {
- UpdateScore = UserEventType + 1
-
- };
-
- enum Reason {
- User = 0,
- Scheduled = 1,
- Heuristic = 2,
- System = 3,
- World = 4,
-
- LastEventReason = 4,
- UserEventReason = 32
- };
-
- Event(const QString & application, WId wid, const QString & uri,
- int type = Accessed, int reason = User);
-
- bool operator == (const Event & other) const;
-
-public:
- QString application;
- WId wid;
- QString uri;
- int type;
- int reason;
- QDateTime timestamp;
-};
-
-typedef QList<Event> EventList;
-
-#endif // EVENT_H_
-
diff --git a/activitymanager/EventProcessor.cpp b/activitymanager/EventProcessor.cpp
deleted file mode 100644
index e71441d..0000000
--- a/activitymanager/EventProcessor.cpp
+++ /dev/null
@@ -1,211 +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 "Plugin.h"
-
-#include "config-features.h"
-
-#include "Plugin.h"
-
-#include <KDebug>
-
-#include <QDateTime>
-#include <QList>
-#include <QMutex>
-
-#include <KDebug>
-#include <KServiceTypeTrader>
-
-#include <time.h>
-
-class EventProcessorPrivate: public QThread {
-public:
- QList < Plugin * > lazyBackends;
- QList < Plugin * > syncBackends;
-
- 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();
-
- kDebug() << "Passing the event to" << lazyBackends.size() << "lazy plugins";
- foreach (Plugin * backend, lazyBackends) {
- backend->addEvents(currentEvents);
- }
- }
-}
-
-EventProcessor * EventProcessor::self()
-{
- if (!EventProcessorPrivate::s_instance) {
- EventProcessorPrivate::s_instance = new EventProcessor();
- }
-
- return EventProcessorPrivate::s_instance;
-}
-
-EventProcessor::EventProcessor()
- : d(new EventProcessorPrivate())
-{
- // Initializing SharedInfo
- SharedInfo * shared = SharedInfo::self();
-
- connect(shared, SIGNAL(scoreUpdateRequested(const QString &, const QString &)),
- this, SLOT(updateScore(const QString &, const QString &)));
-
- // Plugin loading
-
- kDebug() << "Loading plugins...";
-
- KService::List offers = \
KServiceTypeTrader::self()->query("ActivityManager/Plugin");
-
- QStringList disabledPlugins = \
shared->pluginConfig("Global").readEntry("disabledPlugins", \
QStringList());
- kDebug() << disabledPlugins << "disabled due to the configuration in \
activitymanager-pluginsrc";
-
- foreach(const KService::Ptr & service, offers) {
- if (!disabledPlugins.contains(service->library())) {
- disabledPlugins.append(
- service->property("X-ActivityManager-PluginOverrides", \
QVariant::StringList).toStringList()
- );
- kDebug() << service->name() << "disables" <<
- service->property("X-ActivityManager-PluginOverrides", \
QVariant::StringList);
-
- }
- }
-
- foreach(const KService::Ptr & service, offers) {
- if (disabledPlugins.contains(service->library())) {
- continue;
- }
-
- kDebug() << "Loading plugin:"
- << service->name() << service->storageId() << service->library()
- << service->property("X-ActivityManager-PluginType", QVariant::String);
-
- KPluginFactory * factory = KPluginLoader(service->library()).factory();
-
- if (!factory) {
- kDebug() << "Failed to load plugin:" << service->name();
- continue;
- }
-
- Plugin * plugin = factory->create < Plugin > (this);
-
- if (plugin) {
- plugin->setSharedInfo(shared);
- plugin->init();
-
- const QString & type = service->property("X-ActivityManager-PluginType", \
QVariant::String).toString();
-
- if (type == "lazyeventhandler") {
- d->lazyBackends << plugin;
- kDebug() << "Added to lazy plugins";
-
- } else if (type == "synceventhandler"){
- d->syncBackends << plugin;
- kDebug() << "Added to sync plugins";
-
- }
-
- } else {
- kDebug() << "Failed to load plugin:" << service->name();
- }
-
- }
-}
-
-EventProcessor::~EventProcessor()
-{
- qDeleteAll(d->lazyBackends);
- qDeleteAll(d->syncBackends);
- delete d;
-}
-
-void EventProcessor::addEvent(const QString & application, WId wid, const QString & \
uri,
- int type, int reason)
-{
- Event newEvent(application, wid, uri, type, reason);
-
- foreach (Plugin * backend, d->syncBackends) {
- backend->addEvents(QList < Event > () << newEvent);
- }
-
- 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();
-}
-
-void EventProcessor::updateScore(const QString & application, const QString & uri)
-{
- // This is not a real event, it just notifies the system to recalculate
- // the score for the specified uri
- EventProcessor::self()->addEvent(application, 0, uri,
- Event::UpdateScore, Event::UserEventReason);
-
- kDebug() << "Score updating requested for" << application << uri;
-}
-
-
diff --git a/activitymanager/EventProcessor.h b/activitymanager/EventProcessor.h
deleted file mode 100644
index 7fd5a99..0000000
--- a/activitymanager/EventProcessor.h
+++ /dev/null
@@ -1,54 +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 <QObject>
-#include <QThread>
-
-#include "Event.h"
-
-class Plugin;
-class EventProcessorPrivate;
-
-/**
- * Thread to process desktop/usage events
- */
-class EventProcessor: public QObject {
- Q_OBJECT;
-
-public:
- static EventProcessor * self();
-
- virtual ~EventProcessor();
-
- void addEvent(const QString & application, WId wid, const QString & uri,
- int type = Event::Accessed, int reason = Event::User);
-
-private Q_SLOTS:
- void updateScore(const QString & application, const QString & uri);
-
-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/Plugin.cpp b/activitymanager/Plugin.cpp
deleted file mode 100644
index ea445a6..0000000
--- a/activitymanager/Plugin.cpp
+++ /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.
- */
-
-#include "Plugin.h"
-
-class Plugin::Private {
-public:
- SharedInfo * sharedInfo;
-};
-
-Plugin::Plugin(QObject * parent)
- : QObject(parent), d(new Private())
-{
-}
-
-Plugin::~Plugin()
-{
- delete d;
-}
-
-void Plugin::addEvents(const EventList & events)
-{
- Q_UNUSED(events)
-}
-
-void Plugin::setResourceMimeType(const QString & uri, const QString & mimetype)
-{
- Q_UNUSED(uri)
- Q_UNUSED(mimetype)
-}
-
-void Plugin::setSharedInfo(SharedInfo * sharedInfo)
-{
- d->sharedInfo = sharedInfo;
-}
-
-SharedInfo * Plugin::sharedInfo() const
-{
- return d->sharedInfo;
-}
-
-bool Plugin::init()
-{
- return true;
-}
diff --git a/activitymanager/Plugin.h b/activitymanager/Plugin.h
deleted file mode 100644
index 8945eaf..0000000
--- a/activitymanager/Plugin.h
+++ /dev/null
@@ -1,59 +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 <kdemacros.h>
-#include <KPluginFactory>
-#include <KPluginLoader>
-
-#include "Event.h"
-#include "SharedInfo.h"
-
-#define KAMD_EXPORT_PLUGIN(ClassName, AboutData) \
- K_PLUGIN_FACTORY(ClassName##Factory, registerPlugin<ClassName>();) \
- K_EXPORT_PLUGIN(ClassName##Factory("AboutData"))
-
-
-/**
- *
- */
-class KDE_EXPORT Plugin: public QObject {
- Q_OBJECT
-
-public:
- Plugin(QObject * parent);
- virtual ~Plugin();
-
- virtual void addEvents(const EventList & events);
- virtual void setResourceMimeType(const QString & uri, const QString & mimetype);
-
- virtual void setSharedInfo(SharedInfo * sharedInfo);
- SharedInfo * sharedInfo() const;
-
- virtual bool init();
-
-private:
- class Private;
- Private * const d;
-};
-
-#endif // EVENT_BACKEND_H_
-
diff --git a/activitymanager/SharedInfo.cpp b/activitymanager/SharedInfo.cpp
deleted file mode 100644
index 0ba16f0..0000000
--- a/activitymanager/SharedInfo.cpp
+++ /dev/null
@@ -1,77 +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 "SharedInfo.h"
-
-#include <KDebug>
-
-SharedInfo * SharedInfo::s_instance = NULL;
-
-SharedInfo * SharedInfo::self()
-{
- if (!s_instance) {
- s_instance = new SharedInfo();
-
- kDebug() << "SHARED INFO" << (void*) s_instance;
- }
-
- return s_instance;
-}
-
-SharedInfo::SharedInfo()
- : m_config("activitymanager-pluginsrc")
-{
-}
-
-SharedInfo::~SharedInfo()
-{
-}
-
-QHash < WId, SharedInfo::WindowData > const & SharedInfo::windows() const
-{
- return m_windows;
-}
-
-QHash < KUrl, SharedInfo::ResourceData > const & SharedInfo::resources() const
-{
- return m_resources;
-}
-
-QString SharedInfo::currentActivity() const
-{
- return m_currentActivity;
-}
-
-void SharedInfo::setCurrentActivity(const QString & activity)
-{
- m_currentActivity = activity;
-
- emit currentActivityChanged(activity);
-}
-
-KConfigGroup SharedInfo::pluginConfig(const QString & pluginName) const
-{
- return KConfigGroup(&m_config, pluginName);
-}
-
-void SharedInfo::requestScoreUpdate(const QString & application, const QString & \
uri)
-{
- scoreUpdateRequested(application, uri);
-}
-
diff --git a/activitymanager/SharedInfo.h b/activitymanager/SharedInfo.h
deleted file mode 100644
index 6960612..0000000
--- a/activitymanager/SharedInfo.h
+++ /dev/null
@@ -1,88 +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 SHARED_INFO_H_
-#define SHARED_INFO_H_
-
-#include <KUrl>
-#include <QSet>
-#include <QString>
-#include <QHash>
-#include <QObject>
-
-#include <KConfigGroup>
-#include <KConfig>
-
-#include "Event.h"
-
-/**
- *
- */
-class SharedInfo: public QObject {
- Q_OBJECT;
-
-public:
- virtual ~SharedInfo();
-
- struct WindowData {
- QSet < KUrl > resources;
- QString application;
- };
-
- struct ResourceData {
- Event::Reason reason;
- QSet < QString > activities;
- QString mimetype;
- QString title;
- };
-
- QHash < WId, WindowData > const & windows() const;
- QHash < KUrl, ResourceData > const & resources() const;
-
- QString currentActivity() const;
-
- KConfigGroup pluginConfig(const QString & pluginName) const;
-
-public Q_SLOTS:
- void requestScoreUpdate(const QString & application, const QString & uri);
-
-Q_SIGNALS:
- void scoreUpdateRequested(const QString & application, const QString & uri);
-
- void currentActivityChanged(const QString & activity);
-
-private:
- static SharedInfo * self();
-
- void setCurrentActivity(const QString & activity);
-
- QHash < WId, WindowData > m_windows;
- QHash < KUrl, ResourceData > m_resources;
- QString m_currentActivity;
- KConfig m_config;
-
- static SharedInfo * s_instance;
- SharedInfo();
-
- friend class ActivityManager;
- friend class ActivityManagerPrivate;
- friend class EventProcessor;
-};
-
-#endif // SHARED_INFO_H_
diff --git a/activitymanager/activitymanager-plugin.desktop \
b/activitymanager/activitymanager-plugin.desktop deleted file mode 100644
index cc1abe6..0000000
--- a/activitymanager/activitymanager-plugin.desktop
+++ /dev/null
@@ -1,32 +0,0 @@
-[Desktop Entry]
-Type=ServiceType
-X-KDE-ServiceType=ActivityManager/Plugin
-
-Comment=Activity manager plugin
-Comment[bg]=Приставка за управление на дейности
-Comment[cs]=Modul Správce aktivit
-Comment[el]= ρόσθετο διαχείρισης δραστηριότητας
-Comment[et]=Tegevuste haldamise plugin
-Comment[eu]=Jarduera kudeatzailearen plugina
-Comment[hu]=Aktivitáskezelő bővítmény
-Comment[ia]=Plugin de gerente de activitate
-Comment[lt]=Veiklų tvarkyklė įskiepis
-Comment[nb]=Programtillegg for aktivitetshåndterng
-Comment[nds]=Aktivitetenpleger-Moduul
-Comment[nl]=Plug-in van activiteitenbeheerder
-Comment[pt]='Plugin' do gestor de actividades
-Comment[pt_BR]=Plug-in do gerenciador de atividades
-Comment[ro]=Modul pentru gestionarul de activități
-Comment[ru]=Дополнение диспетчера комнат
-Comment[sv]=Insticksprogram för aktivitetshantering
-Comment[tg]=Плагини мудири фаъолият
-Comment[uk]=Додаток керування просторами дій
-Comment[x-test]=xxActivity manager pluginxx
-Comment[zh_TW]=活動管理員外掛程式
-
-[PropertyDef::X-ActivityManager-PluginType]
-Type=QString
-
-[PropertyDef::X-ActivityManager-PluginOverrides]
-Type=QString
-
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 0db17a6..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/krso.trig b/activitymanager/krso.trig
deleted file mode 100644
index a74aa69..0000000
--- a/activitymanager/krso.trig
+++ /dev/null
@@ -1,100 +0,0 @@
-#
-# Copyright (c) 2011 Ivan Cukic <ivan.cukic@kde.org>
-# All rights reserved, licensed under either CC-BY or BSD.
-#
-# You are free:
-# * to Share - to copy, distribute and transmit the work
-# * 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
-# of the work).
-#
-# 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
-# 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
-# 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
-# specific prior written permission.
-#
-# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
-@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
-@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix krso: <http://nepomuk.kde.org/ontologies/2011/06/17/krso#> .
-@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
-
-krso: {
- krso: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 .
-
- krso:targettedResource
- a rdf:Property ;
- rdfs:comment "Resource for which the score is calculated." ;
- rdfs:domain krso:ResourceScoreCache ;
- rdfs:label "resource" ;
- rdfs:range rdfs:Resource .
-
- krso:initiatingAgent
- a rdf:Property ;
- rdfs:comment "Relates the score to the agent initiating the events." ;
- rdfs:domain krso:ResourceScoreCache ;
- rdfs:label "involved agent" ;
- rdfs:range nao:Agent .
-
- krso:involvesActivity
- a rdf:Property ;
- rdfs:comment "Relates the score to the activity in which the events \
happened." ;
- rdfs:domain krso:ResourceScoreCache ;
- rdfs:label "involved activity" ;
- rdfs:range krso:Activity .
-
- krso:cachedScore
- a rdf:Property ;
- rdfs:subPropertyOf nao:score ;
- rdfs:comment "The automatically calculated score" ;
- rdfs:domain krso:ResourceScoreCache ;
- rdfs:label "calculated score" ;
- rdfs:range xsd:float .
-}
-
-<http://nepomuk.kde.org/ontologies/2011/06/17/krso/metadata> {
- <http://nepomuk.kde.org/ontologies/2011/06/17/krso/metadata>
- a nrl:GraphMetadata ;
- nrl:coreGraphMetadataFor krso: .
-
-
- krso:
- a nrl:Ontology , nrl:DocumentGraph ;
- nao:prefLabel "KDE Resource Scoring Ontology" ;
- nao:hasDefaultNamespace \
"http://nepomuk.kde.org/ontologies/2011/06/17/krso#" ;
- nao:hasDefaultNamespaceAbbreviation "krso" ;
- nao:lastModified "2011-06-17T11:00:43Z" ;
- nao:serializationLanguage "TriG" ;
- nao:status "Unstable" ;
- nrl:updatable "0" ;
- nao:version "2" .
-}
-
diff --git a/activitymanager/main.cpp b/activitymanager/main.cpp
deleted file mode 100644
index 2ce18ed..0000000
--- a/activitymanager/main.cpp
+++ /dev/null
@@ -1,38 +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 <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 07a5b34..0000000
--- a/activitymanager/org.kde.ActivityManager.xml
+++ /dev/null
@@ -1,118 +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>
- <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="RegisterResourceEvent">
- <arg name="application" type="s" direction="in"/>
- <arg name="windowId" type="u" direction="in"/>
- <arg name="uri" type="s" direction="in"/>
- <arg name="event" type="u" direction="in"/>
- <arg name="reason" type="u" direction="in"/>
- </method>
- <method name="RegisterResourceMimeType">
- <arg name="uri" type="s" direction="in"/>
- <arg name="mimetype" type="s" direction="in"/>
- </method>
- <method name="RegisterResourceTitle">
- <arg name="uri" type="s" direction="in"/>
- <arg name="title" type="s" direction="in"/>
- </method>
- <method name="LinkResourceToActivity">
- <arg name="uri" type="s" direction="in"/>
- <arg name="activity" type="s" direction="in"/>
- </method>
- <method name="LinkResourceToActivity">
- <arg name="uri" type="s" direction="in"/>
- </method>
- <!-- <method name="UnlinkResourceFromActivity"> -->
- <!-- <arg name="uri" type="s" direction="in"/> -->
- <!-- <arg name="activity" type="s" direction="in"/> -->
- <!-- </method> -->
- <!-- <method name="UnlinkResourceFromActivity"> -->
- <!-- <arg name="uri" type="s" direction="in"/> -->
- <!-- </method> -->
- </interface>
-</node>
diff --git a/activitymanager/plugins/CMakeLists.txt \
b/activitymanager/plugins/CMakeLists.txt deleted file mode 100644
index 3e965c0..0000000
--- a/activitymanager/plugins/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-macro_optional_add_subdirectory(dummy)
-macro_optional_add_subdirectory(slc)
-
-macro_optional_find_package(Nepomuk)
-if(Nepomuk_FOUND)
- macro_optional_add_subdirectory(nepomuk)
-endif(Nepomuk_FOUND)
diff --git a/activitymanager/plugins/dummy/CMakeLists.txt \
b/activitymanager/plugins/dummy/CMakeLists.txt deleted file mode 100644
index 7cced75..0000000
--- a/activitymanager/plugins/dummy/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-project(activitymanager-dummy)
-
-include_directories(
- ${CMAKE_SOURCE_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../..
- ${CMAKE_CURRENT_BINARY_DIR}
- ${KDE4_INCLUDES}
- )
-
-set(
- dummy_SRCS
- dummy.cpp
- ../../Plugin.cpp
- )
-
-kde4_add_plugin(
- activitymanager_plugin_dummy
- ${dummy_SRCS}
- )
-
-target_link_libraries(
- activitymanager_plugin_dummy
- ${KDE4_KDECORE_LIBS}
-)
-
-install(TARGETS activitymanager_plugin_dummy DESTINATION ${PLUGIN_INSTALL_DIR})
-install(FILES activitymanager-plugin-dummy.desktop DESTINATION \
${SERVICES_INSTALL_DIR})
-
diff --git a/activitymanager/plugins/dummy/activitymanager-plugin-dummy.desktop \
b/activitymanager/plugins/dummy/activitymanager-plugin-dummy.desktop deleted file \
mode 100644 index ed8c924..0000000
--- a/activitymanager/plugins/dummy/activitymanager-plugin-dummy.desktop
+++ /dev/null
@@ -1,58 +0,0 @@
-[Desktop Entry]
-Name=Dummy plugin
-Name[bg]=Празна приставка
-Name[cs]=Prázdný modul
-Name[el]=Εικονικό πρόσθετο
-Name[et]=Kohatäiteplugin
-Name[eu]=Gezurretazko plugina
-Name[hu]=Hamis bővítmény
-Name[ia]=Plugin vacue
-Name[nb]=Attrapp-programtilleggs
-Name[nds]=Platzholl-Moduul
-Name[nl]=Dummy plug-in
-Name[pt]='Plugin' de testes
-Name[pt_BR]=Plug-in de testes
-Name[ro]=Modul fictiv
-Name[ru]=Дополнение для тестирования
-Name[sv]=Testinsticksprogram
-Name[tg]=Плагини сохтагӣ
-Name[ug]=مەۋھۇم قىستۇرما
-Name[uk]=Тестовий додаток
-Name[x-test]=xxDummy pluginxx
-Name[zh_TW]=空白外掛程式
-Comment=Just testing
-Comment[bg]=Само за изпробване
-Comment[cs]=Pouze testovací
-Comment[et]=Lihtsalt test
-Comment[eu]=Soilik probatarako
-Comment[hu]=Csak tesztelés
-Comment[ia]=Solmente per essayar
-Comment[lt]=Tiesiog testuojama
-Comment[nb]=Bare tester
-Comment[nds]=Bloots an't Utproberen
-Comment[nl]=Gewoon testen
-Comment[pt]=Apenas para testes
-Comment[pt_BR]=Apenas testando
-Comment[ro]=Doar pentru testare
-Comment[ru]=Проверка
-Comment[sv]=Bara testning
-Comment[tg]=Танҳо санҷида истодааст
-Comment[uk]=Тестування
-Comment[x-test]=xxJust testingxx
-Comment[zh_TW]=測試用
-Type=Service
-Icon=
-
-X-KDE-ServiceTypes=ActivityManager/Plugin
-X-KDE-Library=activitymanager_plugin_dummy
-X-KDE-PluginInfo-Author=Ivan Cukic
-X-KDE-PluginInfo-Email=ivan.cukic@kde.org
-X-KDE-PluginInfo-Name=org.kde.kactivitymanager.dummy
-X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=http://plasma.kde.org/
-X-KDE-PluginInfo-Category=Language
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
-
-X-ActivityManager-PluginType=normal
diff --git a/activitymanager/plugins/dummy/dummy.cpp \
b/activitymanager/plugins/dummy/dummy.cpp deleted file mode 100644
index e20fb2b..0000000
--- a/activitymanager/plugins/dummy/dummy.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 as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#include "dummy.h"
-
-#include <KDebug>
-#include "ActivityManager.h"
-
-DummyPlugin::DummyPlugin(QObject * parent, const QVariantList & args)
- : Plugin(parent)
-{
- Q_UNUSED(args)
- kDebug() << "We are in the DummyPlugin";
-}
-
-DummyPlugin::~DummyPlugin()
-{
-}
-
-KAMD_EXPORT_PLUGIN(DummyPlugin, "activitymanger_plugin_dummy")
diff --git a/activitymanager/plugins/dummy/dummy.h \
b/activitymanager/plugins/dummy/dummy.h deleted file mode 100644
index e059a5e..0000000
--- a/activitymanager/plugins/dummy/dummy.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2008 Nick Shaforostoff <shaforostoff@kde.ru>
- *
- * based on work by:
- * Copyright (C) 2007 Thomas Georgiou <TAGeorgiou@gmail.com> and Jeff Cooper \
<weirdsox11@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef Dummy_H
-#define Dummy_H
-
-#include "../../Plugin.h"
-
-class DummyPlugin: public Plugin
-{
- Q_OBJECT
-
-public:
- DummyPlugin(QObject *parent, const QVariantList & args);
- ~DummyPlugin();
-};
-
-#endif
diff --git a/activitymanager/plugins/nepomuk/CMakeLists.txt \
b/activitymanager/plugins/nepomuk/CMakeLists.txt deleted file mode 100644
index b10e852..0000000
--- a/activitymanager/plugins/nepomuk/CMakeLists.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-project(activitymanager-plugin-nepomuk)
-
-# Checking for Nepomuk
-find_package(Nepomuk REQUIRED)
-
-include_directories(${NEPOMUK_INCLUDE_DIR})
-
-set(
- nepomuk_SRCS
- NepomukPlugin.cpp
- NepomukResourceScoreCache.cpp
- NepomukResourceScoreMaintainer.cpp
- Rankings.cpp
- ../../Plugin.cpp
- ../../SharedInfo.cpp
- )
-
-qt4_add_dbus_adaptor(
- nepomuk_SRCS
- org.kde.ActivityManager.Rankings.xml
- Rankings.h Rankings
- )
-
-soprano_add_ontology(nepomuk_SRCS
- ${CMAKE_SOURCE_DIR}/nepomuk/ontologies/kext.trig
- "KExt" "Nepomuk::Vocabulary" "trig"
- )
-
-soprano_add_ontology(nepomuk_SRCS
- ${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nepomuk/nao.trig
- "NAO" "Nepomuk::Vocabulary" "trig"
- )
-
-include_directories(
- ${CMAKE_SOURCE_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../..
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}/../..
- ${KDE4_INCLUDES}
- )
-
-kde4_add_plugin(
- activitymanager_plugin_nepomuk
- ${nepomuk_SRCS}
- )
-
-target_link_libraries(
- activitymanager_plugin_nepomuk
- ${KDE4_KDECORE_LIBS}
- ${KDE4_KDEUI_LIBS}
- ${NEPOMUK_LIBRARIES}
- ${NEPOMUK_QUERY_LIBRARIES}
- ${SOPRANO_LIBRARIES}
- )
-
-install(TARGETS activitymanager_plugin_nepomuk DESTINATION ${PLUGIN_INSTALL_DIR})
-install(FILES activitymanager-plugin-nepomuk.desktop DESTINATION \
${SERVICES_INSTALL_DIR})
-
diff --git a/activitymanager/plugins/nepomuk/NepomukCommon.h \
b/activitymanager/plugins/nepomuk/NepomukCommon.h deleted file mode 100644
index 5cfb764..0000000
--- a/activitymanager/plugins/nepomuk/NepomukCommon.h
+++ /dev/null
@@ -1,67 +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 NEPOMUK_COMMON_H_
-#define NEPOMUK_COMMON_H_
-
-#include <nepomuk/nie.h>
-#include "NepomukPlugin.h"
-
-#include <Nepomuk/Variant>
-
-#define NUAO_targettedResource KUrl(NUAO::nuaoNamespace().toString() + \
QLatin1String("targettedResource"))
-#define NUAO_initiatingAgent KUrl(NUAO::nuaoNamespace().toString() + \
QLatin1String("initiatingAgent"))
-// #define NUAO_involvesActivity KUrl(NUAO::nuaoNamespace().toString() + \
QLatin1String("involvesActivity"))
-
-#define activityResource(ID) Nepomuk::Resource(ID, KExt::Activity())
-#define agentResource(ID) Nepomuk::Resource(ID, NAO::Agent())
-#define currentActivityId NepomukPlugin::self()->sharedInfo()->currentActivity()
-#define currentActivityRes activityResource(currentActivityId)
-
-// #define anyResource(ID) Nepomuk::Resource(KUrl(ID))
-
-inline Nepomuk::Resource anyResource(const QUrl & uri)
-{
- Nepomuk::Resource result(uri);
-
- kDebug() << "setting the URI" << result.isFile() << result.isValid();
- result.setProperty(Nepomuk::Vocabulary::NIE::url(), uri);
- kDebug() << "set the URI" << result.isFile() << result.isValid();
-
- return result;
-}
-
-inline Nepomuk::Resource anyResource(const QString & uri)
-{
- return anyResource(KUrl(uri));
-}
-
-#define litN3(A) Soprano::Node::literalToN3(A)
-
-inline QString resN3(const QUrl & uri)
-{
- return Soprano::Node::resourceToN3(uri);
-}
-
-inline QString resN3(const Nepomuk::Resource & resource)
-{
- return Soprano::Node::resourceToN3(resource.resourceUri());
-}
-
-#endif // NEPOMUK_COMMON_H_
diff --git a/activitymanager/plugins/nepomuk/NepomukPlugin.cpp \
b/activitymanager/plugins/nepomuk/NepomukPlugin.cpp deleted file mode 100644
index 1f6b233..0000000
--- a/activitymanager/plugins/nepomuk/NepomukPlugin.cpp
+++ /dev/null
@@ -1,280 +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 "NepomukPlugin.h"
-#include "NepomukResourceScoreMaintainer.h"
-
-#include "../../Event.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>
-
-#include "NepomukCommon.h"
-#include "Rankings.h"
-
-using namespace Soprano::Vocabulary;
-using namespace Nepomuk::Vocabulary;
-using namespace Nepomuk::Query;
-
-NepomukPlugin * NepomukPlugin::s_instance = NULL;
-
-NepomukPlugin::NepomukPlugin(QObject *parent, const QVariantList & args)
- : Plugin(parent)
-{
- Q_UNUSED(args)
- s_instance = this;
-}
-
-bool NepomukPlugin::init()
-{
- Rankings::init(this);
-
- connect(sharedInfo(), SIGNAL(currentActivityChanged(QString)),
- Rankings::self(), SLOT(setCurrentActivity(QString)));
-
- // TODO: Check for nepomuk and return false if not running
- return true;
-}
-
-NepomukPlugin * NepomukPlugin::self()
-{
- return s_instance;
-}
-
-void NepomukPlugin::addEvents(const EventList & events)
-{
- foreach (const Event& event, events) {
- kDebug() << "We are processing event" << event.type << event.uri;
- kDebug() << "for agent" << event.application << \
agentResource(event.application).resourceUri();
-
- switch (event.type) {
- case Event::Accessed:
- {
- // one-shot event
-
- Nepomuk::Resource eventRes = createDesktopEvent(event.uri, \
event.timestamp, event.application);
- eventRes.addType(NUAO::UsageEvent());
- eventRes.setProperty(NUAO::start(), event.timestamp);
- eventRes.setProperty(NUAO::end(), event.timestamp);
-
- kDebug() << "Created one-shot Accessed event" << eventRes;
-
- NepomukResourceScoreMaintainer::self()->processResource(event.uri, \
event.application);
-
- break;
- }
-
- case Event::Opened:
- // create a new event
- createDesktopEvent(event.uri, event.timestamp, event.application);
-
- break;
-
- case Event::Closed:
- {
- // We should find and close the last open event
- // TODO: This can have a problem if an app closes a document
- // while not in the current activity
- const QString query
- = QString::fromLatin1(
- "select ?r where { "
- "?r a nuao:DesktopEvent . "
- "?r %1 %2 . "
- "?r %3 %4 . "
- "?r %5 %6 . "
- "?r nuao:start ?start . "
- "OPTIONAL { ?r nuao:end ?d . } . "
- "FILTER(!BOUND(?d)) . "
- "}"
- "ORDER BY DESC (?start) LIMIT 1"
- ).arg(
- /* %1 */ resN3(NUAO_targettedResource),
- /* %2 */ resN3(anyResource(KUrl(event.uri))),
- /* %3 */ resN3(NUAO_initiatingAgent),
- /* %4 */ resN3(agentResource(event.application)),
- /* %5 */ resN3(KExt::usedActivity()),
- /* %6 */ resN3(currentActivityRes)
- );
- kDebug() << query;
-
- Soprano::QueryResultIterator it
- = \
Nepomuk::ResourceManager::instance()->mainModel()->executeQuery(query, \
Soprano::Query::QueryLanguageSparql);
-
- if (it.next()) {
- kDebug() << "Closing the event";
-
- Nepomuk::Resource eventRes(it[0].uri());
- it.close();
-
- eventRes.addProperty(NUAO::end(), event.timestamp);
-
- \
NepomukResourceScoreMaintainer::self()->processResource(event.uri, \
event.application);
- }
-
- break;
- }
-
- case Event::UserEventType:
- NepomukResourceScoreMaintainer::self()->processResource(event.uri, \
event.application);
- break;
-
- default:
- // Nothing yet
- // TODO: Add focus and modification
- break;
- }
-
-
-// } 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 query = query.toSparqlQuery();
-//
-// // TODO: Something strange is going on here - this should check for
-// // the activity as well
-// const QString query
-// = QString::fromLatin1("select ?r where { "
-// "?r a nuao:DesktopEvent . "
-// "?r %1 %2 . "
-// "?r %3 %4 . "
-// "OPTIONAL { ?r nuao:end ?d . } . "
-// "FILTER(!BOUND(?d)) . } "
-// "LIMIT 1")
-// .arg(
-// /* %1 */ resN3(NUAO_targettedResource),
-// /* %2 */ resN3(anyResource(KUrl(event.uri))),
-// /* %3 */ resN3(NUAO_initiatingAgent),
-// /* %4 */ resN3(agentResource(event.application))
-// );
-//
-// kDebug() << query;
-//
-// Soprano::QueryResultIterator it
-// = \
Nepomuk::ResourceManager::instance()->mainModel()->executeQuery(query, \
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());
-// }
-//
-// // TODO: We are not creating separate events for modifications
-// // // 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;
-// }
-//
-// if (event.type == Event::Closed) {
-// NepomukResourceScoreMaintainer::self()->processResource(event.uri, \
event.application);
-// }
-// }
- }
-}
-
-Nepomuk::Resource NepomukPlugin::createDesktopEvent(const KUrl& uri, const \
QDateTime& startTime, const QString& app)
-{
- kDebug() << "Creating a new desktop event" << uri << startTime << app;
-
- // one-shot event
- Nepomuk::Resource eventRes(QUrl(), NUAO::DesktopEvent());
- eventRes.addProperty(NUAO_targettedResource, anyResource(uri));
- eventRes.addProperty(NUAO::start(), startTime);
-
- kDebug() << "Created event" << eventRes.resourceUri()
- << "for resource" << ((Nepomuk::Resource(uri)).resourceUri());
-
- // the app
- Nepomuk::Resource appRes(app, NAO::Agent());
- eventRes.addProperty(NUAO_initiatingAgent, appRes);
-
- // the activity
- if (!m_currentActivity.isValid()
- || m_currentActivity.identifiers().isEmpty()
- || m_currentActivity.identifiers().first() != \
sharedInfo()->currentActivity()) {
- // update the current activity resource
-
- kDebug() << "Assigning the activity to the event";
-
- const QString query = QString::fromLatin1("select ?r where { "
- " ?r a %1 . "
- " ?r %2 %3 . "
- "} LIMIT 1"
- ).arg(
- /* %1 */ resN3(KExt::Activity()),
- /* %2 */ resN3(KExt::activityIdentifier()),
- /* %3 */ resN3(currentActivityRes)
- );
-
- Soprano::QueryResultIterator it = \
Nepomuk::ResourceManager::instance()->mainModel()
- ->executeQuery(query, Soprano::Query::QueryLanguageSparql);
-
- if (it.next()) {
- m_currentActivity = it[0].uri();
- } else {
- m_currentActivity = currentActivityRes;
- m_currentActivity.setProperty(KExt::activityIdentifier(), \
sharedInfo()->currentActivity());
- }
- }
-
- eventRes.setProperty(KExt::usedActivity(), m_currentActivity);
-
- return eventRes;
-}
-
-KAMD_EXPORT_PLUGIN(NepomukPlugin, "activitymanger_plugin_nepomuk")
diff --git a/activitymanager/plugins/nepomuk/NepomukPlugin.h \
b/activitymanager/plugins/nepomuk/NepomukPlugin.h deleted file mode 100644
index 529808f..0000000
--- a/activitymanager/plugins/nepomuk/NepomukPlugin.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2008 Nick Shaforostoff <shaforostoff@kde.ru>
- *
- * based on work by:
- * Copyright (C) 2007 Thomas Georgiou <TAGeorgiou@gmail.com> and Jeff Cooper \
<weirdsox11@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NEPOMUK_H
-#define NEPOMUK_H
-
-#include <QObject>
-#include <KUrl>
-
-#include <Nepomuk/Resource>
-
-#include "../../Plugin.h"
-#include "Rankings.h"
-
-class NepomukPlugin: public Plugin {
-public:
- NepomukPlugin(QObject *parent = 0, const QVariantList & args = QVariantList());
-
- virtual void addEvents(const EventList & events);
-
- static NepomukPlugin * self();
-
- bool init();
-
-private:
- Nepomuk::Resource createDesktopEvent(const KUrl& uri, const QDateTime& \
startTime, const QString& app);
-
- Nepomuk::Resource m_currentActivity;
- Rankings * m_rankings;
-
- static NepomukPlugin * s_instance;
-};
-
-#endif
diff --git a/activitymanager/plugins/nepomuk/NepomukResourceScoreCache.cpp \
b/activitymanager/plugins/nepomuk/NepomukResourceScoreCache.cpp deleted file mode \
100644 index eafa9ea..0000000
--- a/activitymanager/plugins/nepomuk/NepomukResourceScoreCache.cpp
+++ /dev/null
@@ -1,217 +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 "NepomukResourceScoreCache.h"
-
-#include <cmath>
-
-#include <Soprano/Model>
-#include <Soprano/QueryResultIterator>
-
-#include <Nepomuk/Resource>
-#include <Nepomuk/ResourceManager>
-#include <Nepomuk/Variant>
-
-#include <KDebug>
-
-#include "kext.h"
-#include "nao.h"
-#include <nepomuk/nuao.h>
-
-#include "ActivityManager.h"
-
-using namespace Nepomuk::Vocabulary;
-
-#include "NepomukCommon.h"
-#include "NepomukPlugin.h"
-
-/**
- *
- */
-class NepomukResourceScoreCachePrivate {
-public:
- Nepomuk::Resource self;
- QString activity;
- QString application;
- QUrl resource;
-
- qreal timeFactor(int days) const
- {
- // Exp is falling rather quickly, we are slowing it 32 times
- return ::exp(- days / 32.0);
- }
-
- qreal timeFactor(QDateTime fromTime, QDateTime toTime = \
QDateTime::currentDateTime()) const
- {
- return timeFactor(fromTime.daysTo(toTime));
- }
-
-};
-
-NepomukResourceScoreCache::NepomukResourceScoreCache(const QString & activity, const \
QString & application, const QUrl & resource)
- : d(new NepomukResourceScoreCachePrivate())
-{
- // kDebug() << "Cache for" << activity << application << resource << \
anyResource(resource).resourceUri();
-
- d->activity = activity;
- d->application = application;
- d->resource = resource;
-
- const QString query
- = QString::fromLatin1("select ?r where { "
- "?r a %1 . "
- "?r kext:usedActivity %2 . "
- "?r kext:initiatingAgent %3 . "
- "?r kext:targettedResource %4 . "
- "} LIMIT 1"
- ).arg(
- /* %1 */ resN3(KExt::ResourceScoreCache()),
- /* %2 */ resN3(currentActivityRes),
- /* %3 */ resN3(agentResource(application)),
- /* %4 */ resN3(anyResource(resource))
- );
-
- // kDebug() << query;
-
- Soprano::QueryResultIterator it
- = Nepomuk::ResourceManager::instance()->mainModel()->executeQuery(query, \
Soprano::Query::QueryLanguageSparql);
-
- if (it.next()) {
- Nepomuk::Resource result(it[0].uri());
- it.close();
-
- d->self = result;
-
- // kDebug() << "Found an old cache" << d->self.resourceUri() << \
d->self.resourceType()
- // << "With a score of" << d->self.property(KExt::cachedScore()) << \
d->self.property(NAO::score());
-
- } else {
- Nepomuk::Resource result(QUrl(), KExt::ResourceScoreCache());
-
- result.setProperty(
- KExt::targettedResource(),
- Nepomuk::Resource(resource)
- );
- result.setProperty(
- KExt::initiatingAgent(), agentResource(application)
- );
- result.setProperty(
- KExt::usedActivity(), activityResource(activity)
- );
- result.setProperty(KExt::cachedScore(), 0);
-
- d->self = result;
-
- // kDebug() << "Created a new cache resource" << d->self.resourceUri() << \
d->self.resourceType();
-
- }
-}
-
-NepomukResourceScoreCache::~NepomukResourceScoreCache()
-{
- delete d;
-}
-
-void NepomukResourceScoreCache::updateScore()
-{
- // kDebug() << "Updating the score for " << d->resource;
- // kDebug() << "Last modified as string" << \
d->self.property(NAO::lastModified());
-
- QDateTime lastModified = d->self.property(NAO::lastModified()).toDateTime();
-
- qreal score = d->self.property(KExt::cachedScore()).toDouble();
-
- if (lastModified.isValid()) {
- // Adjusting the score depending on the time that passed since the
- // last update
-
- // kDebug() << "Previous score:" << score;
- score *= d->timeFactor(lastModified);
- // kDebug() << "Adjusted score:" << score;
-
- } else {
- // If we haven't had previous calculation, set the score to 0
- score = 0;
-
- }
-
- // kDebug() << "Last modified timestamp is" << lastModified << \
lastModified.isValid();
-
- const QString query
- = QString::fromLatin1("select distinct ?r where { "
- "?r a nuao:DesktopEvent . "
- "?r %1 %2 . "
- "?r %3 %4 . "
- "?r %5 %6 . "
- "?r nuao:end ?end . "
- "FILTER(?end >= %7) ."
- " } "
- ).arg(
- /* %1 */ resN3(KExt::usedActivity()),
- /* %2 */ resN3(activityResource(d->activity)),
- /* %3 */ resN3(NUAO_targettedResource),
- /* %4 */ resN3(anyResource(d->resource)),
- /* %5 */ resN3(NUAO_initiatingAgent),
- /* %6 */ resN3(agentResource(d->application)),
- /* %7 */ litN3(lastModified.isValid() ? lastModified : \
QDateTime::fromMSecsSinceEpoch(0))
- );
-
- // kDebug() << query;
-
- Soprano::QueryResultIterator it
- = Nepomuk::ResourceManager::instance()->mainModel()->executeQuery(query, \
Soprano::Query::QueryLanguageSparql);
-
- d->self.setProperty(NAO::lastModified(), QDateTime::currentDateTime());
-
- while (it.next()) {
- Nepomuk::Resource result(it[0].uri());
- QDateTime eventStart = result.property(NUAO::start()).toDateTime();
- QDateTime eventEnd = result.property(NUAO::end()).toDateTime();
-
- if (!eventStart.isValid()) continue;
-
- if (!eventEnd.isValid()) {
- // If the end was not saved, we are treating it as a simple
- // Accessed event
- eventEnd = eventStart;
- }
-
- int intervalLength = eventStart.secsTo(eventEnd);
-
- if (intervalLength == 0) {
- // We have an Accessed event - otherwise, this wouldn't be 0
-
- score += d->timeFactor(eventEnd); // like it is open for 1 minute
-
- } else if (intervalLength >= 4) {
- // Ignoring stuff that was open for less than 4 seconds
-
- score += d->timeFactor(eventEnd) * intervalLength / 60.0;
- }
-
- // kDebug() << result.resourceUri() << eventStart << eventEnd << \
intervalLength;
-
- }
-
- // kDebug() << "New calculated score:" << score << d->self.isValid();
- d->self.setProperty(KExt::cachedScore(), score);
- d->self.setProperty(NAO::score(), score);
-
- Rankings::self()->resourceScoreUpdated(d->activity, d->application, d->resource, \
score);
-}
diff --git a/activitymanager/plugins/nepomuk/NepomukResourceScoreCache.h \
b/activitymanager/plugins/nepomuk/NepomukResourceScoreCache.h deleted file mode \
100644 index a26b5a2..0000000
--- a/activitymanager/plugins/nepomuk/NepomukResourceScoreCache.h
+++ /dev/null
@@ -1,42 +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 NEPOMUK_RESOURCE_SCORE_CACHE_H_
-#define NEPOMUK_RESOURCE_SCORE_CACHE_H_
-
-#include <QString>
-#include <QUrl>
-
-class NepomukResourceScoreCachePrivate;
-
-/**
- *
- */
-class NepomukResourceScoreCache {
-public:
- NepomukResourceScoreCache(const QString & activity, const QString & application, \
const QUrl & resource);
- virtual ~NepomukResourceScoreCache();
-
- void updateScore();
-
-private:
- class NepomukResourceScoreCachePrivate * const d;
-};
-
-#endif // NEPOMUK_RESOURCE_SCORE_CACHE_H_
diff --git a/activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.cpp \
b/activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.cpp deleted file \
mode 100644 index c6202fc..0000000
--- a/activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.cpp
+++ /dev/null
@@ -1,145 +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 "NepomukResourceScoreMaintainer.h"
-
-#include <QList>
-#include <QMutex>
-#include <QThread>
-
-#include <KDebug>
-
-#include <Nepomuk/Resource>
-
-#include <time.h>
-#include "kext.h"
-
-#include "NepomukResourceScoreCache.h"
-#include "NepomukCommon.h"
-
-class NepomukResourceScoreMaintainerPrivate: public QThread {
-public:
- typedef QString ApplicationName;
- typedef QString ActivityID;
- typedef QList < QUrl > ResourceList;
-
- typedef QMap < ApplicationName, ResourceList > Applications;
- typedef QMap < ActivityID, Applications > ResourceTree;
-
- ResourceTree openResources;
- QMutex openResources_mutex;
-
- void run();
- void processActivity(const ActivityID & activity, const Applications & \
applications);
-
- static NepomukResourceScoreMaintainer * s_instance;
-
-};
-
-NepomukResourceScoreMaintainer * NepomukResourceScoreMaintainerPrivate::s_instance = \
NULL;
-
-void NepomukResourceScoreMaintainerPrivate::run()
-{
- forever {
- // initial delay before processing the resources
- sleep(5);
-
- NepomukResourceScoreMaintainerPrivate::openResources_mutex.lock();
- ResourceTree resources = openResources;
- openResources.clear();
- NepomukResourceScoreMaintainerPrivate::openResources_mutex.unlock();
-
- const QString & activity = currentActivityId;
-
- // Let us first process the events related to the current
- // activity so that the stats are available quicker
-
- if (resources.contains(activity)) {
- kDebug() << "Processing current activity events";
-
- processActivity(activity, resources[activity]);
- resources.remove(activity);
- }
-
- foreach (const ActivityID & activity, resources.keys()) {
- kDebug() << "Processing activity" << activity;
-
- processActivity(activity, resources[activity]);
- }
- }
-}
-
-void NepomukResourceScoreMaintainerPrivate::processActivity(const ActivityID & \
activity, const Applications & applications)
-{
- foreach (const ApplicationName & application, applications.keys()) {
- // Processing resources for the pair (activity, application)
- kDebug() << " Processing application" << application;
-
- foreach (const QUrl & resource, applications[application]) {
- kDebug() << " Updating score for" << activity << application << \
resource;
- NepomukResourceScoreCache(activity, application, \
resource).updateScore();
-
- }
- }
-}
-
-NepomukResourceScoreMaintainer * NepomukResourceScoreMaintainer::self()
-{
- if (!NepomukResourceScoreMaintainerPrivate::s_instance) {
- NepomukResourceScoreMaintainerPrivate::s_instance = new \
NepomukResourceScoreMaintainer();
- }
-
- return NepomukResourceScoreMaintainerPrivate::s_instance;
-}
-
-NepomukResourceScoreMaintainer::NepomukResourceScoreMaintainer()
- : d(new NepomukResourceScoreMaintainerPrivate())
-{
-}
-
-NepomukResourceScoreMaintainer::~NepomukResourceScoreMaintainer()
-{
- delete d;
-}
-
-void NepomukResourceScoreMaintainer::processResource(const KUrl & resource, const \
QString & application)
-{
- d->openResources_mutex.lock();
-
- // Checking whether the item is already scheduled for
- // processing
-
- kDebug() << "Adding" << resource << application << "to the queue";
-
- const QString & activity = currentActivityId;
-
- if (d->openResources.contains(activity) &&
- d->openResources[activity].contains(application) &&
- d->openResources[activity][application].contains(resource)) {
- return;
- }
-
- d->openResources[activity][application] << resource;
-
- d->openResources_mutex.unlock();
-
- d->start();
-}
-
-
diff --git a/activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.h \
b/activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.h deleted file mode \
100644 index cbef9f9..0000000
--- a/activitymanager/plugins/nepomuk/NepomukResourceScoreMaintainer.h
+++ /dev/null
@@ -1,47 +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 NEPOMUK_RESOURCE_SCORE_MAINTAINER_H_
-#define NEPOMUK_RESOURCE_SCORE_MAINTAINER_H_
-
-#include <QThread>
-#include <Nepomuk/Resource>
-
-#include "Event.h"
-
-class NepomukResourceScoreMaintainerPrivate;
-
-/**
- * Thread to process desktop/usage events
- */
-class NepomukResourceScoreMaintainer {
-public:
- static NepomukResourceScoreMaintainer * self();
-
- virtual ~NepomukResourceScoreMaintainer();
-
- void processResource(const KUrl & resource, const QString & application);
-
-private:
- NepomukResourceScoreMaintainer();
-
- class NepomukResourceScoreMaintainerPrivate * const d;
-};
-
-#endif // NEPOMUK_RESOURCE_SCORE_MAINTAINER_H_
diff --git a/activitymanager/plugins/nepomuk/Rankings.cpp \
b/activitymanager/plugins/nepomuk/Rankings.cpp deleted file mode 100644
index 1eac642..0000000
--- a/activitymanager/plugins/nepomuk/Rankings.cpp
+++ /dev/null
@@ -1,325 +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 as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#include "Rankings.h"
-#include "rankingsadaptor.h"
-
-#include <QDBusConnection>
-#include <QVariantList>
-#include <KDebug>
-
-#include <Nepomuk/Resource>
-#include <Nepomuk/ResourceManager>
-#include <Nepomuk/Variant>
-
-#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/QueryResultIterator>
-#include <Soprano/Node>
-#include <Soprano/Model>
-
-#include <Nepomuk/Vocabulary/NUAO>
-#include <Soprano/Vocabulary/NAO>
-#include "kext.h"
-
-#include "NepomukCommon.h"
-
-#define RESULT_COUNT_LIMIT 10
-#define COALESCE_ACTIVITY(Activity) ((Activity.isEmpty()) ? \
- (NepomukPlugin::self()->sharedInfo()->currentActivity()) : (Activity))
-
-using namespace Soprano::Vocabulary;
-using namespace Nepomuk::Vocabulary;
-using namespace Nepomuk::Query;
-
-Rankings * Rankings::s_instance = NULL;
-
-void Rankings::init(QObject * parent)
-{
- if (s_instance) return;
-
- s_instance = new Rankings(parent);
-}
-
-Rankings * Rankings::self()
-{
- return s_instance;
-}
-
-Rankings::Rankings(QObject * parent)
- : QObject(parent)
-{
- kDebug() << "%%%%%%%%%% We are in the Rankings %%%%%%%%%%";
-
- QDBusConnection dbus = QDBusConnection::sessionBus();
- new RankingsAdaptor(this);
- dbus.registerObject("/Rankings", this);
-
- initResults(QString());
-}
-
-Rankings::~Rankings()
-{
-}
-
-void Rankings::registerClient(const QString & client,
- const QString & activity, const QString & type)
-{
- kDebug() << client << "wants to get resources for" << activity;
-
- if (!m_clients.contains(activity)) {
- kDebug() << "Initialising the resources for" << activity;
- initResults(COALESCE_ACTIVITY(activity));
- }
-
- if (!m_clients[activity].contains(client)) {
- kDebug() << "Adding client";
- m_clients[activity] << client;
- }
-
- notifyResultsUpdated(activity, QStringList() << client);
-}
-
-void Rankings::deregisterClient(const QString & client)
-{
- QMutableHashIterator < Activity, QStringList > i(m_clients);
-
- while (i.hasNext()) {
- i.next();
-
- i.value().removeAll(client);
- if (i.value().isEmpty()) {
- i.remove();
- }
- }
-}
-
-void Rankings::setCurrentActivity(const QString & activity)
-{
- // We need to update scores for items that have no
- // activity specified
-
- initResults(activity);
-}
-
-QUrl Rankings::urlFor(const Nepomuk::Resource & resource)
-{
- if (resource.hasProperty(NIE::url())) {
- kDebug() << "Returning URI" << resource.property(NIE::url()).toUrl();
- return resource.property(NIE::url()).toUrl();
- } else {
- kWarning() << "Returning nepomuk URI" << resource.resourceUri();
- return resource.resourceUri();
- }
-}
-
-void Rankings::initResults(const QString & _activity)
-{
- const QString & activity = COALESCE_ACTIVITY(_activity);
-
- m_results[activity].clear();
- updateScoreTrashold(activity);
-
-#define QUERY_DEBUGGING
-#ifndef QUERY_DEBUGGING
- const QString query = QString::fromLatin1(
- "select distinct ?resource, "
- "( "
- "( "
- "SUM ( "
- "?lastScore * bif:exp( "
- "- bif:datediff('day', ?lastUpdate, %1) "
- ") "
- ") "
- ") "
- "as ?score "
- ") where { "
- "?cache kext:targettedResource ?resource . "
- "?cache a kext:ResourceScoreCache . "
- "?cache nao:lastModified ?lastUpdate . "
- "?cache kext:cachedScore ?lastScore . "
- // "?resource nao:prefLabel ?label . "
- // "?resource nie:url ?icon . "
- // "?resource nie:url ?description . "
- "?cache kext:usedActivity %2 . "
- "} "
- "GROUP BY (?resource) ORDER BY DESC (?score) LIMIT 10"
- ).arg(
- litN3(QDateTime::currentDateTime()),
- resN3(activityResource(activity))
- );
-
-#else
- kDebug() << "\n\nvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n\n";
-
- const QString query = QString::fromLatin1(
- " select distinct ?resource, \n"
- " ( \n"
- " ( \n"
- " SUM ( \n"
- " ?lastScore * bif:exp( \n"
- " - bif:datediff('day', ?lastUpdate, %1) \n"
- " ) \n"
- " ) \n"
- " ) \n"
- " as ?score \n"
- " ) where { \n"
- " ?cache kext:targettedResource ?resource . \n"
- " ?cache a kext:ResourceScoreCache . \n"
- " ?cache nao:lastModified ?lastUpdate . \n"
- " ?cache kext:cachedScore ?lastScore . \n"
- // " ?resource nao:prefLabel ?label . \n"
- // " ?resource nie:url ?icon . \n"
- // " ?resource nie:url ?description . \n"
- " ?cache kext:usedActivity %2 . \n"
- " } \n"
- " GROUP BY (?resource) ORDER BY DESC (?score) LIMIT 10\n"
- ).arg(
- litN3(QDateTime::currentDateTime()),
- resN3(activityResource(activity))
- );
-
- kDebug() << query;
-#endif
-
- Soprano::QueryResultIterator it
- = Nepomuk::ResourceManager::instance()->mainModel()
- ->executeQuery(query, Soprano::Query::QueryLanguageSparql);
-
- while (it.next()) {
- Nepomuk::Resource result(it[0].uri());
-
- kDebug() << "This is one result:\n"
- << " URI:" << result.property(NIE::url()).toString() << "\n"
- // << it[0].uri() << result << " - " << "\n"
- << it[1].literal().toDouble() << "\n"
- // << " - ### uri:" << result.resourceUri() << "\n"
- << " - label:" << result.label() << "\n"
- << " - icon:" << result.genericIcon() << "\n"
- << " IDS:" << result.identifiers() << "\n"
- << " Type:" << result.types() << "\n"
- ;
-
- qreal score = it[1].literal().toDouble();
-
- if (score > m_resultScoreTreshold[activity]) {
- m_results[activity] << ResultItem(
- urlFor(result), score);
- }
- }
-
- it.close();
-
- notifyResultsUpdated(activity);
-}
-
-void Rankings::resourceScoreUpdated(const QString & activity,
- const QString & application, const QUrl & uri, qreal score)
-{
- kDebug() << activity << application << uri << score;
-
- if (score <= m_resultScoreTreshold[activity]) {
- kDebug() << "This one didn't even qualify";
- return;
- }
-
- QList < ResultItem > & list = m_results[activity];
-
- // Removing the item from the list if it is already in it
-
- for (int i = 0; i < list.size(); i++) {
- if (list[i].uri == uri) {
- list.removeAt(i);
- break;
- }
- }
-
- // Adding the item
-
- ResultItem item(uri, score);
-
- if (list.size() == 0) {
- list << item;
-
- } else {
- int i;
-
- for (i = 0; i < list.size(); i++) {
- if (list[i].score < score) {
- list.insert(i, item);
- break;
- }
- }
-
- if (i == list.size()) {
- list << item;
- }
- }
-
- while (list.size() > RESULT_COUNT_LIMIT) {
- list.removeLast();
- }
-
- notifyResultsUpdated(activity);
-}
-
-void Rankings::updateScoreTrashold(const QString & activity)
-{
- if (m_results[activity].size() >= RESULT_COUNT_LIMIT) {
- m_resultScoreTreshold[activity] = m_results[activity].last().score;
- } else {
- m_resultScoreTreshold[activity] = 0;
- }
-}
-
-void Rankings::notifyResultsUpdated(const QString & _activity, QStringList clients)
-{
- const QString & activity = COALESCE_ACTIVITY(_activity);
-
- updateScoreTrashold(activity);
-
- QVariantList data;
- foreach (const ResultItem & item, m_results[activity]) {
- kDebug() << item.uri << item.score;
- data << item.uri.toString();
- }
-
- kDebug() << "These are the clients" << m_clients << "We are gonna update this:" \
<< clients;
-
- if (clients.isEmpty()) {
- clients = m_clients[activity];
- kDebug() << "This is the current activity" << activity
- << "And the clients for it" << clients;
-
- if (activity == NepomukPlugin::self()->sharedInfo()->currentActivity()) {
- kDebug() << "This is the current activity, notifying all";
- clients.append(m_clients[QString()]);
- }
- }
-
- kDebug() << "Notify clients" << clients << data;
-
- foreach (const QString & client, clients) {
- QDBusInterface rankingsservice(client, "/RankingsClient", \
"org.kde.ActivityManager.RankingsClient");
- rankingsservice.call("updated", data);
- }
-}
diff --git a/activitymanager/plugins/nepomuk/Rankings.h \
b/activitymanager/plugins/nepomuk/Rankings.h deleted file mode 100644
index a4c2e25..0000000
--- a/activitymanager/plugins/nepomuk/Rankings.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2011 Ivan Cukic <ivan.cukic@kde.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef RANKINGS_H
-#define RANKINGS_H
-
-#include <QHash>
-#include <QObject>
-#include <QString>
-#include <QStringList>
-#include <QUrl>
-
-#include <Nepomuk/Resource>
-
-class Rankings: public QObject
-{
- Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "org.kde.ActivityManager.Rankings")
-
-public:
- static void init(QObject * parent = 0);
- static Rankings * self();
-
- void resourceScoreUpdated(const QString & activity,
- const QString & application, const QUrl & uri, qreal score);
-
- ~Rankings();
-
-public Q_SLOTS:
- /**
- * Registers a new client for the specified activity and application
- * @param client d-bus name
- * @param activity activity to track. If empty, uses the default activity.
- * @param application application to track. If empty, all applications are \
aggregated
- * @param type resource type that the client is interested in
- * @note If the activity is left empty - the results are always related to the \
current activity,
- * not the activity that was current when calling this method.
- */
- void registerClient(const QString & client,
- const QString & activity = QString(),
- const QString & type = QString()
- );
-
- /**
- * Deregisters a client
- */
- void deregisterClient(const QString & client);
-
-public:
-
-private Q_SLOTS:
- void setCurrentActivity(const QString & activityId);
-
-private:
- Rankings(QObject * parent = 0);
- void updateScoreTrashold(const QString & activity);
-
- static QUrl urlFor(const Nepomuk::Resource & resource);
-
- static Rankings * s_instance;
-
-public:
- class ResultItem {
- public:
- ResultItem(
- const QUrl & _uri,
- qreal _score
- )
- : uri(_uri), score(_score)
- {
- }
-
- QUrl uri;
- qreal score;
-
- };
-
- typedef QString Activity;
- typedef QString Client;
-
-private:
- void initResults(const QString & activity);
- void notifyResultsUpdated(const QString & activity, QStringList clients = \
QStringList());
-
- QHash < Activity, QStringList > m_clients;
- QHash < Activity, QList < ResultItem > > m_results;
- QHash < Activity, qreal > m_resultScoreTreshold;
-};
-
-#endif
diff --git a/activitymanager/plugins/nepomuk/RankingsClient.h \
b/activitymanager/plugins/nepomuk/RankingsClient.h deleted file mode 100644
index 3a8e23a..0000000
--- a/activitymanager/plugins/nepomuk/RankingsClient.h
+++ /dev/null
@@ -1,49 +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 RANKINGSCLIENT_H_
-#define RANKINGSCLIENT_H_
-
-#include <QObject>
-#include <QVariantList>
-
-class RankingsClientPrivate;
-
-/**
- *
- */
-class RankingsClient: public QObject {
- Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "org.kde.ActivityManager.RankingsClient")
-
-public:
- RankingsClient();
- ~RankingsClient();
-
-public Q_SLOTS:
- void updated(const QVariantList & data);
- void inserted(int position, const QVariantList & item);
- void removed(int position);
- void changed(int position, const QVariantList & item);
-
-private:
- class RankingsClientPrivate * const d;
-};
-
-#endif // RANKINGSCLIENT_H_
diff --git a/activitymanager/plugins/nepomuk/activitymanager-plugin-nepomuk.desktop \
b/activitymanager/plugins/nepomuk/activitymanager-plugin-nepomuk.desktop deleted file \
mode 100644 index 9afeddf..0000000
--- a/activitymanager/plugins/nepomuk/activitymanager-plugin-nepomuk.desktop
+++ /dev/null
@@ -1,52 +0,0 @@
-[Desktop Entry]
-Name=Nepomuk Feeder Plugin
-Name[et]=Nepomuki sööturi plugin
-Name[eu]=Nepomuk elikatzeko plugina
-Name[hu]=Nepomuk-feltöltő bővítmény
-Name[ia]=Plugin de Syndacation de Nepomuk
-Name[nb]=Programtillegg som mater Nepomuk
-Name[nds]=Nepomuk-Ingaavmoduul
-Name[nl]=Plug-in van Nepomuk-feeder
-Name[pt]='Plugin' de Fontes do Nepomuk
-Name[pt_BR]=Plug-in de fontes de notícias do Nepomuk
-Name[ro]=Modul de alimentare Nepomuk
-Name[sv]=Nepomuk-inmatningsinsticksprogram
-Name[tg]=Плагини ахбороти Nepomuk
-Name[uk]=Додаток передавання даних Nepomuk
-Name[x-test]=xxNepomuk Feeder Pluginxx
-Name[zh_TW]=Nepomuk Feeder 外掛程式
-Comment=Plugin to store and score events in Nepomuk
-Comment[el]= ρόσθετο για την αποθήκευση και \
βαθμολόγηση γεγονότων στο Nepomuk
-Comment[et]=Plugin sündmuste salvestamiseks Nepomukki ja nende hindamiseks
-Comment[eu]=Nepomuken gertaerak gorde eta puntuatzeko plugina
-Comment[hu]=Bővítmény események tárolására és pontozására a Nepomukban
-Comment[ia]=Plugin pro immagazinar e dar punctos a eventos in Nepomuk
-Comment[nb]=Programtillegg som lagrer og vurderer hendelser i Nepomuk
-Comment[nds]=Nepomuk-Moduul för't Sekern un Beweerten vun Begeefnissen
-Comment[nl]=Plug-in om gebeurtenissen in Nepomuk op te slaan en van een score te \
voorzien
-Comment[pt]='Plugin' para guardar e classificar os eventos no Nepomuk
-Comment[pt_BR]=Plug-in para armazenar e classificar os eventos no Nepomuk
-Comment[ro]=Modul pentru stocarea și notarea evenimentelor în Nepomuk
-Comment[ru]=Дополнение для хранения и оценки \
событий в Nepomuk
-Comment[sv]=Insticksprogram för att lagra och betygsätta händelser i Nepomuk
-Comment[tg]=Ин плагин барои захира кардан ва ҳисоб \
кардани ҳодисаҳои Nepomuk мебошад
-Comment[uk]=Додаток для зберігання і оцінки подій у \
Nepomuk
-Comment[x-test]=xxPlugin to store and score events in Nepomukxx
-Comment[zh_TW]=在 Nepomuk 裡儲存與評分事件用的外掛程式
-Type=Service
-Icon=nepomukk
-
-X-KDE-ServiceTypes=ActivityManager/Plugin
-X-KDE-Library=activitymanager_plugin_nepomuk
-X-KDE-PluginInfo-Author=Ivan Cukic
-X-KDE-PluginInfo-Email=ivan.cukic@kde.org
-X-KDE-PluginInfo-Name=org.kde.kactivitymanager.nepomuk
-X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=http://plasma.kde.org/
-X-KDE-PluginInfo-Category=Language
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
-
-X-ActivityManager-PluginType=lazyeventhandler
-X-ActivityManager-PluginOverrides=activitymanager_plugin_dummy
diff --git a/activitymanager/plugins/nepomuk/org.kde.ActivityManager.Rankings.xml \
b/activitymanager/plugins/nepomuk/org.kde.ActivityManager.Rankings.xml deleted file \
mode 100644 index cd65b35..0000000
--- a/activitymanager/plugins/nepomuk/org.kde.ActivityManager.Rankings.xml
+++ /dev/null
@@ -1,20 +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.Rankings">
- <method name="registerClient">
- <arg name="client" type="s" direction="in"/>
- <arg name="activity" type="s" direction="in"/>
- <arg name="type" type="s" direction="in"/>
- </method>
- <method name="registerClient">
- <arg name="client" type="s" direction="in"/>
- <arg name="activity" type="s" direction="in"/>
- </method>
- <method name="registerClient">
- <arg name="client" type="s" direction="in"/>
- </method>
- <method name="deregisterClient">
- <arg name="client" type="s" direction="in"/>
- </method>
- </interface>
-</node>
diff --git a/activitymanager/plugins/nepomuk/org.kde.ActivityManager.RankingsClient.xml \
b/activitymanager/plugins/nepomuk/org.kde.ActivityManager.RankingsClient.xml deleted \
file mode 100644 index 54d5ccb..0000000
--- a/activitymanager/plugins/nepomuk/org.kde.ActivityManager.RankingsClient.xml
+++ /dev/null
@@ -1,19 +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.RankingsClient">
- <method name="updated">
- <arg name="data" type="av" direction="in"/>
- </method>
- <method name="inserted">
- <arg name="position" type="i" direction="in"/>
- <arg name="item" type="av" direction="in"/>
- </method>
- <method name="removed">
- <arg name="position" type="i" direction="in"/>
- </method>
- <method name="changed">
- <arg name="position" type="i" direction="in"/>
- <arg name="item" type="av" direction="in"/>
- </method>
- </interface>
-</node>
diff --git a/activitymanager/plugins/slc/CMakeLists.txt \
b/activitymanager/plugins/slc/CMakeLists.txt deleted file mode 100644
index fd81b75..0000000
--- a/activitymanager/plugins/slc/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-project(activitymanager-plugin-slc)
-
-include_directories(
- ${CMAKE_SOURCE_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../..
- ${CMAKE_CURRENT_BINARY_DIR}
- ${KDE4_INCLUDES}
- )
-
-set(
- slc_SRCS
- slc.cpp
- ../../Plugin.cpp
- ../../SharedInfo.cpp
- )
-
-qt4_add_dbus_adaptor(
- slc_SRCS org.kde.ActivityManager.SLC.xml
- slc.h SlcPlugin
- )
-
-kde4_add_plugin(
- activitymanager_plugin_slc
- ${slc_SRCS}
- )
-
-target_link_libraries(
- activitymanager_plugin_slc
- ${KDE4_KDECORE_LIBS}
- ${KDE4_KDEUI_LIBS}
- )
-
-install(TARGETS activitymanager_plugin_slc DESTINATION ${PLUGIN_INSTALL_DIR})
-install(FILES activitymanager-plugin-slc.desktop DESTINATION \
${SERVICES_INSTALL_DIR})
-
diff --git a/activitymanager/plugins/slc/activitymanager-plugin-slc.desktop \
b/activitymanager/plugins/slc/activitymanager-plugin-slc.desktop deleted file mode \
100644 index 48b8edb..0000000
--- a/activitymanager/plugins/slc/activitymanager-plugin-slc.desktop
+++ /dev/null
@@ -1,53 +0,0 @@
-[Desktop Entry]
-Name=Share-Like-Connect Plugin
-Name[et]=Share-Like-Connect plugin
-Name[eu]=
-Name[hu]=Share-Like-Connect bővítmény
-Name[ia]=Plugin de connexion como compartir (Share-Like-Connect)
-Name[nb]=Share-Like-Connect programtillegg
-Name[nds]="Share-Like-Connect"-Moduul
-Name[nl]=Plug-in voor 'Share-Like-Connect'
-Name[pt]='Plugin' do Share-Like-Connect
-Name[pt_BR]=Plug-in do Share-Like-Connect
-Name[ro]=Modul Share-Like-Connect
-Name[ru]=Дополнение Share-Like-Connect
-Name[sv]=Insticksprogram för Share-Like-Connect
-Name[tg]=Плагини Мубодила-Монанди-Пайваст
-Name[uk]=Додаток Share-Like-Connect
-Name[x-test]=xxShare-Like-Connect Pluginxx
-Name[zh_TW]=Share-Like-Connect 外掛程式
-Comment=Plugin to provide data to the SLC system
-Comment[de]=Modul, um dem SLC-System Daten bereitzustellen.
-Comment[el]= ρόσθετο για παροχή δεδομένων στο \
σύστημα SLC
-Comment[et]=Plugin andmete pakkumiseks SLC süsteemile
-Comment[eu]=SLC sistemari datuak hornitzeko plugina
-Comment[hu]=Bővítmény adatok küldésére az SLC rendszerbe
-Comment[ia]=Plugi pro fornir datos al systema SLC
-Comment[nb]=Programtillegg som skaffer data til SLC-systemet
-Comment[nds]=Moduul för't Praatstellen vun SLC-Daten
-Comment[nl]=Plug-in om gegevens te leveren aan het SLC-systeem
-Comment[pt]='Plugin' para fornecer dados para o sistema SLC
-Comment[pt_BR]=Plug-in para fornecer dados para o sistema SLC
-Comment[ro]=Modul pentru a furniza date sistemului SLC
-Comment[ru]=Дополнение для передачи данных в \
систему SLC
-Comment[sv]=Insticksprogram för att tillhandahålla data till SLC-systemet
-Comment[tg]=Ин плагин барои таъмин кардани \
маълумот ба системаи SLC мебошад
-Comment[uk]=Додаток надання даних до системи SLC
-Comment[x-test]=xxPlugin to provide data to the SLC systemxx
-Comment[zh_TW]=提供資料給 SLC 系統的外掛程式
-Type=Service
-Icon=
-
-X-KDE-ServiceTypes=ActivityManager/Plugin
-X-KDE-Library=activitymanager_plugin_slc
-X-KDE-PluginInfo-Author=Ivan Cukic
-X-KDE-PluginInfo-Email=ivan.cukic@kde.org
-X-KDE-PluginInfo-Name=org.kde.kactivitymanager.slc
-X-KDE-PluginInfo-Version=1.0
-X-KDE-PluginInfo-Website=http://plasma.kde.org/
-X-KDE-PluginInfo-Category=Language
-X-KDE-PluginInfo-Depends=
-X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
-
-X-ActivityManager-PluginType=synceventhandler
diff --git a/activitymanager/plugins/slc/org.kde.ActivityManager.SLC.xml \
b/activitymanager/plugins/slc/org.kde.ActivityManager.SLC.xml deleted file mode \
100644 index 678da11..0000000
--- a/activitymanager/plugins/slc/org.kde.ActivityManager.SLC.xml
+++ /dev/null
@@ -1,18 +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.SLC">
- <signal name="focusChanged">
- <arg name="uri" type="s" direction="out"/>
- <arg name="mimetype" type="s" direction="out"/>
- </signal>
- <method name="focussedResourceURI">
- <arg type="s" direction="out"/>
- </method>
- <method name="focussedResourceMimetype">
- <arg type="s" direction="out"/>
- </method>
- <method name="focussedResourceTitle">
- <arg type="s" direction="out"/>
- </method>
- </interface>
-</node>
diff --git a/activitymanager/plugins/slc/slc.cpp \
b/activitymanager/plugins/slc/slc.cpp deleted file mode 100644
index fdd2862..0000000
--- a/activitymanager/plugins/slc/slc.cpp
+++ /dev/null
@@ -1,139 +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 as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#include "slc.h"
-#include "slcadaptor.h"
-
-#include <QDBusConnection>
-#include <KDebug>
-#include <KWindowSystem>
-#include <KUrl>
-
-SlcPlugin::SlcPlugin(QObject * parent, const QVariantList & args)
- : Plugin(parent), focussedWindow(0)
-{
- Q_UNUSED(args)
- // kDebug() << "We are in the SlcPlugin";
-
- QDBusConnection dbus = QDBusConnection::sessionBus();
- new SLCAdaptor(this);
- dbus.registerObject("/SLC", this);
-
- connect(KWindowSystem::self(), SIGNAL(activeWindowChanged(WId)),
- this, SLOT(activeWindowChanged(WId)));
-}
-
-SlcPlugin::~SlcPlugin()
-{
-}
-
-void SlcPlugin::addEvents(const EventList & events)
-{
- foreach (const Event & event, events) {
- switch (event.type) {
- case Event::FocussedIn:
- case Event::Opened:
- // kDebug() << "Event::FocussedIn" << focussedWindow << event.wid << \
event.uri;
-
- lastFocussedResource[event.wid] = event.uri;
-
- if (event.wid == focussedWindow) {
- updateFocus(focussedWindow);
- }
-
- break;
-
- case Event::FocussedOut:
- case Event::Closed:
- // kDebug() << "Event::FocussedOut" << focussedWindow << event.wid \
<< event.uri;
-
- if (lastFocussedResource[event.wid] == event.uri) {
- lastFocussedResource[event.wid] = KUrl();
- }
-
- if (event.wid == focussedWindow) {
- updateFocus();
- }
-
- break;
-
- default:
- // nothing
- break;
- }
- }
-}
-
-KUrl SlcPlugin::_focussedResourceURI()
-{
- KUrl kuri;
-
- if (lastFocussedResource.contains(focussedWindow)) {
- kuri = lastFocussedResource[focussedWindow];
- } else {
- foreach (const KUrl & uri, \
sharedInfo()->windows()[focussedWindow].resources) {
- kuri = uri;
- break;
- }
- }
-
- return kuri;
-}
-
-QString SlcPlugin::focussedResourceURI()
-{
- return _focussedResourceURI().url();
-}
-
-QString SlcPlugin::focussedResourceMimetype()
-{
- return sharedInfo()->resources().contains(_focussedResourceURI()) ?
- sharedInfo()->resources()[_focussedResourceURI()].mimetype : QString();
-}
-
-QString SlcPlugin::focussedResourceTitle()
-{
- return sharedInfo()->resources().contains(_focussedResourceURI()) ?
- sharedInfo()->resources()[_focussedResourceURI()].title : QString();
-}
-
-void SlcPlugin::activeWindowChanged(WId wid)
-{
- if (wid == focussedWindow) return;
-
- focussedWindow = wid;
-
- updateFocus(wid);
-}
-
-void SlcPlugin::updateFocus(WId wid)
-{
- // kDebug() << "SHARED INFO" << (void*) sharedInfo();
-
- if (wid == 0 || !sharedInfo()->windows().contains(wid)) {
- // kDebug() << "Clearing focus" << wid;
- emit focusChanged(QString(), QString(), QString());
-
- } else if (wid == focussedWindow) {
- // kDebug() << "It is the currently focussed window" << wid;
- SharedInfo::ResourceData resourceData = \
sharedInfo()->resources()[_focussedResourceURI()];
- emit focusChanged(focussedResourceURI(), resourceData.mimetype, \
resourceData.title);
-
- }
-}
-
-KAMD_EXPORT_PLUGIN(SlcPlugin, "activitymanger_plugin_slc")
diff --git a/activitymanager/plugins/slc/slc.h b/activitymanager/plugins/slc/slc.h
deleted file mode 100644
index 29d3e46..0000000
--- a/activitymanager/plugins/slc/slc.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2011 Ivan Cukic <ivan.cukic@kde.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef SLC_H
-#define SLC_H
-
-#include <QObject>
-#include <KUrl>
-
-#include "../../Plugin.h"
-
-class SlcPlugin: public Plugin
-{
- Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "org.kde.ActivityManager.SLC")
-
-public:
- SlcPlugin(QObject *parent = 0, const QVariantList & args = QVariantList());
- ~SlcPlugin();
-
- virtual void addEvents(const EventList & events);
-
-private Q_SLOTS:
- void activeWindowChanged(WId windowId);
-
-public Q_SLOTS:
- QString focussedResourceURI();
- QString focussedResourceMimetype();
- QString focussedResourceTitle();
-
-Q_SIGNALS:
- void focusChanged(const QString & uri, const QString & mimetype, const QString & \
title);
-
-private:
- void updateFocus(WId wid = 0);
-
- WId focussedWindow;
- KUrl _focussedResourceURI();
- QHash < WId, KUrl > lastFocussedResource;
-};
-
-#endif
diff --git a/activitymanager/queries.sparql b/activitymanager/queries.sparql
deleted file mode 100644
index 680eef5..0000000
--- a/activitymanager/queries.sparql
+++ /dev/null
@@ -1,43 +0,0 @@
-// Getting the highest scored caches for (application/agent, activity)
-
-select distinct ?resource,
- (
- (
- ?lastScore * bif:exp(-
- bif:datediff('day', ?lastUpdate, ##CURRENT_DATETIME##)
- )
- )
- as ?score) where {
- ?cache kext:targettedResource ?resource .
- ?cache a kext:ResourceScoreCache .
- ?cache nao:lastModified ?lastUpdate .
- ?cache kext:cachedScore ?lastScore .
- ?cache kext:usedActivity ##ACTIVITY## .
- ?cache kext:initiatingAgent ##AGENT## .
- OPTIONAL { ?resource nie:url ?uri . } .
-}
-ORDER BY DESC (?score)
-LIMIT 10
-
-// Getting the highest scored caches for (activity)
-
-select distinct ?resource,
- (
- (
- SUM (
- ?lastScore * bif:exp(
- - bif:datediff('day', ?lastUpdate, ##CURRENT_DATETIME##)
- )
- )
- )
- as ?score
- ) where {
- ?cache kext:targettedResource ?resource .
- ?cache a kext:ResourceScoreCache .
- ?cache nao:lastModified ?lastUpdate .
- ?cache kext:cachedScore ?lastScore .
- ?cache kext:usedActivity ##ACTIVITY## .
- }
- GROUP BY (?resource)
- ORDER BY DESC (?score)
- LIMIT 10
diff --git a/activitymanager/scripts/delete-stats.sh \
b/activitymanager/scripts/delete-stats.sh deleted file mode 100755
index a237c38..0000000
--- a/activitymanager/scripts/delete-stats.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/zsh
-alias nepomukcmd="sopranocmd --socket `kde4-config --path socket`nepomuk-socket \
--model main --nrl"
-for res in `nepomukcmd --foo query 'select ?r { ?r a kext:ResourceScoreCache . }'`; \
nepomukcmd rm $res
-for res in `nepomukcmd --foo query 'select ?r { ?r a nuao:DesktopEvent . }'`; \
nepomukcmd rm $res
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic