aboutsummaryrefslogtreecommitdiff
path: root/lib/about/aboutdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/about/aboutdialog.cpp')
-rw-r--r--lib/about/aboutdialog.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/lib/about/aboutdialog.cpp b/lib/about/aboutdialog.cpp
new file mode 100644
index 0000000..ff4200f
--- /dev/null
+++ b/lib/about/aboutdialog.cpp
@@ -0,0 +1,68 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: https://neueland.iserlohn-fortress.net/smolbote.hg
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#include "aboutdialog.h"
+#include "ui_aboutdialog.h"
+#include <QtWebEngine/QtWebEngineVersion>
+#include <boost/version.hpp>
+
+// compiler
+// clang also defines __GNUC__, so we need to check for clang first
+#if defined(__clang__)
+#define compiler "Clang " __clang_version__
+#elif defined(__GNUC__)
+#define compiler "GCC " __VERSION__
+#else
+#define compiler "unknown compiler";
+#endif
+
+AboutDialog::AboutDialog(QWidget *parent)
+ : QDialog(parent)
+ , ui(new Ui::AboutDialog)
+{
+ setAttribute(Qt::WA_DeleteOnClose, true);
+ ui->setupUi(this);
+
+ ui->icon->setPixmap(qApp->windowIcon().pixmap(72, 72));
+
+ auto *aboutLabel = new QLabel(this);
+ aboutLabel->setWordWrap(true);
+ aboutLabel->setText(tr("<h2>smolbote %1</h2>"
+ "<p><i>yet another no-frills browser</i></p>").arg(qApp->applicationVersion()));
+ ui->toolBox->addItem(aboutLabel, tr("About"));
+
+ auto *licenseLabel = new QLabel(this);
+ licenseLabel->setWordWrap(true);
+ licenseLabel->setText(tr("<p>Copyright 2017 - 2018 aqua</p>"
+ "<p>This program is free software, and you are welcome to use it under the conditions set by the GNU GPLv3:"
+ "<ul>"
+ "<li> the freedom to use the software for any purpose,</li>"
+ "<li> the freedom to change the software to suit your needs,</li>"
+ "<li> the freedom to share the software with anyone,</li>"
+ "<li> the freedom to share the changes you make, and</li>"
+ "<li> the responsibility to grant the same freedoms when sharing the software.</li>"
+ "</ul>"
+ "<p>This is a short summary; you can find the full license text in LICENSE.md.</p>"));
+ ui->toolBox->addItem(licenseLabel, tr("License"));
+
+ auto *detailsLabel = new QLabel(this);
+ detailsLabel->setWordWrap(true);
+ detailsLabel->setText(tr("<p>Compiled with " compiler "</p>"
+ "<p><ul>"
+ "<li>Qt " QT_VERSION_STR "</li>"
+ "<li>QtWebEngine " QTWEBENGINE_VERSION_STR "</li>"
+ "<li>Boost " BOOST_LIB_VERSION " </li>"
+ "</ul></p>"));
+ ui->toolBox->addItem(detailsLabel, tr("Details"));
+
+}
+
+AboutDialog::~AboutDialog()
+{
+ delete ui;
+}