63 :QDialog(parent), Ui::AboutDialogBase()
68 KAboutData about_data = KAboutData::applicationData();
71 QString kde_version = QString::fromLatin1(KXMLGUI_VERSION_STRING);
72 QString kwave_version = about_data.componentName()+
73 _(
" ") + about_data.version() +
_(
" ");
74 QString header_text =
_(
"<h2>") + kwave_version +
75 i18n(
"(built with KDE Frameworks %1)", kde_version) +
_(
"</h2>");
76 header->setText(header_text);
80 foreach (
const KAboutPerson &author, about_data.authors()) {
83 author.emailAddress(),
88 authorframe->setWidget(about);
89 authorframe->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
93 foreach (
const KAboutPerson &credit, about_data.credits()) {
96 credit.emailAddress(),
101 thanksframe->setWidget(contrib);
102 thanksframe->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
105 QTreeWidget *pluginsinfo =
new QTreeWidget(pluginsinfoframe);
106 QVBoxLayout *plugins_layout =
new QVBoxLayout(pluginsinfoframe);
107 plugins_layout->addWidget(pluginsinfo);
108 pluginsinfoframe->setLayout(plugins_layout);
110 pluginsinfo->setColumnCount(3);
111 pluginsinfo->setSizePolicy(QSizePolicy::MinimumExpanding,
112 QSizePolicy::Expanding);
113 pluginsinfo->setSelectionMode(QAbstractItemView::NoSelection);
115 headers << i18n(
"name") << i18n(
"version") << i18n(
"authors");
116 pluginsinfo->setHeaderLabels(headers);
117 pluginsinfo->setAllColumnsShowFocus(
false );
118 pluginsinfo->setItemsExpandable(
false);
119 pluginsinfo->setRootIsDecorated(
false);
121 QList<QTreeWidgetItem *> plugins;
123 QList<Kwave::PluginManager::PluginModule> list = plugin_info;
124 if (!list.isEmpty()) {
131 plugins.append(
new QTreeWidgetItem(
132 static_cast<QTreeWidget *>(Q_NULLPTR), item));
134 pluginsinfo->insertTopLevelItems(0, plugins);
136 pluginsinfo->resizeColumnToContents(1);
137 pluginsinfo->resizeColumnToContents(0);
139 QString num_plugins = i18n(
"Plugins found: %1", plugins.count());
140 pluginsnumval->setText(num_plugins);
141 pluginsinfoframe->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
144 kwave_url_label->setText(
_(
"<a href=\"") +
145 about_data.homepage() +
_(
"\">") +
146 about_data.homepage() +
_(
"</a>"));
147 kwave_url_label->setOpenExternalLinks(
true);
148 kwave_url_label->setTextInteractionFlags(Qt::LinksAccessibleByMouse);
152 QList<KAboutPerson> translators = about_data.translators();
162 if (translators.isEmpty()) {
163 about_data.setTranslator(
167 translators = about_data.translators();
171 if (translators.isEmpty() || ((translators.count() == 1) &&
173 tabwidget->removeTab(4);
175 foreach (
const KAboutPerson &translator, translators) {
176 QString website = translator.webAddress();
180 foreach (
const KAboutPerson &author, about_data.authors())
181 if (author.name() == translator.name()) {
182 website = author.webAddress();
188 foreach (
const KAboutPerson &credit, about_data.credits())
189 if (credit.name() == translator.name()) {
190 website = credit.webAddress();
196 translator.emailAddress(),
202 QString about_team = about_data.aboutTranslationTeam();
203 if (!about_team.isEmpty()) {
204 about_team.prepend(
_(
"<br>"));
205 trans->
addWidget(
new(std::nothrow) QLabel(about_team, trans));
208 translatorsframe->setWidget(trans);
209 translatorsframe->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
213 licenseframe->setReadOnly(
true);
215 foreach (
const KAboutLicense &license, about_data.licenses()) {
216 licenses += license.text();
218 licenseframe->setText(licenses);
221 buttonBox->setFocus();
#define EMAIL_OF_TRANSLATORS
void addWidget(QWidget *widget)
static bool pluginInfoDescriptionLessThan(const Kwave::PluginManager::PluginModule &info1, const Kwave::PluginManager::PluginModule &info2)
void addPerson(const QString &name, const QString &email, const QString &url, const QString &task)
#define NAME_OF_TRANSLATORS