Advanced Settings Panel
[pierogi] / pirmakenames.h
1 #ifndef PIRMAKENAMES_H
2 #define PIRMAKENAMES_H
3
4 class QComboBox;
5
6 // The list of brands currently known by Pierogi:
7 enum PIRMakeName{
8   Any_Make,
9   Acer_Make,
10   ADB_Make,
11   Admiral_Make,
12   Aiwa_Make,
13   Anitech_Make,
14   AOC_Make,
15   Apple_Make,
16   Arcam_Make,
17   Beko_Make,
18   BenQ_Make,
19   Blaupunkt_Make,
20   Bose_Make,
21   Bush_Make,
22   Cambridge_Make,
23   Canon_Make,
24   Changhong_Make,
25   Cisco_Make,
26   Compro_Make,
27   Creative_Make,
28   Crown_Make,
29   CrownMustang_Make,
30   Daewoo_Make,
31   Dell_Make,
32   Denon_Make,
33   DeutscheTelekom_Make,
34   DigitalStream_Make,
35   Directv_Make,
36   Dish_Make,
37   Dreambox_Make,
38   DSE_Make,
39   Dynex_Make,
40   Ei_Make,
41   Elgato_Make,
42   Emerson_Make,
43   Emtec_Make,
44   Epson_Make,
45   Fortec_Make,
46   Foxtel_Make,
47   Frontech_Make,
48   Gadmei_Make,
49   Genius_Make,
50   GoldStar_Make,
51   Goodmans_Make,
52   Grundig_Make,
53   Haier_Make,
54   Hantarex_Make,
55   HarmanKardon_Make,
56   Hauppauge_Make,
57   Hitachi_Make,
58   Homecast_Make,
59   HP_Make,
60   Huawei_Make,
61   Humax_Make,
62   Hyundai_Make,
63   IRobot_Make,
64   JVC_Make,
65   Kaon_Make,
66   Kathrein_Make,
67   Kenwood_Make,
68   Keymat_Make,
69   Konka_Make,
70   Lexuz_Make,
71   LG_Make,
72   Lifetec_Make,
73   Loewe_Make,
74   Logitech_Make,
75   Magnavox_Make,
76   Magnum_Make,
77   Medialink_Make,
78   Medion_Make,
79   Microsoft_Make,
80   Mitsubishi_Make,
81   Motorola_Make,
82   Multichoice_Make,
83   NAD_Make,
84   NEC_Make,
85   Nikon_Make,
86   Nokia_Make,
87   Octagon_Make,
88   Olympus_Make,
89   Onida_Make,
90   Onkyo_Make,
91   Orion_Make,
92   Panasonic_Make,
93   Pentax_Make,
94   Philco_Make,
95   Philips_Make,
96   Pinnacle_Make,
97   Pioneer_Make,
98   Proview_Make,
99   QNAP_Make,
100   Raite_Make,
101   RCA_Make,
102   Roku_Make,
103   Saba_Make,
104   Sagem_Make,
105   Samsung_Make,
106   Sanyo_Make,
107   Sharp_Make,
108   Sinotec_Make,
109   Sky_Make,
110   Sony_Make,
111   Starsat_Make,
112   Strong_Make,
113   Sylvania_Make,
114   Technics_Make,
115   Technisat_Make,
116   Telefunken_Make,
117   Telenet_Make,
118   Thomson_Make,
119   Tivo_Make,
120   Topfield_Make,
121   Toshiba_Make,
122   Triax_Make,
123   United_Make,
124   Universum_Make,
125   Vestel_Make,
126   Viewsat_Make,
127   Viewsonic_Make,
128   Virgin_Make,
129   Vizio_Make,
130   WD_Make,
131   Westinghouse_Make,
132   Wiwa_Make,
133   Xcruiser_Make,
134   Yamaha_Make,
135   Zenith_Make
136 };
137
138
139 // An object of convenience:
140
141 #include <map>
142 #include <QString>
143 typedef std::map<PIRMakeName, const char *> MakeCollection;
144 typedef std::map<QString, PIRMakeName> ReverseMakeCollection;
145
146 class PIRMakeMgr
147 {
148 public:
149   PIRMakeMgr();
150
151   const char *getMakeString(
152     PIRMakeName n);
153
154   PIRMakeName getMakeID(
155     QString name);
156
157   void populateComboBox(
158     QComboBox *cb);
159
160 private:
161   MakeCollection makes;
162   ReverseMakeCollection makeIDs;
163 };
164
165 #endif // PIRMAKENAMES_H