20#include <qpa/qplatformtheme.h>
21#include <QtCore/QString>
22#include <QtCore/QStringList>
24#include <QtCore/private/qglobal_p.h>
29class Q_GUI_EXPORT
QKdeTheme :
public QGenericUnixTheme
31 Q_DECLARE_PRIVATE(QKdeTheme)
33 explicit QKdeTheme(
const QStringList& kdeDirs,
int kdeVersion);
34 ~QKdeTheme() override;
36 static QPlatformTheme *createKdeTheme();
37 QVariant themeHint(ThemeHint hint)
const override;
39 QIcon fileIcon(
const QFileInfo &fileInfo,
40 QPlatformTheme::IconOptions iconOptions = { })
const override;
42 const QPalette *palette(Palette type = SystemPalette)
const override;
43 Qt::ColorScheme colorScheme()
const override;
44 void requestColorScheme(Qt::ColorScheme scheme) override;
46 const QFont *font(Font type)
const override;
48 QPlatformMenuBar *createPlatformMenuBar()
const override;
50#if QT_CONFIG(dbus) && QT_CONFIG(systemtrayicon)
51 QPlatformSystemTrayIcon *createPlatformSystemTrayIcon()
const override;
54 static const char *name;
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
void clearKdeSettings() const
const QStringList kdeDirs
static QString kdeGlobals(const QString &kdeDir, int kdeVersion)
bool showIconsOnPushButtons
Qt::ColorScheme m_colorScheme
Qt::ColorScheme m_requestedColorScheme
QString iconFallbackThemeName
QVariant readKdeSetting(KdeSetting s) const
@ ViewBackgroundAlternate
static QVariant readKdeSetting(KdeSetting s, const QStringList &kdeDirs, int kdeVersion, QHash< QString, QSettings * > &settings)
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).
Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core")
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)