]> git.sur5r.net Git - minitube/blob - src/loadingwidget.cpp
Better error reporting
[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     QFont bigFont;
13     bigFont.setPointSize(bigFont.pointSize()*4);
14     QFontMetrics fm(bigFont);
15     int textHeightInPixels = fm.height();
16     int spacing = textHeightInPixels / 2;
17
18     QBoxLayout *layout = new QVBoxLayout();
19     layout->setSpacing(spacing);
20     layout->setMargin(spacing);
21
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);
30
31     QFont biggerFont;
32     biggerFont.setPointSize(biggerFont.pointSize()*2);
33
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);
42
43     /*
44     progressBar = new QProgressBar(this);
45     progressBar->hide();
46     layout->addWidget(progressBar);
47     */
48
49     setLayout(layout);
50 }
51
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();
61 }
62
63 void LoadingWidget::setError(QString message) {
64     titleLabel->setText(tr("Error"));
65     descriptionLabel->setText(message);
66     // progressBar->hide();
67 }
68
69 void LoadingWidget::bufferStatus(int percent) {
70     /*
71     qDebug() << percent;
72     progressBar->setShown(percent > 0);
73     progressBar->setValue(percent);
74     */
75 }
76
77 void LoadingWidget::clear() {
78     titleLabel->clear();
79     descriptionLabel->clear();
80     // progressBar->hide();
81 }