Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qkdetheme_p.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QKDETHEME_P_H
6#define QKDETHEME_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
20#include <qpa/qplatformtheme.h>
21#include <QtCore/QString>
22#include <QtCore/QStringList>
23#include <QtGui/QFont>
24#include <QtCore/private/qglobal_p.h>
25
27
29class Q_GUI_EXPORT QKdeTheme : public QGenericUnixTheme
30{
31 Q_DECLARE_PRIVATE(QKdeTheme)
32public:
33 explicit QKdeTheme(const QStringList& kdeDirs, int kdeVersion);
34 ~QKdeTheme() override;
35
36 static QPlatformTheme *createKdeTheme();
37 QVariant themeHint(ThemeHint hint) const override;
38
39 QIcon fileIcon(const QFileInfo &fileInfo,
40 QPlatformTheme::IconOptions iconOptions = { }) const override;
41
42 const QPalette *palette(Palette type = SystemPalette) const override;
43 Qt::ColorScheme colorScheme() const override;
44 void requestColorScheme(Qt::ColorScheme scheme) override;
45
46 const QFont *font(Font type) const override;
47#if QT_CONFIG(dbus)
48 QPlatformMenuBar *createPlatformMenuBar() const override;
49#endif
50#if QT_CONFIG(dbus) && QT_CONFIG(systemtrayicon)
51 QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const override;
52#endif
53
54 static const char *name;
55};
56
57QT_END_NAMESPACE
58#endif // QKDETHEME_P_H
static QFont * kdeFont(const QVariant &fontValue)
static QStringList kdeIconThemeSearchPaths(const QStringList &kdeDirs)
std::unique_ptr< QPalette > systemPalette
void updateColorScheme(const QString &themeName)
QKdeTheme::updateColorScheme - guess and set a color scheme for unix themes. KDE themes do not have a...
bool hasRequestedColorScheme() const
QStringList styleNames
Definition qkdetheme.cpp:93
QString iconThemeName
Definition qkdetheme.cpp:91
void clearKdeSettings() const
const QStringList kdeDirs
Definition qkdetheme.cpp:88
static QString kdeGlobals(const QString &kdeDir, int kdeVersion)
Definition qkdetheme.cpp:73
bool showIconsOnPushButtons
Definition qkdetheme.cpp:97
Qt::ColorScheme m_colorScheme
Qt::ColorScheme m_requestedColorScheme
QString iconFallbackThemeName
Definition qkdetheme.cpp:92
QVariant readKdeSetting(KdeSetting s) const
static QVariant readKdeSetting(KdeSetting s, const QStringList &kdeDirs, int kdeVersion, QHash< QString, QSettings * > &settings)
const int kdeVersion
Definition qkdetheme.cpp:89
QFont * fonts[QPlatformTheme::NFonts]
QKdeThemePrivate(const QStringList &kdeDirs, int kdeVersion)
static void readKdeSystemPalette(const QStringList &kdeDirs, int kdeVersion, QHash< QString, QSettings * > &kdeSettings, QPalette *pal)
QKdeTheme is a theme implementation for the KDE desktop (version 4 or higher).
Definition qkdetheme_p.h:30
Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core")
#define CASE(E, member)
static constexpr QLatin1StringView settingsKey(QKdeThemePrivate::KdeSetting setting)
static constexpr QKdeThemePrivate::KdeSettingType settingsType(QKdeThemePrivate::KdeSetting setting)
static constexpr QLatin1StringView settingsPrefix(QKdeThemePrivate::KdeSettingType type)
static bool kdeColor(QPalette *pal, QPalette::ColorRole role, const QVariant &value)