[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-kimageshop
Subject: [graphics/krita/krita/4.3] libs/ui/dialogs: Add a translators tab to the aboutbox
From: Boudewijn Rempt <null () kde ! org>
Date: 2020-09-10 11:25:34
Message-ID: 20200910112534.D817F12400A6 () leptone ! kde ! org
[Download RAW message or body]
Git commit f79e2349773071a96d0e32676f28cf21c45813a0 by Boudewijn Rempt.
Committed on 10/09/2020 at 11:24.
Pushed by rempt into branch 'krita/4.3'.
Add a translators tab to the aboutbox
This breaks string freeze, but the strings are present in kxmlgui -- which
we don't use in Krita.
BUG:422156
CCMAIL:kimageshop@kde.org
CCMAIL:kde-i18n-doc@kde.org
M +51 -0 libs/ui/dialogs/kis_about_application.cpp
M +9 -0 libs/ui/dialogs/kis_about_application.h
https://invent.kde.org/graphics/krita/commit/f79e2349773071a96d0e32676f28cf21c45813a0
diff --git a/libs/ui/dialogs/kis_about_application.cpp \
b/libs/ui/dialogs/kis_about_application.cpp index 5b41403b34..f7762cc70d 100644
--- a/libs/ui/dialogs/kis_about_application.cpp
+++ b/libs/ui/dialogs/kis_about_application.cpp
@@ -32,6 +32,7 @@
#include <QApplication>
#include <QFile>
#include <QDesktopServices>
+#include <kaboutdata.h>
#include <klocalizedstring.h>
@@ -92,6 +93,21 @@ KisAboutApplication::KisAboutApplication(QWidget *parent)
lblAuthors->setText(authors);
wdgTab->addTab(lblAuthors, i18nc("Heading for the list of Krita \
authors/developers", "Authors"));
+
+ // Translators
+ KAboutData aboutData(KAboutData::applicationData());
+ if (aboutData.translators().isEmpty()) {
+ aboutData.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"),
+ i18nc("EMAIL OF TRANSLATORS", "Your emails"));
+
+ }
+
+ if (!aboutData.translators().isEmpty()) {
+ wdgTab->addTab(createTranslatorsWidget(aboutData.translators(), \
aboutData.ocsProviderUrl()), + i18nc("@title:tab", \
"Translators")); + }
+
+
QTextEdit *lblKickstarter = new QTextEdit();
lblKickstarter->setReadOnly(true);
@@ -198,6 +214,7 @@ KisAboutApplication::KisAboutApplication(QWidget *parent)
}
wdgTab->addTab(lblThirdParty, i18n("Third-party libraries"));
+
QPushButton *bnClose = new QPushButton(i18n("Close"));
bnClose->setIcon(QIcon::fromTheme(QStringLiteral("dialog-close")));
connect(bnClose, SIGNAL(clicked()), SLOT(close()));
@@ -210,3 +227,37 @@ KisAboutApplication::KisAboutApplication(QWidget *parent)
vlayout->addLayout(hlayout);
}
+
+QWidget *KisAboutApplication::createTranslatorsWidget(const QList<KAboutPerson> \
&translators, const QString &ocsProviderUrl) +{
+ QString aboutTranslationTeam = KAboutData::aboutTranslationTeam();
+
+ qDebug() << aboutTranslationTeam << ocsProviderUrl;
+
+ QTextBrowser *lblTranslators = new QTextBrowser();
+
+ lblTranslators->setOpenExternalLinks(true);
+
+ QString translatorHtml = i18n("<html>"
+ "<head/>"
+ "<body>"
+ "<h1 align=\"center\"><b>Translators</b></h1>"
+ "<p><ul>");
+
+
+ Q_FOREACH(const KAboutPerson &person, translators) {
+ translatorHtml.append(QString("<li>%1</li>").arg(person.name()));
+ }
+
+ translatorHtml.append("<ul></p>");
+ translatorHtml.append("<p>KDE is translated into many languages thanks to the \
work of the " + "translation teams all over the \
world.</p><p>For more information on KDE " + \
"internationalization visit <a href=\"http://l10n.kde.org\">http://l10n." + \
"kde.org</a></p>"); + translatorHtml.append("</body></html>");
+
+ lblTranslators->setText(translatorHtml);
+
+ return lblTranslators;
+}
+
diff --git a/libs/ui/dialogs/kis_about_application.h \
b/libs/ui/dialogs/kis_about_application.h index 6fd8a9e40b..1c5df6256a 100644
--- a/libs/ui/dialogs/kis_about_application.h
+++ b/libs/ui/dialogs/kis_about_application.h
@@ -19,6 +19,9 @@
#define KIS_ABOUT_APPLICATION_H
#include <QDialog>
+#include <QList>
+
+#include <kaboutdata.h>
class KisAboutApplication : public QDialog
{
@@ -26,6 +29,12 @@ class KisAboutApplication : public QDialog
public:
explicit KisAboutApplication(QWidget *parent = 0);
+
+private:
+ QWidget *createTranslatorsWidget(const QList<KAboutPerson> &translators,
+ const QString &ocsProviderUrl);
};
+
+
#endif // KIS_ABOUT_APPLICATION_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic