X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Faboutdlg.cpp;h=1545d5a48a68a749197ad9bcc110b59d297aab7c;hp=6b775b7f4d469d064e9547545486f1caebfef8d2;hb=HEAD;hpb=68878dc8366f2f4a0afe132847aad9a51a80cdbf diff --git a/src/qtui/aboutdlg.cpp b/src/qtui/aboutdlg.cpp index 6b775b7f..a2e6cabb 100644 --- a/src/qtui/aboutdlg.cpp +++ b/src/qtui/aboutdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 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,57 +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
Version date: %2
Protocol version: %3")) - .arg(Quassel::buildInfo().fancyVersionString) - .arg(Quassel::buildInfo().commitDate) - .arg(Quassel::buildInfo().protocolVersion)); + 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 {tr("A modern, distributed IRC Client

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

" - "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-2018") - }; + 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 {tr("Quassel IRC is mainly developed by:") + "
"}; - for (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() + "
"); @@ -81,39 +93,47 @@ QString AboutDlg::authors() const 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()) { + 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 {tr("Special thanks goes to:") + "
" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "
 John \"nox\" Hand
" + tr("for the original Quassel logo - The All-Seeing Eye") + "
Nuno Pinheiro
" + tr("for the current 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") + "
" - }; + 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; }