GrantleeTheme

grantleetheme.h
1/*
2 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-or-later
5*/
6#pragma once
7
8#include "grantleetheme_export.h"
9
10#include <QSharedDataPointer>
11#include <QString>
12#include <QStringList>
13#include <QVariantHash>
14
15class GrantleeThemeTest;
16
17namespace GrantleeTheme
18{
19class ThemeManager;
20class ThemeManagerPrivate;
21class ThemePrivate;
22
23/**
24 * @brief The Theme class
25 */
26class GRANTLEETHEME_EXPORT Theme
27{
28public:
29 explicit Theme();
30 Theme(const Theme &other);
31 ~Theme();
32
33 [[nodiscard]] bool operator==(const Theme &other) const;
34 Theme &operator=(const Theme &other);
35
36 [[nodiscard]] bool isValid() const;
37
38 [[nodiscard]] QString description() const;
39 [[nodiscard]] QString themeFilename() const;
40 [[nodiscard]] QString name() const;
41 [[nodiscard]] QStringList displayExtraVariables() const;
42 [[nodiscard]] QString dirName() const;
43 [[nodiscard]] QString absolutePath() const;
44 [[nodiscard]] QString author() const;
45 [[nodiscard]] QString authorEmail() const;
46
47 void addThemePath(const QString &path);
48
49 [[nodiscard]] QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
50
51 static void addPluginPath(const QString &path);
52
53private:
54 friend class ::GrantleeThemeTest;
55 friend class ThemeManager;
56 friend class ThemeManagerPrivate;
57 Theme(const QString &themePath, const QString &dirName, const QString &defaultDesktopFileName);
58
60};
61}
The Theme class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:12:59 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.