diff --git a/doc/kcontrol/desktopthemedetails/index.docbook b/doc/kcontrol/desktopthemedetails/index.docbook index 645ce0d63..a38243cf1 100644 --- a/doc/kcontrol/desktopthemedetails/index.docbook +++ b/doc/kcontrol/desktopthemedetails/index.docbook @@ -1,134 +1,134 @@ ]>
-Plasma Theme +Plasma Style Andrew Lake Carl Schwan 2019-03-08 Plasma 5.16 KDE System Settings desktop theme plasma &plasma; comes with multiple themes. The &plasma; theme defines how the different components of &plasma; are displayed (⪚ Plasmoids, panels, widgets). Here's a screenshot of the &plasma; theme manager Customizing &plasma; theme In this module you can: install and choose &plasma; themes edit &plasma; themes remove &plasma; themes If you want to remove a theme, use the overlay icon at the bottom right of the theme icon. To undo this action click on the icon. If you hit Apply or OK the themes selected for removal are actually deleted, so you cannot undo individual or all deletions. If the plasma-sdk package is installed on your system, a button appears hovering a theme preview and lets you start the Plasma Theme Explorer. For more technical information visit this page. - Get New Plasma Themes... + Get New Plasma Styles... You need to be connected to the Internet to use it. Clicking on this button will display a dialog where you can choose a new plasma theme. Clicking on Install in the dialog will install the chosen &plasma; theme and after you Close the installer your new theme is immediately available. - Get New Plasma Themes... + Get New Plasma Styles... - Get New Plasma Themes... + Get New Plasma Styles... Install from File... If you downloaded new themes from the internet, you can use this to browse to the location of those newly downloaded themes. Clicking on this button will bring you the file dialog to point to the &plasma; theme tarball you have on your disk. Clicking Open in this dialog will install the theme you pointed to and make it available in the theme list.
diff --git a/kcms/desktoptheme/kcm.cpp b/kcms/desktoptheme/kcm.cpp index 2a7500be1..10baa37c2 100644 --- a/kcms/desktoptheme/kcm.cpp +++ b/kcms/desktoptheme/kcm.cpp @@ -1,372 +1,372 @@ /* This file is part of the KDE Project Copyright (c) 2014 Marco Martin Copyright (c) 2014 Vishesh Handa Copyright (c) 2016 David Rosca Copyright (c) 2018 Kai Uwe Broulik This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "kcm.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include Q_LOGGING_CATEGORY(KCM_DESKTOP_THEME, "kcm_desktoptheme") K_PLUGIN_FACTORY_WITH_JSON(KCMDesktopThemeFactory, "kcm_desktoptheme.json", registerPlugin();) KCMDesktopTheme::KCMDesktopTheme(QObject *parent, const QVariantList &args) : KQuickAddons::ConfigModule(parent, args) , m_defaultTheme(new Plasma::Theme(this)) , m_haveThemeExplorerInstalled(false) { //This flag seems to be needed in order for QQuickWidget to work //see https://bugreports.qt-project.org/browse/QTBUG-40765 //also, it seems to work only if set in the kcm, not in the systemsettings' main qApp->setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); qmlRegisterType(); - KAboutData* about = new KAboutData(QStringLiteral("kcm_desktoptheme"), i18n("Plasma Theme"), + KAboutData* about = new KAboutData(QStringLiteral("kcm_desktoptheme"), i18n("Plasma Style"), QStringLiteral("0.1"), QString(), KAboutLicense::LGPL); about->addAuthor(i18n("David Rosca"), QString(), QStringLiteral("nowrep@gmail.com")); setAboutData(about); setButtons(Apply | Default | Help); m_model = new QStandardItemModel(this); QHash roles = m_model->roleNames(); roles[PluginNameRole] = QByteArrayLiteral("pluginName"); roles[ThemeNameRole] = QByteArrayLiteral("themeName"); roles[DescriptionRole] = QByteArrayLiteral("description"); roles[IsLocalRole] = QByteArrayLiteral("isLocal"); roles[PendingDeletionRole] = QByteArrayLiteral("pendingDeletion"); m_model->setItemRoleNames(roles); m_haveThemeExplorerInstalled = !QStandardPaths::findExecutable(QStringLiteral("plasmathemeexplorer")).isEmpty(); } KCMDesktopTheme::~KCMDesktopTheme() { delete m_defaultTheme; } QStandardItemModel *KCMDesktopTheme::desktopThemeModel() const { return m_model; } QString KCMDesktopTheme::selectedPlugin() const { return m_selectedPlugin; } void KCMDesktopTheme::setSelectedPlugin(const QString &plugin) { if (m_selectedPlugin == plugin) { return; } m_selectedPlugin = plugin; emit selectedPluginChanged(m_selectedPlugin); emit selectedPluginIndexChanged(); updateNeedsSave(); } int KCMDesktopTheme::selectedPluginIndex() const { const auto results = m_model->match(m_model->index(0, 0), PluginNameRole, m_selectedPlugin); if (results.count() == 1) { return results.first().row(); } return -1; } bool KCMDesktopTheme::downloadingFile() const { return m_tempCopyJob; } void KCMDesktopTheme::setPendingDeletion(int index, bool pending) { QModelIndex idx = m_model->index(index, 0); m_model->setData(idx, pending, PendingDeletionRole); if (pending && selectedPluginIndex() == index) { // move to the next non-pending theme const auto nonPending = m_model->match(idx, PendingDeletionRole, false); setSelectedPlugin(nonPending.first().data(PluginNameRole).toString()); } updateNeedsSave(); } void KCMDesktopTheme::getNewStuff(QQuickItem *ctx) { if (!m_newStuffDialog) { m_newStuffDialog = new KNS3::DownloadDialog(QStringLiteral("plasma-themes.knsrc")); - m_newStuffDialog.data()->setWindowTitle(i18n("Download New Plasma Themes")); + m_newStuffDialog.data()->setWindowTitle(i18n("Download New Plasma Styles")); m_newStuffDialog->setWindowModality(Qt::WindowModal); m_newStuffDialog->winId(); // so it creates the windowHandle(); connect(m_newStuffDialog.data(), &KNS3::DownloadDialog::accepted, this, &KCMDesktopTheme::load); } if (ctx && ctx->window()) { m_newStuffDialog->windowHandle()->setTransientParent(ctx->window()); } m_newStuffDialog.data()->show(); } void KCMDesktopTheme::installThemeFromFile(const QUrl &url) { if (url.isLocalFile()) { installTheme(url.toLocalFile()); return; } if (m_tempCopyJob) { return; } m_tempInstallFile.reset(new QTemporaryFile()); if (!m_tempInstallFile->open()) { emit showErrorMessage(i18n("Unable to create a temporary file.")); m_tempInstallFile.reset(); return; } m_tempCopyJob = KIO::file_copy(url, QUrl::fromLocalFile(m_tempInstallFile->fileName()), -1, KIO::Overwrite); m_tempCopyJob->uiDelegate()->setAutoErrorHandlingEnabled(true); emit downloadingFileChanged(); connect(m_tempCopyJob, &KIO::FileCopyJob::result, this, [this, url](KJob *job) { if (job->error() != KJob::NoError) { emit showErrorMessage(i18n("Unable to download the theme: %1", job->errorText())); return; } installTheme(m_tempInstallFile->fileName()); m_tempInstallFile.reset(); }); connect(m_tempCopyJob, &QObject::destroyed, this, &KCMDesktopTheme::downloadingFileChanged); } void KCMDesktopTheme::installTheme(const QString &path) { qCDebug(KCM_DESKTOP_THEME) << "Installing ... " << path; const QString program = QStringLiteral("kpackagetool5"); const QStringList arguments = { QStringLiteral("--type"), QStringLiteral("Plasma/Theme"), QStringLiteral("--install"), path}; qCDebug(KCM_DESKTOP_THEME) << program << arguments.join(QStringLiteral(" ")); QProcess *myProcess = new QProcess(this); connect(myProcess, static_cast(&QProcess::finished), this, [this, myProcess](int exitCode, QProcess::ExitStatus exitStatus) { Q_UNUSED(exitStatus); if (exitCode == 0) { emit showSuccessMessage(i18n("Theme installed successfully.")); load(); } else { Q_EMIT showErrorMessage(i18n("Theme installation failed.")); } }); connect(myProcess, static_cast(&QProcess::error), this, [this](QProcess::ProcessError e) { qCWarning(KCM_DESKTOP_THEME) << "Theme installation failed: " << e; Q_EMIT showErrorMessage(i18n("Theme installation failed.")); }); myProcess->start(program, arguments); } void KCMDesktopTheme::applyPlasmaTheme(QQuickItem *item, const QString &themeName) { if (!item) { return; } Plasma::Theme *theme = m_themes[themeName]; if (!theme) { theme = new Plasma::Theme(themeName, this); m_themes[themeName] = theme; } Q_FOREACH (Plasma::Svg *svg, item->findChildren()) { svg->setTheme(theme); svg->setUsingRenderingCache(false); } } void KCMDesktopTheme::load() { m_pendingRemoval.clear(); // Get all desktop themes QStringList themes; const QStringList &packs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("plasma/desktoptheme"), QStandardPaths::LocateDirectory); Q_FOREACH (const QString &ppath, packs) { const QDir cd(ppath); const QStringList &entries = cd.entryList(QDir::Dirs | QDir::Hidden | QDir::NoDotAndDotDot); Q_FOREACH (const QString &pack, entries) { const QString _metadata = ppath + QLatin1Char('/') + pack + QStringLiteral("/metadata.desktop"); if (QFile::exists(_metadata)) { themes << _metadata; } } } m_model->clear(); Q_FOREACH (const QString &theme, themes) { int themeSepIndex = theme.lastIndexOf(QLatin1Char('/'), -1); const QString themeRoot = theme.left(themeSepIndex); int themeNameSepIndex = themeRoot.lastIndexOf(QLatin1Char('/'), -1); const QString packageName = themeRoot.right(themeRoot.length() - themeNameSepIndex - 1); KDesktopFile df(theme); if (df.noDisplay()) { continue; } QString name = df.readName(); if (name.isEmpty()) { name = packageName; } const bool isLocal = QFileInfo(theme).isWritable(); if (m_model->findItems(packageName).isEmpty()) { QStandardItem *item = new QStandardItem; item->setText(packageName); item->setData(packageName, PluginNameRole); item->setData(name, ThemeNameRole); item->setData(df.readComment(), DescriptionRole); item->setData(isLocal, IsLocalRole); item->setData(false, PendingDeletionRole); m_model->appendRow(item); } } m_model->setSortRole(ThemeNameRole); // FIXME the model should really be just using Qt::DisplayRole m_model->sort(0 /*column*/); KConfigGroup cg(KSharedConfig::openConfig(QStringLiteral("plasmarc")), "Theme"); setSelectedPlugin(cg.readEntry("name", m_defaultTheme->themeName())); emit selectedPluginIndexChanged(); updateNeedsSave(); } void KCMDesktopTheme::save() { if (m_defaultTheme->themeName() != m_selectedPlugin) { m_defaultTheme->setThemeName(m_selectedPlugin); } processPendingDeletions(); updateNeedsSave(); } void KCMDesktopTheme::defaults() { setSelectedPlugin(QStringLiteral("default")); // can this be done more elegantly? const auto pendingDeletions = m_model->match(m_model->index(0, 0), PendingDeletionRole, true); for (const QModelIndex &idx : pendingDeletions) { m_model->setData(idx, false, PendingDeletionRole); } } bool KCMDesktopTheme::canEditThemes() const { return m_haveThemeExplorerInstalled; } void KCMDesktopTheme::editTheme(const QString &theme) { QProcess::startDetached(QStringLiteral("plasmathemeexplorer -t ") % theme); } void KCMDesktopTheme::updateNeedsSave() { setNeedsSave(!m_model->match(m_model->index(0, 0), PendingDeletionRole, true).isEmpty() || m_selectedPlugin != m_defaultTheme->themeName()); } void KCMDesktopTheme::processPendingDeletions() { const QString program = QStringLiteral("plasmapkg2"); const auto pendingDeletions = m_model->match(m_model->index(0, 0), PendingDeletionRole, true, -1 /*all*/); QVector persistentPendingDeletions; // turn into persistent model index so we can delete as we go std::transform(pendingDeletions.begin(), pendingDeletions.end(), std::back_inserter(persistentPendingDeletions), [](const QModelIndex &idx) { return QPersistentModelIndex(idx); }); for (const QPersistentModelIndex &idx : persistentPendingDeletions) { const QString pluginName = idx.data(PluginNameRole).toString(); const QString displayName = idx.data(Qt::DisplayRole).toString(); Q_ASSERT(pluginName != m_selectedPlugin); const QStringList arguments = {QStringLiteral("-t"), QStringLiteral("theme"), QStringLiteral("-r"), pluginName}; QProcess *process = new QProcess(this); connect(process, static_cast(&QProcess::finished), this, [this, process, idx, pluginName, displayName](int exitCode, QProcess::ExitStatus exitStatus) { Q_UNUSED(exitStatus); if (exitCode == 0) { m_model->removeRow(idx.row()); } else { emit showErrorMessage(i18n("Removing theme failed: %1", QString::fromLocal8Bit(process->readAllStandardOutput().trimmed()))); m_model->setData(idx, false, PendingDeletionRole); } process->deleteLater(); }); process->start(program, arguments); process->waitForFinished(); // needed so it deletes fine when "OK" is clicked and the dialog destroyed } } #include "kcm.moc" diff --git a/kcms/desktoptheme/kcm_desktoptheme.desktop b/kcms/desktoptheme/kcm_desktoptheme.desktop index c7cd00eaa..804cf3f49 100644 --- a/kcms/desktoptheme/kcm_desktoptheme.desktop +++ b/kcms/desktoptheme/kcm_desktoptheme.desktop @@ -1,119 +1,119 @@ [Desktop Entry] Icon=preferences-desktop-plasma-theme Exec=kcmshell5 kcm_desktoptheme Type=Service X-KDE-ServiceTypes=KCModule X-KDE-Library=kcm_desktoptheme X-KDE-ParentApp=kcontrol X-KDE-System-Settings-Parent-Category=appearance X-KDE-Weight=20 X-DocPath=kcontrol/desktopthemedetails/index.html -Name=Plasma Theme +Name=Plasma Style Name[ca]=Tema del Plasma Name[ca@valencia]=Tema del Plasma Name[cs]=Motiv Plasma Name[da]=Plasma-tema Name[de]=Plasma-Design Name[en_GB]=Plasma Theme Name[es]=Tema de Plasma Name[eu]=Plasmaren gaiak Name[fi]=Plasma-teema Name[fr]=Thème Plasma pour les thèmes foncés Name[gl]=Tema de Plasma Name[id]=Tema Plasma Name[it]=Tema di Plasma Name[ja]=Plasma テーマ Name[ko]=Plasma 테마 Name[nl]=Plasma-thema Name[nn]=Plasma-tema Name[pl]=Wygląd Plazmy Name[pt]=Tema do Plasma Name[pt_BR]=Tema do Plasma Name[ru]=Тема оформления Plasma Name[sk]=Vzhľad Plasma Name[sv]=Plasmatema Name[uk]=Теми Плазми Name[x-test]=xxPlasma Themexx Name[zh_CN]=Plasma 主题 Name[zh_TW]=Plasma 主題 Comment=Choose Plasma theme Comment[ca]=Trieu el tema del Plasma Comment[ca@valencia]=Trieu el tema del Plasma Comment[de]=Plasma-Design auswählen Comment[en_GB]=Choose Plasma theme Comment[es]=Escoger un tema de Plasma Comment[eu]=Aukeratu Plasmaren gaia Comment[fi]=Valitse Plasma-teema Comment[fr]=Choisissez le thème Plasma Comment[gl]=Escoller un tema de Plasma Comment[id]=Pilihlah tema Plasma Comment[it]=Scegli tema di Plasma Comment[ja]=Plasma テーマを選択 Comment[ko]=Plasma 테마 선택 Comment[nl]=Plasma-thema kiezen Comment[nn]=Vel Plasma-tema Comment[pl]=Wybierz wygląd Plazmy Comment[pt]=Escolher o tema do Plasma Comment[pt_BR]=Escolha o tema do Plasma Comment[ru]=Выбор темы оформления рабочего стола Plasma Comment[sk]=Vyberte Plasma tému Comment[sv]=Välj Plasmatema Comment[uk]=Вибір теми Плазми Comment[x-test]=xxChoose Plasma themexx Comment[zh_CN]=选择 Plasma 主题 Comment[zh_TW]=選擇 Plasma 主題 X-KDE-Keywords=Desktop Theme X-KDE-Keywords[ar]=سمة سطح المكتب X-KDE-Keywords[bs]=Tema površi X-KDE-Keywords[ca]=Tema d'escriptori X-KDE-Keywords[ca@valencia]=Tema d'escriptori X-KDE-Keywords[cs]=Motiv plochy X-KDE-Keywords[da]=Skrivebordstema X-KDE-Keywords[de]=Arbeitsflächen-Design X-KDE-Keywords[el]=Θέμα επιφάνειας εργασίας X-KDE-Keywords[en_GB]=Desktop Theme X-KDE-Keywords[es]=Tema de escritorio X-KDE-Keywords[et]=Töölauateema X-KDE-Keywords[eu]=Mahaigaineko gaia X-KDE-Keywords[fi]=Työpöytäteema X-KDE-Keywords[fr]=Thème du bureau X-KDE-Keywords[ga]=Téama Deisce X-KDE-Keywords[gl]=Tema do escritorio X-KDE-Keywords[he]=ערכת־הנושא X-KDE-Keywords[hu]=Asztali téma X-KDE-Keywords[ia]=Thema de scriptorio X-KDE-Keywords[id]=Tema Desktop X-KDE-Keywords[is]=Skjáborðsþema X-KDE-Keywords[it]=Tema del desktop X-KDE-Keywords[ja]=デスクトップテーマ X-KDE-Keywords[kk]=Desktop Theme,Үстел нақышы X-KDE-Keywords[km]=រូបរាង​ផ្ទៃតុ X-KDE-Keywords[ko]=데스크톱 테마 X-KDE-Keywords[lt]=Darbalaukio apipavidalinimas X-KDE-Keywords[mr]=डेस्कटॉप शैली X-KDE-Keywords[nb]=Skrivebordstema X-KDE-Keywords[nds]=Schriefdischmuster X-KDE-Keywords[nl]=Bureaubladthema X-KDE-Keywords[nn]=Skrivebordstema X-KDE-Keywords[pa]=ਡੈਸਕਟਾਪ ਥੀਮ X-KDE-Keywords[pl]=Wygląd pulpitu X-KDE-Keywords[pt]=Tema do Ambiente de Trabalho X-KDE-Keywords[pt_BR]=Tema da área de trabalho X-KDE-Keywords[ro]=Tematica de birou X-KDE-Keywords[ru]=Тема рабочего стола X-KDE-Keywords[sk]=Téma plochy X-KDE-Keywords[sl]=Namizna tema X-KDE-Keywords[sr]=Desktop Theme,тема површи X-KDE-Keywords[sr@ijekavian]=Desktop Theme,тема површи X-KDE-Keywords[sr@ijekavianlatin]=Desktop Theme,tema površi X-KDE-Keywords[sr@latin]=Desktop Theme,tema površi X-KDE-Keywords[sv]=Skrivbordstema X-KDE-Keywords[tr]=Masaüstü Teması X-KDE-Keywords[ug]=ئۈستەلئۈستى ئۆرنىكى X-KDE-Keywords[uk]=тема,стільниця X-KDE-Keywords[vi]=Sắc thái màn hình X-KDE-Keywords[x-test]=xxDesktop Themexx X-KDE-Keywords[zh_CN]=Desktop Theme,桌面主题 X-KDE-Keywords[zh_TW]=Desktop Theme diff --git a/kcms/desktoptheme/package/contents/ui/main.qml b/kcms/desktoptheme/package/contents/ui/main.qml index 39694a94e..60f29cdc7 100644 --- a/kcms/desktoptheme/package/contents/ui/main.qml +++ b/kcms/desktoptheme/package/contents/ui/main.qml @@ -1,151 +1,151 @@ /* Copyright (c) 2014 Marco Martin Copyright (c) 2016 David Rosca Copyright (c) 2018 Kai Uwe Broulik This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import QtQuick 2.1 import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.0 import QtQuick.Controls 2.3 as QtControls import org.kde.kirigami 2.4 as Kirigami import org.kde.kconfig 1.0 // for KAuthorized import org.kde.kcm 1.1 as KCM KCM.GridViewKCM { - KCM.ConfigModule.quickHelp: i18n("This module lets you choose the Plasma theme.") + KCM.ConfigModule.quickHelp: i18n("This module lets you choose the Plasma style.") view.model: kcm.desktopThemeModel view.currentIndex: kcm.selectedPluginIndex enabled: !kcm.downloadingFile DropArea { anchors.fill: parent onEntered: { if (!drag.hasUrls) { drag.accepted = false; } } onDropped: kcm.installThemeFromFile(drop.urls[0]) } view.delegate: KCM.GridDelegate { id: delegate text: model.themeName toolTip: model.description || model.themeName opacity: model.pendingDeletion ? 0.3 : 1 Behavior on opacity { NumberAnimation { duration: Kirigami.Units.longDuration } } thumbnailAvailable: true thumbnail: ThemePreview { id: preview anchors.fill: parent themeName: model.pluginName } actions: [ Kirigami.Action { iconName: "document-edit" tooltip: i18n("Edit Theme...") enabled: !model.pendingDeletion visible: kcm.canEditThemes onTriggered: kcm.editTheme(model.pluginName) }, Kirigami.Action { iconName: "edit-delete" tooltip: i18n("Remove Theme") enabled: model.isLocal visible: !model.pendingDeletion onTriggered: kcm.setPendingDeletion(model.index, true); }, Kirigami.Action { iconName: "edit-undo" tooltip: i18n("Restore Theme") visible: model.pendingDeletion onTriggered: kcm.setPendingDeletion(model.index, false); } ] onClicked: { kcm.selectedPlugin = model.pluginName; view.forceActiveFocus(); } } footer: ColumnLayout { Kirigami.InlineMessage { id: infoLabel Layout.fillWidth: true showCloseButton: true Connections { target: kcm onShowSuccessMessage: { infoLabel.type = Kirigami.MessageType.Positive; infoLabel.text = message; infoLabel.visible = true; } onShowErrorMessage: { infoLabel.type = Kirigami.MessageType.Error; infoLabel.text = message; infoLabel.visible = true; } } } RowLayout { Layout.alignment: Qt.AlignRight QtControls.Button { text: i18n("Install from File...") icon.name: "document-import" onClicked: fileDialogLoader.active = true; } QtControls.Button { - text: i18n("Get New Plasma Themes...") + text: i18n("Get New Plasma Styles...") icon.name: "get-hot-new-stuff" onClicked: kcm.getNewStuff(this) visible: KAuthorized.authorize("ghns") } } } Loader { id: fileDialogLoader active: false sourceComponent: FileDialog { title: i18n("Open Theme") folder: shortcuts.home nameFilters: [ i18n("Theme Files (*.zip *.tar.gz *.tar.bz2)") ] Component.onCompleted: open() onAccepted: { kcm.installThemeFromFile(fileUrls[0]) fileDialogLoader.active = false } onRejected: { fileDialogLoader.active = false } } } } diff --git a/kcms/desktoptheme/package/metadata.desktop b/kcms/desktoptheme/package/metadata.desktop index 8d032ab87..4eff4e0dc 100644 --- a/kcms/desktoptheme/package/metadata.desktop +++ b/kcms/desktoptheme/package/metadata.desktop @@ -1,69 +1,69 @@ [Desktop Entry] -Name=Plasma Theme +Name=Plasma Style Name[ca]=Tema del Plasma Name[ca@valencia]=Tema del Plasma Name[cs]=Motiv Plasma Name[da]=Plasma-tema Name[de]=Plasma-Design Name[en_GB]=Plasma Theme Name[es]=Tema de Plasma Name[eu]=Plasmaren gaiak Name[fi]=Plasma-teema Name[fr]=Thème Plasma pour les thèmes foncés Name[gl]=Tema de Plasma Name[id]=Tema Plasma Name[it]=Tema di Plasma Name[ja]=Plasma テーマ Name[ko]=Plasma 테마 Name[nl]=Plasma-thema Name[nn]=Plasma-tema Name[pl]=Wygląd Plazmy Name[pt]=Tema do Plasma Name[pt_BR]=Tema do Plasma Name[ru]=Тема оформления Plasma Name[sk]=Vzhľad Plasma Name[sv]=Plasmatema Name[uk]=Теми Плазми Name[x-test]=xxPlasma Themexx Name[zh_CN]=Plasma 主题 Name[zh_TW]=Plasma 主題 Comment=Choose Plasma theme Comment[ca]=Trieu el tema del Plasma Comment[ca@valencia]=Trieu el tema del Plasma Comment[de]=Plasma-Design auswählen Comment[en_GB]=Choose Plasma theme Comment[es]=Escoger un tema de Plasma Comment[eu]=Aukeratu Plasmaren gaia Comment[fi]=Valitse Plasma-teema Comment[fr]=Choisissez le thème Plasma Comment[gl]=Escoller un tema de Plasma Comment[id]=Pilihlah tema Plasma Comment[it]=Scegli tema di Plasma Comment[ja]=Plasma テーマを選択 Comment[ko]=Plasma 테마 선택 Comment[nl]=Plasma-thema kiezen Comment[nn]=Vel Plasma-tema Comment[pl]=Wybierz wygląd Plazmy Comment[pt]=Escolher o tema do Plasma Comment[pt_BR]=Escolha o tema do Plasma Comment[ru]=Выбор темы оформления рабочего стола Plasma Comment[sk]=Vyberte Plasma tému Comment[sv]=Välj Plasmatema Comment[uk]=Вибір теми Плазми Comment[x-test]=xxChoose Plasma themexx Comment[zh_CN]=选择 Plasma 主题 Comment[zh_TW]=選擇 Plasma 主題 Icon=preferences-desktop-theme Keywords= Type=Service X-KDE-ParentApp= X-KDE-PluginInfo-Author=David Rosca X-KDE-PluginInfo-Email=nowrep@gmail.com X-KDE-PluginInfo-License=GPL-2.0+ X-KDE-PluginInfo-Name=kcm_desktoptheme X-KDE-PluginInfo-Version= X-KDE-PluginInfo-Website=https://www.kde.org/plasma-desktop X-KDE-ServiceTypes=Plasma/Generic X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml diff --git a/kcms/desktoptheme/plasma-themes.knsrc b/kcms/desktoptheme/plasma-themes.knsrc index dafdc8272..f42c24eee 100644 --- a/kcms/desktoptheme/plasma-themes.knsrc +++ b/kcms/desktoptheme/plasma-themes.knsrc @@ -1,47 +1,47 @@ [KNewStuff3] -Name=Plasma Themes +Name=Plasma Styles Name[ca]=Temes del Plasma Name[ca@valencia]=Temes del Plasma Name[cs]=Motivy Plasmy Name[da]=Plasma-temaer Name[de]=Plasma-Designs Name[el]=Θέματα Plasma Name[en_GB]=Plasma Themes Name[es]=Temas de Plasma Name[eu]=Plasmaren gaiak Name[fi]=Plasma-teemat Name[fr]=Thèmes Plasma Name[gl]=Temas de Plasma Name[he]=ערכות נושא של Plasma Name[hu]=Plasma témák Name[id]=Tema Plasma Name[it]=Temi di Plasma Name[ko]=Plasma 테마 Name[lt]=Plasma apipavidalinimai Name[nl]=Plasma-thema's Name[nn]=Plasma-tema Name[pa]=ਪਲਾਜ਼ਮਾ ਥੀਮ Name[pl]=Wyglądy Plazmy Name[pt]=Temas do Plasma Name[pt_BR]=Temas do Plasma Name[ru]=Тема рабочего стола Plasma Name[sk]=Témy Plasma Name[sl]=Teme Plasma Name[sr]=Плазма теме Name[sr@ijekavian]=Плазма теме Name[sr@ijekavianlatin]=Plasma teme Name[sr@latin]=Plasma teme Name[sv]=Plasmateman Name[tr]=Plasma Temaları Name[uk]=Теми Плазми Name[x-test]=xxPlasma Themesxx Name[zh_CN]=Plasma 主题 Name[zh_TW]=Plasma 主題 ProvidersUrl=https://download.kde.org/ocs/providers.xml Categories=Plasma Theme StandardResource=tmp InstallationCommand=kpackagetool5 -t Plasma/Theme -i %f UninstallCommand=kpackagetool5 -t Plasma/Theme -r %f TagFilter=ghns_excluded!=1,plasma##version==5 DownloadTagFilter=plasma##version==5