subsurface/qt-ui/about.cpp
Lubomir I. Ivanov c45768a09f add and use a version.c / version.h pair
version.c is now object code which is recompiled each time
ssrf-version.h changes, while the interface file version.h
remains that same at all times and files which include it
will not need to be recompiled.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-15 13:26:51 -08:00

40 lines
1.4 KiB
C++

#include "about.h"
#include "version.h"
#include <QDesktopServices>
#include <QUrl>
#include <QShortcut>
SubsurfaceAbout::SubsurfaceAbout(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
{
ui.setupUi(this);
setWindowModality(Qt::ApplicationModal);
QString versionString(subsurface_git_version());
QStringList readableVersions = QStringList() << "4.3.950" << "4.4 Beta 1" <<
"4.3.960" << "4.4 Beta 2" <<
"4.3.970" << "4.4 Beta 3";
if (readableVersions.contains(versionString))
versionString = readableVersions[readableVersions.indexOf(versionString) + 1];
ui.aboutLabel->setText(tr("<span style='font-size: 18pt; font-weight: bold;'>"
"Subsurface %1 </span><br><br>"
"Multi-platform divelog software<br>"
"<span style='font-size: 8pt'>"
"Linus Torvalds, Dirk Hohndel, Tomaz Canabrava, and others, 2011-2015"
"</span>").arg(versionString));
QShortcut *close = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_W), this);
connect(close, SIGNAL(activated()), this, SLOT(close()));
QShortcut *quit = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this);
connect(quit, SIGNAL(activated()), parent, SLOT(close()));
}
void SubsurfaceAbout::on_licenseButton_clicked()
{
QDesktopServices::openUrl(QUrl("http://www.gnu.org/licenses/gpl-2.0.txt"));
}
void SubsurfaceAbout::on_websiteButton_clicked()
{
QDesktopServices::openUrl(QUrl("http://subsurface-divelog.org"));
}