[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