00001 #ifndef THEMEINFO_H 00002 #define THEMEINFO_H 00003 00004 #include <QString> 00005 #include <QSize> 00006 #include <QMetaType> 00007 #include <QHash> 00008 #include <QFileInfo> 00009 00010 #include "mythuiexp.h" 00011 00012 #include "xmlparsebase.h" // for VERBOSE_XML && Xml Parsing helpers 00013 00014 typedef enum { 00015 THEME_UNKN = 0x00, 00016 THEME_UI = 0x01, 00017 THEME_OSD = 0x02, 00018 THEME_MENU = 0x04 00019 } ThemeType; 00020 00021 class MUI_PUBLIC ThemeInfo : public XMLParseBase 00022 { 00023 public: 00024 ThemeInfo(QString theme); 00025 ~ThemeInfo(); 00026 00027 bool IsWide() const; 00028 QString GetAspect() const { return m_aspect; } 00029 const QSize *GetBaseRes() const { return &m_baseres; } 00030 QString GetName() const { return m_name; } 00031 QString GetDescription() const { return m_description; } 00032 QString GetErrata() const { return m_errata; } 00033 QString GetPreviewPath() const { return m_previewpath; } 00034 int GetType() const { return m_type; } 00035 int GetMajorVersion() const { return m_majorver; } 00036 int GetMinorVersion() const { return m_minorver; } 00037 00038 QString GetDownloadURL() const { return m_downloadurl; } 00039 QString GetThemeWebSite() const { return m_themesite; } 00040 00041 QString GetLocalURL() const { return m_themeurl; } 00042 QString GetDirectoryName() const { return m_theme.baseName(); } 00043 00044 void ToMap(QHash<QString, QString> &infoMap) const; 00045 00046 private: 00047 bool parseThemeInfo(); 00048 00049 QString m_themeurl; 00050 QFileInfo m_theme; 00051 int m_type; 00052 QString m_aspect; 00053 QSize m_baseres; 00054 QString m_name; 00055 QString m_previewpath; 00056 QString m_description; 00057 QString m_errata; 00058 int m_majorver; 00059 int m_minorver; 00060 00061 QString m_authorName; 00062 QString m_authorEmail; 00063 00064 QString m_downloadurl; // URL to download theme package from 00065 QString m_themesite; // Theme's website 00066 }; 00067 00068 Q_DECLARE_METATYPE(ThemeInfo*) 00069 00070 #endif
1.6.3