From kde-commits Tue May 31 21:56:36 2011 From: Marco Martin Date: Tue, 31 May 2011 21:56:36 +0000 To: kde-commits Subject: =?utf-8?q?=5Bshare-like-connect=5D_dataengine=3A_use_content_for?= Message-Id: <20110531215636.3AAFFA60A4 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=130687905115986 Git commit d1377a31f8abc7d892d81516f8df475fe93292ad by Marco Martin. Committed on 31/05/2011 at 23:53. Pushed by mart into branch 'master'. use content for the URI M +5 -0 dataengine/sharelikeconnect.cpp M +1 -0 dataengine/sharelikeconnect.h M +4 -3 dataengine/slcservice/slcjob.cpp M +2 -1 dataengine/slcservice/slcjob.h M +4 -1 dataengine/slcservice/slcservice.cpp M +1 -0 dataengine/slcservice/slcservice.h M +0 -3 dataengine/slcservice/slcservice.operations http://commits.kde.org/share-like-connect/d1377a31f8abc7d892d81516f8df475fe93292ad diff --git a/dataengine/sharelikeconnect.cpp b/dataengine/sharelikeconnect.cpp index e10b7e1..03c65d7 100644 --- a/dataengine/sharelikeconnect.cpp +++ b/dataengine/sharelikeconnect.cpp @@ -76,6 +76,11 @@ Plasma::Service *ShareLikeConnectEngine::serviceForSource(const QString &source) } } +QVariantHash ShareLikeConnectEngine::content() +{ + return containerForSource(TRACKER_SOURCE)->data(); +} + void ShareLikeConnectEngine::contentChanged() { const QVariantHash &content = containerForSource(TRACKER_SOURCE)->data(); diff --git a/dataengine/sharelikeconnect.h b/dataengine/sharelikeconnect.h index 88d4b59..32d03d4 100644 --- a/dataengine/sharelikeconnect.h +++ b/dataengine/sharelikeconnect.h @@ -38,6 +38,7 @@ public: Plasma::Service *serviceForSource(const QString &source); QHash providers() const; + QVariantHash content(); private Q_SLOTS: void contentChanged(); diff --git a/dataengine/slcservice/slcjob.cpp b/dataengine/slcservice/slcjob.cpp index eee15b9..8a57069 100644 --- a/dataengine/slcservice/slcjob.cpp +++ b/dataengine/slcservice/slcjob.cpp @@ -23,9 +23,10 @@ namespace SLC { -SlcJob::SlcJob(Provider *provider, const QString &operation, QMap ¶meters, QObject *parent) +SlcJob::SlcJob(Provider *provider, const QString &operation, const QVariantHash &content, QMap ¶meters, QObject *parent) : ServiceJob(parent->objectName(), operation, parameters, parent), - m_provider(provider) + m_provider(provider), + m_content(content) { } @@ -47,7 +48,7 @@ void SlcJob::start() if (operation == "executeAction") { kDebug() << parameters()["ActionName"].toString(); QVariantHash providerParameters; - providerParameters["Url"] = parameters()["Url"]; + providerParameters["URI"] = m_content["URI"]; providerParameters["Comment"] = parameters()["Comment"]; providerParameters["Target"] = parameters()["Target"]; QVariant success = m_provider.data()->executeAction(SLC::Provider::Connect, QVariantHash(), providerParameters); diff --git a/dataengine/slcservice/slcjob.h b/dataengine/slcservice/slcjob.h index 5a818b0..fa6356b 100644 --- a/dataengine/slcservice/slcjob.h +++ b/dataengine/slcservice/slcjob.h @@ -32,7 +32,7 @@ class SlcJob : public Plasma::ServiceJob Q_OBJECT public: - SlcJob(Provider *provider, const QString &operation, QMap ¶meters, QObject *parent = 0); + SlcJob(Provider *provider, const QString &operation, const QVariantHash &content, QMap ¶meters, QObject *parent = 0); ~SlcJob(); protected: @@ -40,6 +40,7 @@ protected: private: QWeakPointer m_provider; + QVariantHash m_content; }; } diff --git a/dataengine/slcservice/slcservice.cpp b/dataengine/slcservice/slcservice.cpp index 3b15a50..834009b 100644 --- a/dataengine/slcservice/slcservice.cpp +++ b/dataengine/slcservice/slcservice.cpp @@ -33,11 +33,14 @@ SlcService::SlcService(ShareLikeConnectEngine *parent, const QVariantList &args) Plasma::ServiceJob *SlcService::createJob(const QString &operation, QMap ¶meters) { + if (!m_slcEngine) { + return 0; + } const QString action = parameters.value("ActionName").toString(); Provider *provider = m_slcEngine.data()->providers().value(action); - return new SlcJob(provider, operation, parameters, this); + return new SlcJob(provider, operation, m_slcEngine.data()->content(), parameters, this); } } diff --git a/dataengine/slcservice/slcservice.h b/dataengine/slcservice/slcservice.h index cd4eae2..0ba3fbc 100644 --- a/dataengine/slcservice/slcservice.h +++ b/dataengine/slcservice/slcservice.h @@ -40,6 +40,7 @@ public: private: QString m_id; QWeakPointer m_slcEngine; + QVariantHash m_content; }; } diff --git a/dataengine/slcservice/slcservice.operations b/dataengine/slcservice/slcservice.operations index 35bbb39..7dfb5ba 100644 --- a/dataengine/slcservice/slcservice.operations +++ b/dataengine/slcservice/slcservice.operations @@ -6,9 +6,6 @@ - - -