blob: 352bed917ebb20aab06d3c3fa213201774bde62a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
From f77b7284e39b14b0e9a8b4d2b77c0b93b2c9ea59 Mon Sep 17 00:00:00 2001
From: Fushan Wen <qydwhotmail@gmail.com>
Date: Mon, 16 May 2022 16:18:00 +0800
Subject: [PATCH] kcms/desktoptheme: find metadata.json when loading
ThemesModel
Before this commit ThemesModel only finds metadata.desktop, but after
KF5.94, the default theme metadata files have been ported to json format.
BUG: 453830
(cherry picked from commit 10aa9bb8dca91e92e3009ed57613d43d610da63e)
---
kcms/desktoptheme/themesmodel.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/kcms/desktoptheme/themesmodel.cpp b/kcms/desktoptheme/themesmodel.cpp
index 6f0ecf4e3..296951742 100644
--- a/kcms/desktoptheme/themesmodel.cpp
+++ b/kcms/desktoptheme/themesmodel.cpp
@@ -155,7 +155,15 @@ void ThemesModel::load()
const QDir cd(ppath);
const QStringList &entries = cd.entryList(QDir::Dirs | QDir::Hidden | QDir::NoDotAndDotDot);
for (const QString &pack : entries) {
- const QString _metadata = ppath + QLatin1Char('/') + pack + QStringLiteral("/metadata.desktop");
+ const QString prefix = QStringLiteral("%1%2%3%4metadata.").arg(ppath, QDir::separator(), pack, QDir::separator());
+
+ QString _metadata = QStringLiteral("%1json").arg(prefix);
+ if (QFile::exists(_metadata)) {
+ themes << _metadata;
+ continue;
+ }
+
+ _metadata = QStringLiteral("%1desktop").arg(prefix);
if (QFile::exists(_metadata)) {
themes << _metadata;
}
--
GitLab
|