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