X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Faboutdlg.cpp;h=19f1efbd716fb94f3793447b996143c8c78af4c6;hp=5661ac93880fa3835668fcb870dce25a6be1bd75;hb=edc55b1f86cf613a332eeeb5d85537a54120dfa5;hpb=620cd1aa35e05099b3f84400dd33afc207c98244 diff --git a/src/qtui/aboutdlg.cpp b/src/qtui/aboutdlg.cpp index 5661ac93..19f1efbd 100644 --- a/src/qtui/aboutdlg.cpp +++ b/src/qtui/aboutdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2019 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
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; - 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-2016"); + 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-2019")}; 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; }