X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Faboutdlg.cpp;h=1545d5a48a68a749197ad9bcc110b59d297aab7c;hp=b5b7c76d36f238574ba1da3d48ea5dbfe1fb4ca5;hb=HEAD;hpb=d82f98b8cf9c7c83f3aab1d7f010ccf8bdd2c003 diff --git a/src/qtui/aboutdlg.cpp b/src/qtui/aboutdlg.cpp index b5b7c76d..a2e6cabb 100644 --- a/src/qtui/aboutdlg.cpp +++ b/src/qtui/aboutdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2015 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 * @@ -21,56 +21,69 @@ #include "aboutdlg.h" #include -#include +#include #include "aboutdata.h" +#include "icon.h" #include "quassel.h" +#include "util.h" -AboutDlg::AboutDlg(QWidget *parent) +AboutDlg::AboutDlg(QWidget* parent) : QDialog(parent) , _aboutData(new AboutData(this)) { AboutData::setQuasselPersons(_aboutData); ui.setupUi(this); - ui.quasselLogo->setPixmap(QIcon(":/icons/quassel-64.png").pixmap(64)); // don't let the icon theme affect our logo here + ui.quasselLogo->setPixmap(QPixmap{":/pics/quassel-64.svg"}); // don't let the icon theme affect our logo here - ui.versionLabel->setText(QString(tr("Version: %1
Protocol version: %2
Built: %3")) - .arg(Quassel::buildInfo().fancyVersionString) - .arg(Quassel::buildInfo().protocolVersion) - .arg(Quassel::buildInfo().buildDate)); + 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(QIcon::fromTheme("quassel", QIcon(":/icons/quassel.png"))); + setWindowIcon(icon::get("quassel")); } - QString AboutDlg::about() const { - QString res; - res = tr("A modern, distributed IRC Client

" - "©%1 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." - ).arg("2005-2015"); + 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:") + "
"; - for (const auto &person : _aboutData->authors()) { + 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() + "
"); @@ -80,34 +93,47 @@ QString AboutDlg::authors() const 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:") + "
"; - for (const auto &person : _aboutData->credits()) { + 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!")); - + 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 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; }