[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdeplasma-addons/plasma/sreich/youtube-runner] runners/youtube: add the query
From:       Shaun Reich <shaun.reich () kdemail ! net>
Date:       2012-02-26 17:13:48
Message-ID: 20120226171348.5370EA60BE () git ! kde ! org
[Download RAW message or body]

Git commit f8c5e15b7605b36c2f7a182cdf9ffbd0455f632e by Shaun Reich.
Committed on 26/02/2012 at 17:37.
Pushed by sreich into branch 'plasma/sreich/youtube-runner'.

add the query

M  +23   -7    runners/youtube/youtube.cpp
M  +1    -1    runners/youtube/youtube.h

http://commits.kde.org/kdeplasma-addons/f8c5e15b7605b36c2f7a182cdf9ffbd0455f632e

diff --git a/runners/youtube/youtube.cpp b/runners/youtube/youtube.cpp
index 89d665e..8298d5b 100644
--- a/runners/youtube/youtube.cpp
+++ b/runners/youtube/youtube.cpp
@@ -77,7 +77,7 @@ void YouTube::match(Plasma::RunnerContext &context)
     connect(&tubeJob, SIGNAL(finished()), &loop, SLOT(quit()));
     loop.exec();
 
-    parseJson(tubeJob.data());
+    parseJson(tubeJob.data(), context);
 }
 
 void YouTube::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match)
@@ -95,7 +95,7 @@ void YouTube::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch
 //    }
 }
 
-void YouTube::parseJson(const QByteArray& data)
+void YouTube::parseJson(const QByteArray& data, Plasma::RunnerContext &context)
 {
     kDebug() << "JSON PARSER ONLINE";
     QJson::Parser parser;
@@ -106,23 +106,39 @@ void YouTube::parseJson(const QByteArray& data)
 
     QVariantList subList = related.value("entry").toList();
 
+
+
+        const QString term = context.query();
+
+
     foreach (const QVariant& variant, subList) {
         QVariantMap subMap = variant.toMap();
 
         QVariantList linkList = subMap.value("link").toList();
         //FIXME: hardcoded..
-        kDebug() << "URL/LINK: " << linkList.at(0).toMap().value("href").toString();
+        const QString& url = linkList.at(0).toMap().value("href").toString();
 
         QVariantMap titleMap = subMap.value("title").toMap();
-        kDebug() << titleMap.value("$t");
+        const QString& title = titleMap.value("$t").toString();
 
-//        kDebug() << subMap.keys();
         QVariantMap subSubMap = subMap.value("media$group").toMap();
-//        kDebug() << subSubMap.keys();
 
         QVariantList thumbnailList = subSubMap.value("media$thumbnail").toList();
+
         //FIXME: horrible horrible assumption
-        kDebug() << "THUMBNAIL URL: " << thumbnailList.at(0).toMap().value("url").toString();
+        const QString& thumbnail = thumbnailList.at(0).toMap().value("url").toString();
+        kDebug() << "THUMBNAIL URL: " << thumbnail;
+
+
+        Plasma::QueryMatch match(this);
+        match.setType(Plasma::QueryMatch::PossibleMatch);
+
+        //  match.setRelevance(1.0);
+        //  match.setIcon(m_icon);
+        match.setData(url);
+        match.setText(QString(title + " on YouTube"));
+
+        context.addMatch(term, match);
     }
 
 //    foreach (const QVariant& variant, related) {
diff --git a/runners/youtube/youtube.h b/runners/youtube/youtube.h
index 4a6a592..7ada53a 100644
--- a/runners/youtube/youtube.h
+++ b/runners/youtube/youtube.h
@@ -44,7 +44,7 @@ Q_SIGNALS:
     void matchMade(Plasma::RunnerContext *context);
 
 private:
-    void parseJson(const QByteArray& data);
+    void parseJson(const QByteArray& data, Plasma::RunnerContext &context);
 };
 
 K_EXPORT_PLASMA_RUNNER(youtube, YouTube)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic