GrantleeTheme

grantleetheme.h
1 /*
2  SPDX-FileCopyrightText: 2013-2022 Laurent Montel <[email protected]>
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 
15 class GrantleeThemeTest;
16 
17 namespace GrantleeTheme
18 {
19 class ThemeManager;
20 class ThemeManagerPrivate;
21 class ThemePrivate;
22 
23 /**
24  * @brief The Theme class
25  */
26 class GRANTLEETHEME_EXPORT Theme
27 {
28 public:
29  explicit Theme();
30  Theme(const Theme &other);
31  ~Theme();
32 
33  Q_REQUIRED_RESULT bool operator==(const Theme &other) const;
34  Theme &operator=(const Theme &other);
35 
36  Q_REQUIRED_RESULT bool isValid() const;
37 
38  Q_REQUIRED_RESULT QString description() const;
39  Q_REQUIRED_RESULT QString themeFilename() const;
40  Q_REQUIRED_RESULT QString name() const;
41  Q_REQUIRED_RESULT QStringList displayExtraVariables() const;
42  Q_REQUIRED_RESULT QString dirName() const;
43  Q_REQUIRED_RESULT QString absolutePath() const;
44  Q_REQUIRED_RESULT QString author() const;
45  Q_REQUIRED_RESULT QString authorEmail() const;
46 
47  void addThemePath(const QString &path);
48 
49  Q_REQUIRED_RESULT QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
50 
51  static void addPluginPath(const QString &path);
52 
53 private:
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 }
62 
The Theme class.
Definition: grantleetheme.h:26
The ThemeManager class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Wed Sep 28 2022 04:06:59 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.