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