35 setWindowTitle(i18n(
"About Krita"));
41 splash->setWindowFlags(Qt::Widget);
44 wdgTab->aboutTab->layout()->addWidget(splash);
46 QString authors = i18n(
"<html>"
49 "<h1 align=\"center\">Created By</h1></p>"
52 QFile fileDevelopers(
":/developers.txt");
53 Q_ASSERT(fileDevelopers.exists());
54 if (fileDevelopers.open(QIODevice::ReadOnly | QIODevice::Text)) {
55 QTextStream developersText(&fileDevelopers);
57 authors.append(developersText.readAll().split(
"\n", Qt::SkipEmptyParts).join(
", "));
59 authors.append(
".</p></body></html>");
60 wdgTab->lblAuthors->setText(authors);
63 KAboutData aboutData(KAboutData::applicationData());
64 if (aboutData.translators().isEmpty()) {
65 aboutData.setTranslator(i18nc(
"NAME OF TRANSLATORS",
"Your names"),
66 i18nc(
"EMAIL OF TRANSLATORS",
"Your emails"));
70 QString translatorHtml = i18n(
74 "<h1 align=\"center\"><b>Translators</b></h1>"
77 Q_FOREACH (
const KAboutPerson &person, aboutData.translators()) {
78 translatorHtml.append(QString(
"<li>%1</li>").arg(person.name()));
81 translatorHtml.append(
"<ul></p>");
82 translatorHtml.append(
83 i18n(
"<p>KDE is translated into many languages thanks to the work of the "
84 "translation teams all over the world.</p><p>For more information on KDE "
85 "internationalization visit <a href=\"http://l10n.kde.org\">http://l10n."
87 translatorHtml.append(
"</body></html>");
89 wdgTab->lblTranslators->setText(translatorHtml);
91 QString sponsors = i18n(
93 "<h1 align=\"center\">Development Fund</h1>"
94 "<p align=\"center\"> <a href=\"https://intel.com\"><img src=\":/intel.png\"></a> "
95 "<h2 align=\"center\">One Time Sponsors</h2>"
96 "<p align=\"center\"> <a href=\"https://www.unrealengine.com/en-US/megagrants\"><img src=\":/epic.png\"></a> "
97 "<p align=\"center\"> <a href=\"http://brokenrul.es/\"><img src=\":/broken_rules.png\"></a> "
98 "<p align=\"center\"> <a href=\"https://game-chuck.com/\"><img src=\":/gamechuck.png\"></a> "
99 "<p align=\"center\"> <a href=\"https://www.fosshub.com/Krita.html\"><img src=\":/fosshub.png\"></a> "
100 "<p align=\"center\"> <a href=\"http://www.asifa-hollywood.org/\"><img src=\":/asifa.png\"></a> "
102 wdgTab->lblKickstarter->setText(sponsors);
104 QString credits = i18n(
"<html>"
107 "<h1 align=\"center\">Thanks To</h1>"
110 QFile fileCredits(
":/credits.txt");
111 Q_ASSERT(fileCredits.exists());
112 if (fileCredits.open(QIODevice::ReadOnly | QIODevice::Text)) {
113 QTextStream creditsText(&fileCredits);
116 Q_FOREACH (
const QString &credit, creditsText.readAll().split(
'\n', Qt::SkipEmptyParts)) {
118 if (credit.contains(
":")) {
120 credits.append(creditSplit.at(0));
121 credits.append(
" (<i>" + creditSplit.at(1) +
"</i>)");
122 credits.append(
", ");
127 credits.append(i18n(
".</p><p><i>For supporting Krita development with advice, icons, brush sets and more.</i></p></body></html>"));
129 wdgTab->lblCredits->setText(credits);
131 QString license = i18n(
"<html>"
134 "<h1 align=\"center\"><b>Your Rights</b></h1>"
135 "<p>Krita is released under the GNU General Public License (version 3 or any later version).</p>"
136 "<p>This license grants people a number of freedoms:</p>"
138 "<li>You are free to use Krita, for any purpose</li>"
139 "<li>You are free to distribute Krita</li>"
140 "<li>You can study how Krita works and change it</li>"
141 "<li>You can distribute changed versions of Krita</li>"
143 "<p>The Krita Foundation and its projects on krita.org are <b>committed</b> to preserving Krita as free software.</p>"
144 "<h1 align=\"center\">Your artwork</h1>"
145 "<p>What you create with Krita is your sole property. All your artwork is free for you to use as you like.</p>"
146 "<p>That means that Krita can be used commercially, for any purpose. There are no restrictions whatsoever.</p>"
147 "<p>Krita’s GNU GPL license guarantees you this freedom. Nobody is ever permitted to take it away, in contrast "
148 "to trial or educational versions of commercial software that will forbid your work in commercial situations.</p>"
151 QFile licenseFile(
":/LICENSE");
152 Q_ASSERT(licenseFile.exists());
153 if (licenseFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
154 QTextStream licenseText(&licenseFile);
156 license.append(licenseText.readAll());
158 license.append(
"</pre></body></html>");
159 wdgTab->lblLicense->setText(license);
161 QFile thirdPartyFile(
":/libraries.txt");
162 if (thirdPartyFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
163 QTextStream thirdPartyText(&thirdPartyFile);
166 QString thirdPartyHtml = i18n(
"<html>"
169 "<h1 align=\"center\"><b>Third-party Libraries used by Krita</b></h1>"
170 "<p>Krita is built on the following free software libraries:</p><p><ul>");
172 Q_FOREACH (
const QString &lib, thirdPartyText.readAll().split(
'\n', Qt::SkipEmptyParts)) {
174 if (!lib.startsWith(
"#")) {
176 if (parts.size() >= 3) {
177 thirdPartyHtml.append(QString(
"<li><a href=\"%2\">%1</a>: %3</li>").arg(parts[0], parts[1], parts[2]));
181 thirdPartyHtml.append(
"<ul></p></body></html>");
182 wdgTab->lblThirdParty->setText(thirdPartyHtml);
188 layout()->setSizeConstraint(QLayout::SetFixedSize);