summaryrefslogtreecommitdiff
path: root/apps/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/apps/menu.c b/apps/menu.c
index 8e96cc4edf..c657c2c1ca 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -282,10 +282,34 @@ bool do_setting_from_menu(const struct menu_item_ex *temp)
282 temp->variable, 282 temp->variable,
283 &setting_id); 283 &setting_id);
284 char *title; 284 char *title;
285 char padded_title[MAX_PATH];
285 if ((temp->flags&MENU_TYPE_MASK) == MT_SETTING_W_TEXT) 286 if ((temp->flags&MENU_TYPE_MASK) == MT_SETTING_W_TEXT)
286 title = temp->callback_and_desc->desc; 287 title = temp->callback_and_desc->desc;
287 else 288 else
288 title = ID2P(setting->lang_id); 289 title = ID2P(setting->lang_id);
290
291 /* this is needed so the scroll settings title
292 can actually be used to test the setting */
293 if (setting->flags&F_PADTITLE)
294 {
295 int i = 0, len;
296 if (setting->lang_id == -1)
297 title = (char*)setting->cfg_vals;
298 else
299 title = P2STR((unsigned char*)title);
300 len = strlen(title);
301 while (i<MAX_PATH)
302 {
303 strncpy(&padded_title[i], title,
304 len<MAX_PATH-1-i?len:MAX_PATH-1-i);
305 i += len;
306 if (i<MAX_PATH-1)
307 padded_title[i++] = ' ';
308 }
309 padded_title[i] = '\0';
310 title = padded_title;
311 }
312
289 option_screen((struct settings_list *)setting, 313 option_screen((struct settings_list *)setting,
290 setting->flags&F_TEMPVAR, title); 314 setting->flags&F_TEMPVAR, title);
291 return false; 315 return false;