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
4#ifndef QKDETHEME_P_H
5#define QKDETHEME_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qgenericunixtheme_p.h"
19#include <qpa/qplatformtheme.h>
20#include <QtCore/QString>
21#include <QtCore/QStringList>
22#include <QtGui/QFont>
23#include <QtCore/private/qglobal_p.h>
24
25QT_BEGIN_NAMESPACE
26
27class QKdeThemePrivate;
28class Q_GUI_EXPORT QKdeTheme : public QGenericUnixTheme
29{
30 Q_DECLARE_PRIVATE(QKdeTheme)
31public:
32 explicit QKdeTheme(const QStringList& kdeDirs, int kdeVersion);
33 ~QKdeTheme() override;
34
35 static QPlatformTheme *createKdeTheme();
36 QVariant themeHint(ThemeHint hint) const override;
37
38 QIcon fileIcon(const QFileInfo &fileInfo,
39 QPlatformTheme::IconOptions iconOptions = { }) const override;
40
41 const QPalette *palette(Palette type = SystemPalette) const override;
42 Qt::ColorScheme colorScheme() const override;
43 void requestColorScheme(Qt::ColorScheme scheme) override;
44
45 const QFont *font(Font type) const override;
46#if QT_CONFIG(dbus)
47 QPlatformMenuBar *createPlatformMenuBar() const override;
48#endif
49#if QT_CONFIG(dbus) && QT_CONFIG(systemtrayicon)
50 QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const override;
51#endif
52
53 static const char *name;
54};
55
56QT_END_NAMESPACE
57#endif // QKDETHEME_P_H
58

source code of qtbase/src/gui/platform/unix/qkdetheme_p.h