]> git.sur5r.net Git - minitube/blobdiff - src/paginatedvideosource.cpp
Imported Upstream version 2.5.1
[minitube] / src / paginatedvideosource.cpp
index 396b836efd0f0706369fc8bf83c6cf01c65eb325..115cf1f1c06a6d9e066f67f7bba48d98f8788d35 100644 (file)
@@ -23,6 +23,7 @@ $END_LICENSE */
 #include "yt3.h"
 #include "yt3listparser.h"
 #include "datautils.h"
+#include "compatibility/qurlqueryhelper.h"
 
 #include "video.h"
 #include "networkaccess.h"
@@ -34,13 +35,12 @@ QHash<QString, QAction*>* globalActions();
 
 PaginatedVideoSource::PaginatedVideoSource(QObject *parent) : VideoSource(parent)
   , tokenTimestamp(0)
-  , reloadingToken(false)
   , currentMax(0)
   , currentStartIndex(0)
+  , reloadingToken(false)
   , asyncDetails(false) { }
 
 bool PaginatedVideoSource::hasMoreVideos() {
-    qDebug() << __PRETTY_FUNCTION__ << nextPageToken;
     return !nextPageToken.isEmpty();
 }
 
@@ -97,6 +97,7 @@ void PaginatedVideoSource::loadVideoDetails(const QList<Video*> &videos) {
         // TODO get video details from cache
         if (!videoIds.isEmpty()) videoIds += ",";
         videoIds += video->id();
+        this->videos = videos;
         videoMap.insert(video->id(), video);
     }
 
@@ -109,20 +110,11 @@ void PaginatedVideoSource::loadVideoDetails(const QList<Video*> &videos) {
     }
 
     QUrl url = YT3::instance().method("videos");
-
-#if QT_VERSION >= 0x050000
     {
-        QUrl &u = url;
-        QUrlQuery url;
-#endif
-
-        url.addQueryItem("part", "contentDetails,statistics");
-        url.addQueryItem("id", videoIds);
-
-#if QT_VERSION >= 0x050000
-        u.setQuery(url);
+        QUrlQueryHelper urlHelper(url);
+        urlHelper.addQueryItem("part", "contentDetails,statistics");
+        urlHelper.addQueryItem("id", videoIds);
     }
-#endif
 
     QObject *reply = The::http()->get(url);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(parseVideoDetails(QByteArray)));
@@ -162,8 +154,8 @@ void PaginatedVideoSource::parseVideoDetails(const QByteArray &bytes) {
         }
     }
     if (!asyncDetails) {
-        emit gotVideos(videoMap.values());
-        emit finished(videoMap.size());
+        emit gotVideos(videos);
+        emit finished(videos.size());
     } else {
         emit gotDetails();
     }