]> git.sur5r.net Git - minitube/blob - src/AboutView.cpp
Merge branch 'master' of git://gitorious.org/minitube/minitube
[minitube] / src / AboutView.cpp
1 #include "AboutView.h"
2 #include "Constants.h"
3
4 AboutView::AboutView(QWidget *parent) : QWidget(parent) {
5
6     QBoxLayout *aboutlayout = new QHBoxLayout(this);
7     aboutlayout->setAlignment(Qt::AlignCenter);
8     aboutlayout->setSpacing(30);
9
10     QLabel *logo = new QLabel(this);
11     logo->setPixmap(QPixmap(":/images/app.png"));
12     aboutlayout->addWidget(logo, 0, Qt::AlignTop);
13
14     QBoxLayout *layout = new QVBoxLayout();
15     layout->setAlignment(Qt::AlignCenter);
16     layout->setSpacing(30);
17     aboutlayout->addLayout(layout);
18
19     QString info = "<h1>" + QString(Constants::APP_NAME) + "</h1>"
20                    "<p>" + tr("There's life outside the browser!") + "</p>"
21                    "<p>" + tr("Version %1").arg(Constants::VERSION) + "</p>"
22                    + QString("<p><a href=\"%1/\">%1</a></p>").arg(Constants::WEBSITE) +
23
24                    "<p>" + tr("This is a \"Technology Preview\" release, do not expect it to be perfect.") + "<br/>"
25                    + tr("Report bugs and send in your ideas to %1")
26                    .arg(QString("<a href=\"mailto:%1\">%1</a>").arg(Constants::EMAIL)) + "</p>"
27
28                    "<p>" +  tr("%1 is Free Software but its development takes precious time.").arg(Constants::APP_NAME) + "<br/>"
29                    + tr("Please <a href='%1'>donate via PayPal</a> to support the continued development of %2.")
30                    .arg(QString(Constants::WEBSITE).append("#donate"), Constants::APP_NAME) + "</p>"
31
32                    "<p>" + tr("Icon designed by %1.").arg("Sebastian Kraft") + "</p>"
33
34                    "<p>" + tr("Compact mode contributed by %1.").arg("Stefan Brück") + "</p>"
35
36                    "<p>" + tr("Translated by %1").arg("Nikita Lyalin (ru_RU), "
37                                                       "Márcio Moraes (pt_BR), "
38                                                       "Sergio Tocalini Joerg (es_AR), "
39                                                       "Stefan Brück (de_DE), "
40                                                       "Grzegorz Gibas (pl_PL), "
41                                                       "Kiwamu Okabe (ja_JP), "
42                                                       "Dan Vrátil (cs_CZ)"
43                                                       ) + "</p>"
44
45                    "<p>" + tr("Released under the <a href='%1'>GNU General Public License</a>")
46                    .arg("http://www.gnu.org/licenses/gpl.html") + "</p>"
47
48                    "<p>&copy; 2009 " + Constants::ORG_NAME + "</p>";
49     QLabel *infoLabel = new QLabel(info, this);
50     infoLabel->setOpenExternalLinks(true);
51     infoLabel->setWordWrap(true);
52     layout->addWidget(infoLabel);
53
54     QLayout *buttonLayout = new QHBoxLayout();
55     buttonLayout->setAlignment(Qt::AlignLeft);
56     QPushButton *closeButton = new QPushButton(tr("&Close"), this);
57     closeButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
58
59     closeButton->setDefault(true);
60     closeButton->setFocus(Qt::OtherFocusReason);
61     connect(closeButton, SIGNAL(clicked()), parent, SLOT(goBack()));
62     buttonLayout->addWidget(closeButton);
63
64     layout->addLayout(buttonLayout);
65
66 }
67
68 void AboutView::paintEvent(QPaintEvent * /*event*/) {
69
70     QPainter painter(this);
71
72 #ifdef Q_WS_MAC
73     QLinearGradient linearGrad(0, 0, 0, height());
74     QPalette palette;
75     linearGrad.setColorAt(0, palette.color(QPalette::Light));
76     linearGrad.setColorAt(1, palette.color(QPalette::Midlight));
77     painter.fillRect(0, 0, width(), height(), QBrush(linearGrad));
78 #endif
79
80 }