Clementine-audio-player-Mac.../src/ui/about.cpp

115 lines
4.2 KiB
C++

/* This file is part of Clementine.
Copyright 2010, David Sansome <me@davidsansome.com>
Clementine is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Clementine is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Clementine. If not, see <http://www.gnu.org/licenses/>.
*/
#include "about.h"
#include <QCoreApplication>
#include <QPushButton>
#include <algorithm>
#include "config.h"
#include "ui_about.h"
const char* About::kUrl = "http://www.clementine-player.org/";
About::About(QWidget* parent) : QDialog(parent) {
ui_.setupUi(this);
setWindowTitle(tr("About %1").arg(QCoreApplication::applicationName()));
ui_.title->setText(QCoreApplication::applicationName());
ui_.version->setText(
tr("Version %1").arg(QCoreApplication::applicationVersion()));
QFont title_font;
title_font.setBold(true);
title_font.setPointSize(title_font.pointSize() + 4);
ui_.title->setFont(title_font);
authors_ << Person("David Sansome", "me@davidsansome.com")
<< Person("John Maguire", "john.maguire@gmail.com")
<< Person(QString::fromUtf8("Paweł Bara"), "keirangtp@gmail.com")
<< Person("Arnaud Bienner", "arnaud.bienner@gmail.com");
thanks_to_ << Person("Mark Kretschmann", "kretschmann@kde.org")
<< Person("Max Howell", "max.howell@methylblue.com")
<< Person(QString::fromUtf8("Bartłomiej Burdukiewicz"),
"dev.strikeu@gmail.com")
<< Person("Jakub Stachowski", "qbast@go2.pl")
<< Person("Paul Cifarelli", "paul@cifarelli.net")
<< Person("Felipe Rivera", "liebremx@users.sourceforge.net")
<< Person("Alexander Peitz")
<< Person("Artur Rona", "artur.rona@gmail.com")
<< Person("Andreas Muttscheller", "asfa194@gmail.com")
<< Person("Mark Furneaux", "mark@furneaux.ca")
<< Person("Mattias Andersson", "mandersson444@gmail.com")
<< Person("Vikram Ambrose", "ambroseworks@gmail.com")
<< Person("Jonas Kvinge", "jonas@jkvinge.net");
std::sort(authors_.begin(), authors_.end());
std::sort(thanks_to_.begin(), thanks_to_.end());
ui_.content->setHtml(MakeHtml());
ui_.buttonBox->button(QDialogButtonBox::Close)
->setShortcut(QKeySequence::Close);
}
QString About::MakeHtml() const {
QString ret = QString(
"<p><a href=\"%1\">%2</a></p>"
"<p><b>%3:</b>")
.arg(kUrl, kUrl, tr("Authors"));
for (const Person& person : authors_) {
ret += "<br />" + MakeHtml(person);
}
ret += QString("</p><p><b>%3:</b>").arg(tr("Thanks to"));
for (const Person& person : thanks_to_) {
ret += "<br />" + MakeHtml(person);
}
ret += QString(
"<br />" + tr("All the translators") +
" &lt;<a href=\"https://www.transifex.com/projects/p/clementine/\">"
"https://www.transifex.com/projects/p/clementine/</a>&gt;");
ret += QString("<br />%1</p>").arg(tr("...and all the Amarok contributors"));
ret += QString("<p><b>%1</b>").arg(tr("And:"));
ret += QString("<br /><a href=\"http://rainymood.com\">Rainy Mood</a>");
ret += QString(
"<br /><a href=\"http://www.smitelli.com/?page=blog&p=54\">Scott "
"Smitelli</a>");
ret += QString(
"<br /><a href=\"http://hyperboleandahalf.blogspot.com\">Allie "
"Brosh</a></p>");
ret +=
"<p>This product uses Music by Spotify but is not endorsed, certified "
"or otherwise approved in any way by Spotify. Spotify is the registered "
"trade mark of the Spotify Group.</p>";
return ret;
}
QString About::MakeHtml(const Person& person) const {
if (person.email.isNull())
return person.name;
else
return QString("%1 &lt;<a href=\"mailto:%2\">%3</a>&gt;")
.arg(person.name, person.email, person.email);
}