1 #include "loadingwidget.h"
3 LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
5 QPalette p = palette();
6 p.setBrush(QPalette::Window, Qt::black);
7 p.setBrush(QPalette::Text, Qt::white);
10 setAutoFillBackground(true);
13 bigFont.setPointSize(bigFont.pointSize()*4);
14 QFontMetrics fm(bigFont);
15 int textHeightInPixels = fm.height();
16 int spacing = textHeightInPixels / 2;
18 QBoxLayout *layout = new QVBoxLayout();
19 layout->setSpacing(spacing);
20 layout->setMargin(spacing);
22 titleLabel = new QLabel(this);
23 titleLabel->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
24 titleLabel->setPalette(p);
25 titleLabel->setForegroundRole(QPalette::Text);
26 titleLabel->setWordWrap(true);
27 titleLabel->setFont(bigFont);
28 titleLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
29 layout->addWidget(titleLabel);
32 biggerFont.setPointSize(biggerFont.pointSize()*2);
34 descriptionLabel = new QLabel(this);
35 descriptionLabel->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
36 descriptionLabel->setPalette(p);
37 descriptionLabel->setForegroundRole(QPalette::Text);
38 descriptionLabel->setWordWrap(true);
39 descriptionLabel->setFont(biggerFont);
40 descriptionLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
41 layout->addWidget(descriptionLabel);
44 progressBar = new QProgressBar(this);
46 layout->addWidget(progressBar);
52 void LoadingWidget::setVideo(Video *video) {
53 QString title = video->title();
54 // enhance legibility by splitting the title
55 title = title.replace(" - ", "<p>");
56 title = title.replace("] ", "]<p>");
57 title = title.replace(" [", "<p>[");
58 titleLabel->setText(title);
59 descriptionLabel->setText(video->description());
60 // progressBar->hide();
63 void LoadingWidget::bufferStatus(int percent) {
66 progressBar->setShown(percent > 0);
67 progressBar->setValue(percent);
71 void LoadingWidget::clear() {
73 descriptionLabel->clear();
74 // progressBar->hide();