#include "video.h"
#include "fontutils.h"
#include "iconutils.h"
-#include "networkaccess.h"
-
-namespace The {
-NetworkAccess* http();
-}
+#include "http.h"
+#include "httputils.h"
VideoSourceWidget::VideoSourceWidget(VideoSource *videoSource, QWidget *parent)
: GridWidget(parent),
videoSource(videoSource),
lastPixelRatio(0) {
-
+ videoSource->setParent(this);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
loadPreview();
emit activated(videoSource);
}
-void VideoSourceWidget::previewVideo(const QList<Video *> &videos) {
+void VideoSourceWidget::previewVideo(const QVector<Video *> &videos) {
videoSource->disconnect();
- if (videos.isEmpty()) return;
- Video *video = videos.first();
+ if (videos.isEmpty()) {
+ qDebug() << "Unavailable video source" << videoSource->getName();
+ emit unavailable(this);
+ return;
+ }
+ Video *video = videos.at(0);
lastPixelRatio = window()->devicePixelRatio();
- bool needLargeThumb = lastPixelRatio > 1.0 || window()->width() > 2000;
- QString url = needLargeThumb ? video->largeThumbnailUrl() : video->mediumThumbnailUrl();
- if (url.isEmpty()) url = video->mediumThumbnailUrl();
+ bool needLargeThumb = lastPixelRatio > 1.0 || window()->width() > 1000;
+ QString url = needLargeThumb ? video->getLargeThumbnailUrl() : video->getMediumThumbnailUrl();
+ if (url.isEmpty()) url = video->getThumbnailUrl();
video->deleteLater();
- QObject *reply = The::http()->get(url);
+ QObject *reply = HttpUtils::yt().get(url);
connect(reply, SIGNAL(data(QByteArray)), SLOT(setPixmapData(QByteArray)));
}
}
void VideoSourceWidget::loadPreview() {
- connect(videoSource, SIGNAL(gotVideos(QList<Video*>)),
- SLOT(previewVideo(QList<Video*>)), Qt::UniqueConnection);
+ connect(videoSource, SIGNAL(gotVideos(QVector<Video*>)),
+ SLOT(previewVideo(QVector<Video*>)), Qt::UniqueConnection);
videoSource->loadVideos(1, 1);
}
int yOffset = 0;
int yOrigin = 0;
int hDiff = pixmap.height() - h;
- if (hDiff > 0) yOffset = hDiff / 4;
+ if (hDiff > 0) yOffset = hDiff / 2;
else yOrigin = -hDiff / 2;
p.drawPixmap(xOrigin, yOrigin, pixmap, xOffset, yOffset, w, h);