]> git.sur5r.net Git - minitube/blob - src/loadingwidget.cpp
Display title and description while video is loading.
[minitube] / src / loadingwidget.cpp
1 #include "loadingwidget.h"
2
3 LoadingWidget::LoadingWidget(QWidget *parent) : QWidget(parent) {
4
5     QPalette p = palette();
6     p.setBrush(QPalette::Window, Qt::black);
7     p.setBrush(QPalette::Text, Qt::white);
8     setPalette(p);
9
10     setAutoFillBackground(true);
11
12     QBoxLayout *layout = new QVBoxLayout();
13     layout->setAlignment(Qt::AlignCenter);
14
15     QFont bigFont;
16     bigFont.setPointSize(bigFont.pointSize()*4);
17
18     titleLabel = new QLabel(this);
19     titleLabel->setAlignment(Qt::AlignCenter);
20     titleLabel->setForegroundRole(QPalette::Text);
21     titleLabel->setWordWrap(true);
22     titleLabel->setFont(bigFont);
23     titleLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
24     layout->addWidget(titleLabel);
25
26     QFont biggerFont;
27     biggerFont.setPointSize(biggerFont.pointSize()*2);
28
29     descriptionLabel = new QLabel(this);
30     descriptionLabel->setAlignment(Qt::AlignCenter);
31     descriptionLabel->setForegroundRole(QPalette::Text);
32     descriptionLabel->setWordWrap(true);
33     descriptionLabel->setFont(biggerFont);
34     descriptionLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
35     layout->addWidget(descriptionLabel);
36
37     progressBar = new QProgressBar(this);
38     progressBar->hide();
39     layout->addWidget(progressBar);
40
41     setLayout(layout);
42 }
43
44 void LoadingWidget::setVideo(Video *video) {
45     QString title = video->title();
46     // enhance legibility by splitting the title
47     title = title.replace(" - ", "<p>");
48     title = title.replace("] ", "]<p>");
49     titleLabel->setText(title);
50     descriptionLabel->setText(video->description());
51     progressBar->hide();
52 }
53
54 void LoadingWidget::bufferStatus(int percent) {
55     qDebug() << percent;
56     progressBar->setShown(percent > 0);
57     progressBar->setValue(percent);
58 }
59
60 void LoadingWidget::paintEvent(QPaintEvent *) {
61
62     /*
63     QPainter painter(this);
64     painter.fillRect(0, 0, width(), height(), Qt::black);
65     */
66
67 }