Git commit edd3f6a9b7f5acbda48253c41eac4f085273228a by Marco Martin. Committed on 01/06/2011 at 00:25. Pushed by mart into branch 'master'. list activities at call without parameters M +1 -1 dataengine/providers/activities/CMakeLists.txt M +8 -1 dataengine/providers/activities/activitiesProvider.cpp M +3 -0 dataengine/providers/activities/activitiesProvider.h http://commits.kde.org/share-like-connect/edd3f6a9b7f5acbda48253c41eac4f085273228a diff --git a/dataengine/providers/activities/CMakeLists.txt b/dataengine/providers/activities/CMakeLists.txt index 6f8f416..b8d9541 100644 --- a/dataengine/providers/activities/CMakeLists.txt +++ b/dataengine/providers/activities/CMakeLists.txt @@ -6,7 +6,7 @@ find_package(Nepomuk REQUIRED) include_directories(${CMAKE_SOURCE_DIR}/dataengine) kde4_add_plugin(sharelikeconnect_provider_activities ${activitiesProvider_SRCS}) -target_link_libraries(sharelikeconnect_provider_activities ${KDE4_KDECORE_LIBS} ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} ${SOPRANO_LIBRARIES} ${SOPRANO_CLIENT_LIBRARIES} sharelikeconnect) +target_link_libraries(sharelikeconnect_provider_activities ${KDE4_KDECORE_LIBS} ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} ${SOPRANO_LIBRARIES} ${SOPRANO_CLIENT_LIBRARIES} kactivities sharelikeconnect) install(TARGETS sharelikeconnect_provider_activities DESTINATION ${PLUGIN_INSTALL_DIR}) install(FILES sharelikeconnect-provider-activities.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/dataengine/providers/activities/activitiesProvider.cpp b/dataengine/providers/activities/activitiesProvider.cpp index 9b89fac..b0a9892 100644 --- a/dataengine/providers/activities/activitiesProvider.cpp +++ b/dataengine/providers/activities/activitiesProvider.cpp @@ -25,9 +25,12 @@ #include +#include + ActivitiesProvider::ActivitiesProvider(QObject *parent, const QVariantList &args) : SLC::Provider(parent, args) { + m_activityConsumer = new KActivityConsumer(this); } SLC::Provider::Actions ActivitiesProvider::actionsFor(const QVariantHash &content) const @@ -51,7 +54,11 @@ QVariant ActivitiesProvider::executeAction(SLC::Provider::Action action, const Q QStringList activityIds = parameters["Targets"].toStringList(); if (activityIds.isEmpty()) { //TODO: first step - return true; + QVariantHash result; + foreach (const QString &activity, m_activityConsumer->listActivities()) { + result[activity] = activity; + } + return result; } Nepomuk::Resource fileRes(resourceUrl); diff --git a/dataengine/providers/activities/activitiesProvider.h b/dataengine/providers/activities/activitiesProvider.h index 0b13d6e..780e173 100644 --- a/dataengine/providers/activities/activitiesProvider.h +++ b/dataengine/providers/activities/activitiesProvider.h @@ -22,6 +22,8 @@ #include +class KActivityConsumer; + class ActivitiesProvider : public SLC::Provider { Q_OBJECT @@ -32,6 +34,7 @@ public: QVariant executeAction(SLC::Provider::Action action, const QVariantHash &content, const QVariantHash ¶meters); private: + KActivityConsumer *m_activityConsumer; }; #endif