MythTV  master
themeinfo.h
Go to the documentation of this file.
1 #ifndef THEMEINFO_H
2 #define THEMEINFO_H
3 
4 #include <QString>
5 #include <QSize>
6 #include <QMetaType>
7 #include <QFileInfo>
8 
10 #include "libmythui/mythuiexp.h"
11 #include "libmythui/xmlparsebase.h" // for VERBOSE_XML && Xml Parsing helpers
12 
13 enum ThemeType {
14  THEME_UNKN = 0x00,
15  THEME_UI = 0x01,
16  THEME_OSD = 0x02,
17  THEME_MENU = 0x04
18 };
19 
21 {
22  public:
23  explicit ThemeInfo(const QString& theme);
24  ~ThemeInfo() = default;
25 
26  bool IsWide() const;
27  QString GetAspect() const { return m_aspect; }
28  QSize GetBaseRes() const { return m_baseres; }
29  QString GetName() const { return m_name; }
30  QString GetBaseTheme() const { return m_baseTheme; }
31  QString GetDescription() const { return m_description; }
32  QString GetErrata() const { return m_errata; }
33  QString GetPreviewPath() const { return m_previewpath; }
34  int GetType() const { return m_type; }
35  int GetMajorVersion() const { return m_majorver; }
36  int GetMinorVersion() const { return m_minorver; }
37 
38  QString GetDownloadURL() const { return m_downloadurl; }
39  QString GetThemeWebSite() const { return m_themesite; }
40 
41  QString GetLocalURL() const { return m_themeurl; }
42  QString GetDirectoryName() const { return m_theme.fileName(); }
43 
44  void ToMap(InfoMap &infoMap) const;
45 
46  private:
47  bool parseThemeInfo();
48 
49  QString m_themeurl;
50  QFileInfo m_theme;
51  QString m_baseTheme;
52  int m_type {THEME_UNKN};
53  QString m_aspect;
54  QSize m_baseres {800,600};
55  QString m_name;
56  QString m_previewpath;
57  QString m_description;
58  QString m_errata;
59  int m_majorver {0};
60  int m_minorver {0};
61 
62  QString m_authorName;
63  QString m_authorEmail;
64 
65  QString m_downloadurl; // URL to download theme package from
66  QString m_themesite; // Theme's website
67 };
68 
70 
71 #endif
ThemeInfo::m_themeurl
QString m_themeurl
Definition: themeinfo.h:49
ThemeInfo::m_name
QString m_name
Definition: themeinfo.h:55
ThemeInfo::GetErrata
QString GetErrata() const
Definition: themeinfo.h:32
MUI_PUBLIC
#define MUI_PUBLIC
Definition: mythuiexp.h:9
ThemeInfo::GetAspect
QString GetAspect() const
Definition: themeinfo.h:27
THEME_OSD
@ THEME_OSD
Definition: themeinfo.h:16
XMLParseBase
Definition: xmlparsebase.h:23
ThemeInfo::m_errata
QString m_errata
Definition: themeinfo.h:58
ThemeInfo::GetMinorVersion
int GetMinorVersion() const
Definition: themeinfo.h:36
ThemeInfo::GetDownloadURL
QString GetDownloadURL() const
Definition: themeinfo.h:38
THEME_UNKN
@ THEME_UNKN
Definition: themeinfo.h:14
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(StandardSetting *)
InfoMap
QHash< QString, QString > InfoMap
Definition: mythtypes.h:15
ThemeInfo::GetDescription
QString GetDescription() const
Definition: themeinfo.h:31
ThemeInfo::GetName
QString GetName() const
Definition: themeinfo.h:29
ThemeInfo::GetLocalURL
QString GetLocalURL() const
Definition: themeinfo.h:41
ThemeInfo::m_previewpath
QString m_previewpath
Definition: themeinfo.h:56
mythtypes.h
ThemeInfo::GetPreviewPath
QString GetPreviewPath() const
Definition: themeinfo.h:33
ThemeInfo::GetBaseTheme
QString GetBaseTheme() const
Definition: themeinfo.h:30
ThemeInfo
Definition: themeinfo.h:20
xmlparsebase.h
ThemeType
ThemeType
Definition: themeinfo.h:13
ThemeInfo::GetBaseRes
QSize GetBaseRes() const
Definition: themeinfo.h:28
ThemeInfo::m_authorName
QString m_authorName
Definition: themeinfo.h:62
ThemeInfo::GetType
int GetType() const
Definition: themeinfo.h:34
THEME_MENU
@ THEME_MENU
Definition: themeinfo.h:17
ThemeInfo::m_aspect
QString m_aspect
Definition: themeinfo.h:53
ThemeInfo::GetMajorVersion
int GetMajorVersion() const
Definition: themeinfo.h:35
ThemeInfo::m_authorEmail
QString m_authorEmail
Definition: themeinfo.h:63
ThemeInfo::m_description
QString m_description
Definition: themeinfo.h:57
ThemeInfo::GetThemeWebSite
QString GetThemeWebSite() const
Definition: themeinfo.h:39
ThemeInfo::m_downloadurl
QString m_downloadurl
Definition: themeinfo.h:65
THEME_UI
@ THEME_UI
Definition: themeinfo.h:15
ThemeInfo::GetDirectoryName
QString GetDirectoryName() const
Definition: themeinfo.h:42
ThemeInfo::m_themesite
QString m_themesite
Definition: themeinfo.h:66
mythuiexp.h
ThemeInfo::m_baseTheme
QString m_baseTheme
Definition: themeinfo.h:51
ThemeInfo::m_theme
QFileInfo m_theme
Definition: themeinfo.h:50