13
13
this->abortFlag = false;
15
15
QUrl url("http://gdata.youtube.com/feeds/api/videos/");
16
url.addQueryItem("v", "2");
16
18
url.addQueryItem("max-results", QString::number(max));
17
19
url.addQueryItem("start-index", QString::number(skip));
18
21
if (!searchParams->keywords().isEmpty()) {
19
22
if (searchParams->keywords().startsWith("http://") ||
20
23
searchParams->keywords().startsWith("https://")) {
21
24
url.addQueryItem("q", YouTubeSearch::videoIdFromUrl(searchParams->keywords()));
22
25
} else url.addQueryItem("q", searchParams->keywords());
24
28
if (!searchParams->author().isEmpty())
25
29
url.addQueryItem("author", searchParams->author());
31
35
case SearchParams::SortByViewCount:
32
36
url.addQueryItem("orderby", "viewCount");
38
case SearchParams::SortByRating:
39
url.addQueryItem("orderby", "rating");
43
switch (searchParams->duration()) {
44
case SearchParams::DurationShort:
45
url.addQueryItem("duration", "short");
47
case SearchParams::DurationMedium:
48
url.addQueryItem("duration", "medium");
50
case SearchParams::DurationLong:
51
url.addQueryItem("duration", "long");
55
switch (searchParams->time()) {
56
case SearchParams::TimeToday:
57
url.addQueryItem("time", "today");
59
case SearchParams::TimeWeek:
60
url.addQueryItem("time", "this_week");
62
case SearchParams::TimeMonth:
63
url.addQueryItem("time", "this_month");
67
switch (searchParams->quality()) {
68
case SearchParams::QualityHD:
69
url.addQueryItem("hd", "true");
36
73
QObject *reply = The::http()->get(url);
50
87
qDebug() << "Error parsing XML";
52
89
videos = reader.getVideos();
90
suggestions = reader.getSuggestions();
54
92
foreach (Video *video, videos) {
55
93
// send it to the model