-
-AboutView::AboutView(QWidget *parent) : QWidget(parent) {
-
- QBoxLayout *hLayout = new QHBoxLayout(this);
- hLayout->setAlignment(Qt::AlignCenter);
- hLayout->setMargin(30);
- hLayout->setSpacing(30);
-
- QLabel *logo = new QLabel(this);
- logo->setPixmap(QPixmap(":/images/app.png"));
- hLayout->addWidget(logo, 0, Qt::AlignTop);
+#include "appwidget.h"
+#include "clickablelabel.h"
+#include "fontutils.h"
+#include "iconutils.h"
+#include "mainwindow.h"
+
+AboutView::AboutView(QWidget *parent) : View(parent) {
+ const int padding = 30;
+ const char *buildYear = __DATE__ + 7;
+
+ setBackgroundRole(QPalette::Base);
+ setForegroundRole(QPalette::Text);
+ setAutoFillBackground(true);
+
+ QBoxLayout *verticalLayout = new QVBoxLayout(this);
+ verticalLayout->setMargin(0);
+ verticalLayout->setSpacing(0);
+
+ QBoxLayout *aboutlayout = new QHBoxLayout();
+ verticalLayout->addLayout(aboutlayout, 1);
+ aboutlayout->setAlignment(Qt::AlignCenter);
+ aboutlayout->setMargin(padding);
+ aboutlayout->setSpacing(padding);
+
+ ClickableLabel *logo = new ClickableLabel();
+ auto setLogoPixmap = [logo] {
+ logo->setPixmap(IconUtils::pixmap(":/images/app.png", logo->devicePixelRatioF()));
+ };
+ setLogoPixmap();
+ connect(window()->windowHandle(), &QWindow::screenChanged, this, setLogoPixmap);
+
+ connect(logo, &ClickableLabel::clicked, MainWindow::instance(), &MainWindow::visitSite);
+ aboutlayout->addWidget(logo, 0, Qt::AlignTop);