X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Faboutdlg.cpp;h=1545d5a48a68a749197ad9bcc110b59d297aab7c;hp=e6721c6b7d28265dd9bba90586037f2385f0d6e0;hb=HEAD;hpb=76db8cdfbeffaaba359c8e80cf2146da9e9e7f8a diff --git a/src/qtui/aboutdlg.cpp b/src/qtui/aboutdlg.cpp index e6721c6b..a2e6cabb 100644 --- a/src/qtui/aboutdlg.cpp +++ b/src/qtui/aboutdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2022 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,163 +18,122 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include "aboutdlg.h" + #include +#include -#include "aboutdlg.h" +#include "aboutdata.h" #include "icon.h" -#include "iconloader.h" #include "quassel.h" +#include "util.h" -AboutDlg::AboutDlg(QWidget *parent) : QDialog(parent) +AboutDlg::AboutDlg(QWidget* parent) + : QDialog(parent) + , _aboutData(new AboutData(this)) { - ui.setupUi(this); - ui.quasselLogo->setPixmap(DesktopIcon("quassel", IconLoader::SizeHuge)); + AboutData::setQuasselPersons(_aboutData); - ui.versionLabel->setText(QString(tr("Version: %1
Protocol version: %2
Built: %3")) - .arg(Quassel::buildInfo().fancyVersionString) - .arg(Quassel::buildInfo().protocolVersion) - .arg(Quassel::buildInfo().buildDate)); + ui.setupUi(this); + ui.quasselLogo->setPixmap(QPixmap{":/pics/quassel-64.svg"}); // don't let the icon theme affect our logo here + + 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()); - setWindowIcon(Icon("quassel")); + setWindowIcon(icon::get("quassel")); } - QString AboutDlg::about() const { - QString res; - res = tr("A modern, distributed IRC Client

" - "©2005-2013 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 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; } - 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
phon@quassel-irc.org
" - "Developer, Windows Maintainer
" - "
"; - + 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; } - 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:") - + QString::fromUtf8("
" - "
" - "
Daniel \"al\" Albers
Master Of Translation, many fixes and enhancements
" - "
Terje \"tan\" Andersen
Norwegian translation, documentation
" - "
Jens \"amiconn\" Arnold
Postgres migration fixes
" - "
Rafael \"EagleScreen\" Belmonte
Spanish translation
" - "
Bruno Brigras
Crash fixes
" - "
Theo \"tampakrap\" Chatzimichos
Greek translation
" - "
Yuri Chornoivan
Ukrainian translation
" - "
Tomáš \"scarabeus\" Chvátal
Czech translation
" - "
\"Condex\"
Galician translation
" - "
Joshua \"tvakah\" Corbin
Various fixes
" - "
Matthias \"pennywise\" Coy
German translation
" - "
Chris \"stitch\" Fuenty
SASL support
" - "
Kevin \"KRF\" Funk
German translation
" - "
Fabiano \"elbryan\" Francesconi
Italian translation
" - "
Aurélien \"agateau\" Gâteau
Message Indicator support
" - "
Marco \"kaffeedoktor\" Genise
Ideas, hacking, motivation
" - "
Sjors \"dazjorz\" Gielen
Fixes
" - "
Sebastian \"seezer\" Goth
Many improvements and features
" - "
Michael \"brot\" Groh
German translation, fixes
" - "
H. İbrahim \"igungor\" Güngör
Turkish translation
" - "
Edward Hades
Russian translation
" - "
John \"nox\" Hand
Former All-Seeing Eye logo
" - "
Jonas \"Dante\" Heese
Project founder, various improvements
" - "
Thomas \"Datafreak\" Hogh
Windows builder
" - "
Johannes \"j0hu\" Huber
Many fixes and features, bug triaging
" - "
Scott \"ScottK\" Kitterman
Kubuntu nightly packager, (packaging/build system) bughunter
" - "
Paul \"Haudrauf\" Klumpp
Initial design and mainwindow layout
" - "
Maia Kozheva
Russian translation
" - "
Patrick \"bonsaikitten\" Lauer
Gentoo packaging
" - "
Chris \"Fish-Face\" Le Sueur
Various fixes and improvements
" - "
Hendrik \"nevcairiel\" Leppkes
Various features
" - "
Martin \"m4yer\" Mayer
German translation
" - "
Daniel E. Moctezuma
Japanese translation
" - "
Chris \"kode54\" Moeller
Various fixes and improvements
" - "
Thomas Müller
Fixes, Debian packaging
" - "
Gábor \"ELITE_x\" Németh
Hungarian translation
" - "
Marco \"Quizzlo\" Paolone
Italian translation
" - "
Bas \"Tucos\" Pape
Various fixes and improvements
" - "
Bruno Patri
French translation
" - "
Drew \"LinuxDolt\" Patridge
BluesTheme stylesheet
" - "
Celeste \"seele\" Paul
Usability Queen
" - "
David Planella
Translation fixes
" - "
Regis \"ZRegis\" Perrin
French translation
" - "
Diego \"Flameeyes\" Pettenò
Gentoo maintainer, build system improvements
" - "
Daniel \"billie\" Pielmeier
Gentoo maintainer
" - "
Nuno \"pinheiro\" Pinheiro
Tons of Oxygen icons including our application icon
" - "
David Planella
Translation system fixes
" - "
Jure \"JLP\" Repinc
Slovenian translation
" - "
Patrick \"TheOneRing\" von Reth
MinGW support, Windows packager
" - "
Dirk \"MarcLandis\" Rettschlag
Various fixes and new features
" - "
Jaak Ristioja
Fixes
" - "
Henning \"honk\" Rohlfs
Various fixes
" - "
Martin \"sandsmark\" Sandsmark
Core fixes, Quasseldroid
" - "
Dennis \"DevUrandom\" Schridde
D-Bus notifications
" - "
Jussi \"jussi01\" Schultink
Tireless tester, {ku|U}buntu tester and lobbyist, liters of delicious Finnish alcohol
" - "
Tim \"xAFFE\" Schumacher
Fixes and feedback
" - "
Harald \"apachelogger\" Sitter
{ku|U}buntu packager, motivator, promoter
" - "
Stefanos Sofroniou
Greek translation
" - "
Rüdiger \"ruediger\" Sonderfeld
Emacs keybindings
" - "
Alexander Stein
Tray icon fix
" - "
Daniel \"son\" Steinmetz
Early beta tester and bughunter (on Vista™!)
" - "
Jesper Thomschütz
Various fixes
" - "
Edward \"Aides\" Toroshchin
Russian translation
" - "
Adam \"adamt\" Tulinius
Early beta tester and bughunter, Danish translation
" - "
Frederik M.J. \"freqmod\" Vestre
Norwegian translation
" - "
Atte Virtanen
Finnish translation
" - "
Pavel \"int\" Volkovitskiy
Early beta tester and bughunter
" - "
Roscoe van Wyk
Fixes
" - "
Benjamin \"zbenjamin\" Zeller
Windows build system fixes
" - "
Zé
Portuguese translation
" - "

" - "...and anybody else finding and reporting bugs, giving feedback, helping others and being part of the community!"); - + 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:
" - "
" - "
 John \"nox\" Hand
" - "
for the original Quassel icon - The All-Seeing Eye" - "
 The Oxygen Team
" - "
for creating all the artwork you see throughout Quassel
" - "
 Qt Software formerly known as Trolltech
" - "
for creating Qt and Qtopia, and for sponsoring development of QuasselTopia with Greenphones and more
" - "
" - "
for keeping Qt alive, and for sponsoring development of Quassel Mobile with N810s
" - ); + 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; }