parent
3c10fe6ce7
commit
74e19ae25f
@ -0,0 +1,163 @@
|
|||||||
|
From 5a5d7b57fee23d934d90989133f870404557ff6f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Cullmann <cullmann@kde.org>
|
||||||
|
Date: Mon, 29 Mar 2021 19:41:56 +0200
|
||||||
|
Subject: [PATCH 1/2] Revert "add private header to avoid extern in .cpp file"
|
||||||
|
|
||||||
|
This reverts commit bd648dd0755d03dc01b267b3cdcec09b045da696.
|
||||||
|
---
|
||||||
|
src/kiconloader.cpp | 7 ++-----
|
||||||
|
src/kicontheme.cpp | 4 +++-
|
||||||
|
src/kicontheme_p.h | 19 -------------------
|
||||||
|
3 files changed, 5 insertions(+), 25 deletions(-)
|
||||||
|
delete mode 100644 src/kicontheme_p.h
|
||||||
|
|
||||||
|
diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp
|
||||||
|
index 3a6bf2b..33c378b 100644
|
||||||
|
--- a/src/kiconloader.cpp
|
||||||
|
+++ b/src/kiconloader.cpp
|
||||||
|
@@ -11,7 +11,6 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "kiconloader.h"
|
||||||
|
-#include "kicontheme_p.h"
|
||||||
|
|
||||||
|
// kdecore
|
||||||
|
#include <KConfigGroup>
|
||||||
|
@@ -384,6 +383,8 @@ public:
|
||||||
|
bool mCustomPalette = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
+extern void initRCCIconTheme();
|
||||||
|
+
|
||||||
|
class KIconLoaderGlobalData : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
@@ -391,10 +392,6 @@ class KIconLoaderGlobalData : public QObject
|
||||||
|
public:
|
||||||
|
KIconLoaderGlobalData()
|
||||||
|
{
|
||||||
|
- // we trigger the rcc loading & fallback theme setting here instead of the old way via Q_COREAPP_STARTUP_FUNCTION
|
||||||
|
- // so that loading the icon engine plugin doesn't trigger changing the icon theme while loading the first icon
|
||||||
|
- // if nothing else initialized this before.
|
||||||
|
-
|
||||||
|
// ensure we load rcc files for application bundles (+ setup their theme)
|
||||||
|
initRCCIconTheme();
|
||||||
|
|
||||||
|
diff --git a/src/kicontheme.cpp b/src/kicontheme.cpp
|
||||||
|
index af9fd81..8e499d2 100644
|
||||||
|
--- a/src/kicontheme.cpp
|
||||||
|
+++ b/src/kicontheme.cpp
|
||||||
|
@@ -10,7 +10,6 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "kicontheme.h"
|
||||||
|
-#include "kicontheme_p.h"
|
||||||
|
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
@@ -33,6 +32,9 @@
|
||||||
|
|
||||||
|
Q_GLOBAL_STATIC(QString, _themeOverride)
|
||||||
|
|
||||||
|
+// Support for icon themes in RCC files.
|
||||||
|
+// The intended use case is standalone apps on Windows / MacOS / etc.
|
||||||
|
+// For this reason we use AppDataLocation: BINDIR/data on Windows, Resources on OS X
|
||||||
|
void initRCCIconTheme()
|
||||||
|
{
|
||||||
|
const QString iconThemeRcc = QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("icontheme.rcc"));
|
||||||
|
diff --git a/src/kicontheme_p.h b/src/kicontheme_p.h
|
||||||
|
deleted file mode 100644
|
||||||
|
index eea889f..0000000
|
||||||
|
--- a/src/kicontheme_p.h
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,19 +0,0 @@
|
||||||
|
-/*
|
||||||
|
- This file is part of the KDE libraries
|
||||||
|
- SPDX-FileCopyrightText: 2021 Christoph Cullmann <cullmann@kde.org>
|
||||||
|
-
|
||||||
|
- SPDX-License-Identifier: LGPL-2.0-or-later
|
||||||
|
-*/
|
||||||
|
-
|
||||||
|
-#ifndef KICONTHEME_P_H
|
||||||
|
-#define KICONTHEME_P_H
|
||||||
|
-
|
||||||
|
-/**
|
||||||
|
- * Support for icon themes in RCC files.
|
||||||
|
- * The intended use case is standalone apps on Windows / MacOS / etc.
|
||||||
|
- * For this reason we use AppDataLocation: BINDIR/data on Windows, Resources on OS X.
|
||||||
|
- * Will be triggered by KIconLoaderGlobalData construction.
|
||||||
|
- */
|
||||||
|
-void initRCCIconTheme();
|
||||||
|
-
|
||||||
|
-#endif
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
||||||
|
|
||||||
|
From e4fb7dda788e5dc44ada56f089053453f3ff0c1c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christoph Cullmann <cullmann@kde.org>
|
||||||
|
Date: Mon, 29 Mar 2021 19:42:15 +0200
|
||||||
|
Subject: [PATCH 2/2] Revert "avoid race condition on loading the plugin"
|
||||||
|
|
||||||
|
This reverts commit 65ee2fac5eae6f69a6c72b315f0e5d702f1c4493.
|
||||||
|
---
|
||||||
|
src/kiconloader.cpp | 12 ------------
|
||||||
|
src/kicontheme.cpp | 12 ++++++++++++
|
||||||
|
2 files changed, 12 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp
|
||||||
|
index 33c378b..f608966 100644
|
||||||
|
--- a/src/kiconloader.cpp
|
||||||
|
+++ b/src/kiconloader.cpp
|
||||||
|
@@ -383,8 +383,6 @@ public:
|
||||||
|
bool mCustomPalette = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
-extern void initRCCIconTheme();
|
||||||
|
-
|
||||||
|
class KIconLoaderGlobalData : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
@@ -392,16 +390,6 @@ class KIconLoaderGlobalData : public QObject
|
||||||
|
public:
|
||||||
|
KIconLoaderGlobalData()
|
||||||
|
{
|
||||||
|
- // ensure we load rcc files for application bundles (+ setup their theme)
|
||||||
|
- initRCCIconTheme();
|
||||||
|
-
|
||||||
|
- // Set the icon theme fallback to breeze
|
||||||
|
- // Most of our apps use "lots" of icons that most of the times
|
||||||
|
- // are only available with breeze, we still honour the user icon
|
||||||
|
- // theme but if the icon is not found there, we go to breeze
|
||||||
|
- // since it's almost sure it'll be there
|
||||||
|
- QIcon::setFallbackThemeName(QStringLiteral("breeze"));
|
||||||
|
-
|
||||||
|
const QStringList genericIconsFiles = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("mime/generic-icons"));
|
||||||
|
// qCDebug(KICONTHEMES) << genericIconsFiles;
|
||||||
|
for (const QString &file : genericIconsFiles) {
|
||||||
|
diff --git a/src/kicontheme.cpp b/src/kicontheme.cpp
|
||||||
|
index 8e499d2..5be083d 100644
|
||||||
|
--- a/src/kicontheme.cpp
|
||||||
|
+++ b/src/kicontheme.cpp
|
||||||
|
@@ -57,7 +57,19 @@ void initRCCIconTheme()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+Q_COREAPP_STARTUP_FUNCTION(initRCCIconTheme)
|
||||||
|
|
||||||
|
+// Set the icon theme fallback to breeze
|
||||||
|
+// Most of our apps use "lots" of icons that most of the times
|
||||||
|
+// are only available with breeze, we still honour the user icon
|
||||||
|
+// theme but if the icon is not found there, we go to breeze
|
||||||
|
+// since it's almost sure it'll be there
|
||||||
|
+static void setBreezeFallback()
|
||||||
|
+{
|
||||||
|
+ QIcon::setFallbackThemeName(QStringLiteral("breeze"));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+Q_COREAPP_STARTUP_FUNCTION(setBreezeFallback)
|
||||||
|
class KIconThemeDir;
|
||||||
|
class KIconThemePrivate
|
||||||
|
{
|
||||||
|
--
|
||||||
|
GitLab
|
Loading…
Reference in new issue