summaryrefslogtreecommitdiff
path: root/config.h
blob: 943f1d3007f89a594413fcd93da9b43bf6483727 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef __NOPACITY_CONFIG_H
#define __NOPACITY_CONFIG_H

enum eDisplayType {
    dtFlat = 0,
    dtBlending,
    dtGraphical
};

class cNopacityConfig {
    private:
        std::map<std::string, int> conf;
        std::map<std::string, std::map<std::string, int> > themeConfigDefaults;
        std::map<std::string, std::map<std::string, int> > themeConfigSetup;
        void LoadThemeConfig(cString confFile, cString theme);
        std::pair<std::string, int> ReadThemeConfigLine(const char *line);
        cString checkSlashAtEnd(std::string path);
    public:
        cNopacityConfig();
        ~cNopacityConfig();
        int GetValue(std::string name);
        int *GetValueRef(std::string name);
        std::map<std::string, int>::const_iterator GetStart(void) { return conf.begin(); };
        std::map<std::string, int>::const_iterator GetEnd(void) { return conf.end(); };
        bool SetupParse(const char *Name, const char *Value);
        void SetLogoPath(cString path);
        void SetIconPath(cString path);
        void SetEpgImagePath(cString path);
        bool logoPathSet;
        bool epgImagePathSet;
        bool iconPathSet;
        cString logoPathDefault;
        cString iconPathDefault;
        cString epgImagePathDefault;
        void LoadDefaults(void);
        void LoadThemeSpecificConfigs(void);
        void SetThemeSpecificDefaults(void);
        void SetThemeSetup(void);
        void SetPathes(void);
        void DumpConfig(void);
        void DumpThemeConfig(void);
        void SetFontName();
        const char *fontDefaultName;
        char *fontName;
        cString logoPath;
        cString logoExtension;
        cString iconPath;
        cString epgImagePath;
        bool mainMenuEntry;
};

#endif //__NOPACITY_CONFIG_H