23 #include "aboutdialog.h" 25 #include "gui/copytextdlg.h" 26 #include "plugins/engineplugin.h" 27 #include "plugins/pluginloader.h" 28 #include "ui_aboutdialog.h" 29 #include "wadseeker/wadseekerversioninfo.h" 35 DClass<AboutDialog> :
public Ui::AboutDialog
45 connect(d->buttonBox, SIGNAL( clicked(QAbstractButton *) ), SLOT( close() ));
50 d->lblRevision->setText(QString::number(Version::revisionNumber()));
51 d->logo->setPixmap(QPixmap(
":/logo.png"));
52 d->pteCopyrightNotice->setPlainText(copyrightVerboseNotice());
55 d->wadseekerAuthor->setText(WadseekerVersionInfo::author());
56 d->wadseekerDescription->setText(WadseekerVersionInfo::description());
57 d->wadseekerVersion->setText(WadseekerVersionInfo::version());
58 d->wadseekerYearSpan->setText(WadseekerVersionInfo::yearSpan());
61 for(
unsigned i = 0; i < gPlugins->numPlugins(); ++i)
63 d->pluginBox->addItem( gPlugins->plugin(i)->info()->data()->name);
65 connect(d->pluginBox, SIGNAL( currentIndexChanged(
int) ), SLOT( changePlugin(
int) ));
68 d->jsonLayout->setAlignment(d->btnJsonLicense, Qt::AlignTop);
72 AboutDialog::~AboutDialog()
76 void AboutDialog::changePlugin(
int pluginIndex)
78 if(static_cast<unsigned> (pluginIndex) >= gPlugins->numPlugins())
81 const EnginePlugin* plug = gPlugins->plugin(pluginIndex)->info();
84 d->pluginDescription->setPlainText(
"") :
85 d->pluginDescription->setPlainText(plug->data()->
aboutProvider->provide());
86 d->pluginAuthor->setText(plug->data()->author);
87 d->pluginVersion->setText(QString(
"Version: %1.%2").arg(plug->data()->abiVersion).arg(plug->data()->version));
90 QString AboutDialog::copyrightVerboseNotice()
const 95 QStringList paragraphs;
98 QChar copyrightChar(0x00a9);
99 QChar smallAGraveChar(0x00e0);
102 paragraphs << tr(
"Copyright %1 %2 The Doomseeker Team")
103 .arg(copyrightChar).arg(Version::yearSpan());
104 paragraphs << tr(
"This program is distributed under the terms of the LGPL v2.1 or later.");
107 paragraphs << tr(
"Doomseeker translations contributed by:\n")
108 + tr(
"- Polish: Zalewa") +
"\n" 109 + tr(
"- Spanish: Pol Marcet Sard%1").arg(smallAGraveChar);
112 paragraphs << tr(
"This program uses GeoLite2 data for IP-to-Country (IP2C) purposes, " 113 "available from https://www.maxmind.com") +
"\n" +
114 tr(
"Database and Contents Copyright (c) 2018 MaxMind, Inc.");
115 paragraphs << tr(
"GeoLite2 License:\n" 116 "This work is licensed under the Creative Commons Attribution - ShareAlike 4.0 Unported License. " 117 "To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/.");
118 paragraphs << tr(
"GeoLite2 available at:\n" 119 "https://dev.maxmind.com/geoip/geoip2/geolite2/");
123 icons << tr(
"- Aha-Soft");
124 icons << tr(
"- Crystal Clear by Everaldo Coelho");
125 icons << tr(
"- Fugue Icons (C) 2013 Yusuke Kamiyamane. All rights reserved.");
126 icons << tr(
"- Nuvola 1.0 (KDE 3.x icon set)");
127 icons << tr(
"- Oxygen Icons 4.3.1 (KDE)");
128 icons << tr(
"- Silk Icon Set (C) Mark James (famfamfam.com)");
129 icons << tr(
"- Tango Icon Library / Tango Desktop Project");
130 paragraphs << tr(
"This program uses icons (or derivates of) from following sources:\n") + icons.join(
"\n");
132 return paragraphs.join(
"\n\n");
135 void AboutDialog::showJsonLicense()
137 QResource license(
"LICENSE.json");
138 QString licenseText = QString::fromUtf8(
139 reinterpret_cast<const char*>(license.data()),
141 CopyTextDlg dialog(licenseText, tr(
"JSON library license"),
this);
142 dialog.resize(550, dialog.height());
QScopedPointer< TextProvider > aboutProvider
Description of the plugin, intended to be displayed in the "About" dialog.
static QString versionRevision()
Combines version and revision strings.
static QString changeset()