equal
deleted
inserted
replaced
22 #include "window_func.h" |
22 #include "window_func.h" |
23 #include "vehicle_base.h" |
23 #include "vehicle_base.h" |
24 #include "core/alloc_func.hpp" |
24 #include "core/alloc_func.hpp" |
25 #include "string_func.h" |
25 #include "string_func.h" |
26 #include "gfx_func.h" |
26 #include "gfx_func.h" |
|
27 #include "widgets/dropdown_type.h" |
27 #include "widgets/dropdown_func.h" |
28 #include "widgets/dropdown_func.h" |
28 |
29 |
29 #include "table/sprites.h" |
30 #include "table/sprites.h" |
30 #include "table/strings.h" |
31 #include "table/strings.h" |
31 |
32 |
155 GAMEOPT_FULLSCREEN, |
156 GAMEOPT_FULLSCREEN, |
156 GAMEOPT_SCREENSHOT_TXT = 30, |
157 GAMEOPT_SCREENSHOT_TXT = 30, |
157 GAMEOPT_SCREENSHOT_BTN, |
158 GAMEOPT_SCREENSHOT_BTN, |
158 }; |
159 }; |
159 |
160 |
|
161 /** |
|
162 * Update/redraw the languages dropdown |
|
163 * @param w the window the dropdown belongs to |
|
164 */ |
|
165 static void ShowLangDropdown(Window *w) |
|
166 { |
|
167 typedef std::map<StringID, int, StringIDCompare> LangList; |
|
168 |
|
169 /* Sort language names */ |
|
170 LangList langs; |
|
171 for (int i = 0; i < _dynlang.num; i++) langs[SPECSTR_LANGUAGE_START + i] = i; |
|
172 |
|
173 DropDownList *list = new DropDownList(); |
|
174 for (LangList::iterator it = langs.begin(); it != langs.end(); it++) { |
|
175 list->push_back(new DropDownListStringItem((*it).first, (*it).second, false)); |
|
176 } |
|
177 |
|
178 ShowDropDownList(w, list, _dynlang.curr, GAMEOPT_LANG_BTN); |
|
179 } |
|
180 |
160 static void ShowCustCurrency(); |
181 static void ShowCustCurrency(); |
161 |
182 |
162 static void GameOptionsWndProc(Window *w, WindowEvent *e) |
183 static void GameOptionsWndProc(Window *w, WindowEvent *e) |
163 { |
184 { |
164 switch (e->event) { |
185 switch (e->event) { |
226 |
247 |
227 case GAMEOPT_VEHICLENAME_SAVE: /* Save customized vehicle-names to disk */ |
248 case GAMEOPT_VEHICLENAME_SAVE: /* Save customized vehicle-names to disk */ |
228 break; // not implemented |
249 break; // not implemented |
229 |
250 |
230 case GAMEOPT_LANG_TXT: case GAMEOPT_LANG_BTN: /* Setup interface language dropdown */ |
251 case GAMEOPT_LANG_TXT: case GAMEOPT_LANG_BTN: /* Setup interface language dropdown */ |
231 ShowDropDownMenu(w, _dynlang.dropdown, _dynlang.curr, GAMEOPT_LANG_BTN, 0, 0); |
252 ShowLangDropdown(w); |
232 break; |
253 break; |
233 |
254 |
234 case GAMEOPT_RESOLUTION_TXT: case GAMEOPT_RESOLUTION_BTN: /* Setup resolution dropdown */ |
255 case GAMEOPT_RESOLUTION_TXT: case GAMEOPT_RESOLUTION_BTN: /* Setup resolution dropdown */ |
235 ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), GAMEOPT_RESOLUTION_BTN, 0, 0); |
256 ShowDropDownMenu(w, BuildDynamicDropdown(SPECSTR_RESOLUTION_START, _num_resolutions), GetCurRes(), GAMEOPT_RESOLUTION_BTN, 0, 0); |
236 break; |
257 break; |