X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Faboutdlg.cpp;h=1545d5a48a68a749197ad9bcc110b59d297aab7c;hp=db2d8f0436603dd3b7fe35b6f6489ada14613fdc;hb=HEAD;hpb=30c2dcaf2c892b14e7072057ced4d2fdaaceb9eb diff --git a/src/qtui/aboutdlg.cpp b/src/qtui/aboutdlg.cpp index db2d8f04..a2e6cabb 100644 --- a/src/qtui/aboutdlg.cpp +++ b/src/qtui/aboutdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,78 +15,125 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #include "aboutdlg.h" -#include "global.h" -AboutDlg::AboutDlg(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); +#include +#include - ui.versionLabel->setText(QString("Version %1, Build ≥ %2 (%3)").arg(Global::quasselVersion).arg(Global::quasselBuild).arg(Global::quasselDate)); - ui.aboutTextBrowser->setHtml(about()); - ui.authorTextBrowser->setHtml(authors()); - ui.contributorTextBrowser->setHtml(contributors()); - ui.thanksToTextBrowser->setHtml(thanksTo()); +#include "aboutdata.h" +#include "icon.h" +#include "quassel.h" +#include "util.h" -} +AboutDlg::AboutDlg(QWidget* parent) + : QDialog(parent) + , _aboutData(new AboutData(this)) +{ + AboutData::setQuasselPersons(_aboutData); + + ui.setupUi(this); + ui.quasselLogo->setPixmap(QPixmap{":/pics/quassel-64.svg"}); // don't let the icon theme affect our logo here -QString AboutDlg::about() const { - QString res; - res = tr("A modern, distributed IRC Client

" - "©2005-2008 by the Quassel Project
" - "http://quassel-irc.org
" - "#quassel on Freenode

" - "Quassel IRC is dual-licensed under GPLv2 and " - "GPLv3.
" - "Most icons are © by the Oxygen Team and used under the " - "LGPL.

" - "Please use http://bugs.quassel-irc.org to report bugs." - ); + QString versionDate; + if (Quassel::buildInfo().commitDate.isEmpty()) { + // This shouldn't happen, but sometimes the packaging environment cannot set a proper + // date/time. Add a fallback just in case. + versionDate = QString("%1").arg(tr("Unknown date")); + } + else { + versionDate = tryFormatUnixEpoch(Quassel::buildInfo().commitDate, Qt::DateFormat::DefaultLocaleShortDate); + } + ui.versionLabel->setText(QString(tr("Version: %1
" + "Version date: %2
" + "Protocol version: %3")) + .arg(Quassel::buildInfo().fancyVersionString) + .arg(versionDate) + .arg(Quassel::buildInfo().protocolVersion)); + ui.aboutTextBrowser->setHtml(about()); + ui.authorTextBrowser->setHtml(authors()); + ui.contributorTextBrowser->setHtml(contributors()); + ui.thanksToTextBrowser->setHtml(thanksTo()); - return res; + setWindowIcon(icon::get("quassel")); } -QString AboutDlg::authors() const { - QString res; - res = tr("Quassel IRC is mainly developed by:") + - "
" - "
Manuel \"Sputnick\" Nickschas
sput@quassel-irc.org
" - "Project Founder, Lead Developer

" - "
Marcus \"EgS\" Eggenberger
egs@quassel-irc.org
" - "Project Motivator, Lead Developer, Mac Maintainer

" - "
Alexander \"phon\" von Renteln
alex@phon.name
" - "Developer, Windows Maintainer
" - "
"; +QString AboutDlg::about() const +{ + QString res{tr("A modern, distributed IRC Client

" + "©%1 by the Quassel Project
" + "https://quassel-irc.org
" + "#quassel on Libera Chat

" + "Quassel IRC is dual-licensed under GPLv2 and " + "GPLv3.
" + "Breeze icon theme © Uri Herrera and others, " + "licensed under the " + "LGPLv3.
" + "Oxygen icon theme © Nuno Pinheiro and others, " + "licensed under the " + "LGPLv3.

" + "Please use https://bugs.quassel-irc.org to report bugs.") + .arg("2005-2022")}; - return res; + return res; } -QString AboutDlg::contributors() const { - QString res; - res = tr("We would like to thank the following contributors (in alphabetical order) and everybody we forgot to mention here:") + "
" - "
" - "
Marco \"kaffeedoktor\" Genise
kaffeedoktor@quassel-irc.org
" - "Ideas, Hacking, Motivation

" - "
Jonas \"Dante\" Heese
Project Founder, ebuilder

" - "
Daniel \"son\" Steinmetz
Early Beta Tester and Bughunter (on Vista™!)

" - "
Adam \"adamt\" Tulinius
Early Beta Tester and Bughunter, Danish Translation

" - "
Pavel \"int\" Volkovitskiy
Early Beta Tester and Bughunter

" - "
"; +QString AboutDlg::authors() const +{ + QString res{tr("Quassel IRC is mainly developed by:") + "
"}; + for (auto&& person : _aboutData->authors()) { + res.append("
" + person.prettyName() + "
"); + if (!person.emailAddress().isEmpty()) + res.append("" + person.emailAddress() + "
"); + res.append("" + person.task() + "
"); + } + res.append("
"); + return res; +} - return res; +QString AboutDlg::contributors() const +{ + QString res{tr("We would like to thank the following contributors (in alphabetical order) and everybody we forgot to mention here:") + + "
"}; + for (auto&& person : _aboutData->credits()) { + res.append("
" + person.prettyName() + "
" + person.task() + "
"); + } + res.append("
" + + tr("...and anybody else finding and reporting bugs, giving feedback, helping others and being part of the community!")); + return res; } -QString AboutDlg::thanksTo() const { - QString res; - res = tr("Special thanks goes to:
" - "
" - "
The Oxygen Team
" - "
for creating most of the shiny icons you see throughout Quassel

" - "
Trolltech
" - "
for creating Qt and Qtopia, and for sponsoring development of Quasseltopia with Greenphones and more
" - ); +QString AboutDlg::thanksTo() const +{ + QString res{tr("Special thanks goes to:") + + "
" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "
 John \"nox\" Hand
" + + tr("for the original Quassel logo - The All-Seeing Eye") + + "
Nuno Pinheiro
" + + tr("for the Oxygen Quassel logo") + + "
The KDE Visual Design Group
" + + tr("for the amazing Breeze and Oxygen icon themes") + + "
The Qt Company (formerly known as Qt Software, Nokia, Trolltech)
" + + tr("for creating an awesome framework, and for sponsoring development with Greenphones, N810s, N950s and more") + + "
"}; - return res; + return res; }