summaryrefslogtreecommitdiff
path: root/apps/menus/theme_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus/theme_menu.c')
-rw-r--r--apps/menus/theme_menu.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c
index 2a50ed44b5..61a6937e3c 100644
--- a/apps/menus/theme_menu.c
+++ b/apps/menus/theme_menu.c
@@ -165,6 +165,15 @@ MAKE_MENU(colors_settings, ID2P(LANG_COLORS_MENU),
165/* BARS MENU */ 165/* BARS MENU */
166/* */ 166/* */
167 167
168static int list_update_callback(int action,
169 const struct menu_item_ex *this_item,
170 struct gui_synclist *this_list)
171{
172 (void)this_item;
173 if (action == ACTION_EXIT_MENUITEM)
174 gui_synclist_init_display_settings(this_list);
175 return ACTION_REDRAW;
176}
168 177
169static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item, 178static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item,
170 enum screen_type screen) 179 enum screen_type screen)
@@ -204,10 +213,9 @@ static int statusbar_callback(int action,
204 return statusbar_callback_ex(action, this_item, SCREEN_MAIN); 213 return statusbar_callback_ex(action, this_item, SCREEN_MAIN);
205} 214}
206 215
207MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL); 216MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, list_update_callback);
208MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL); 217MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL);
209MENUITEM_SETTING(statusbar, &global_settings.statusbar, 218MENUITEM_SETTING(statusbar, &global_settings.statusbar, statusbar_callback);
210 statusbar_callback);
211#ifdef HAVE_REMOTE_LCD 219#ifdef HAVE_REMOTE_LCD
212MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar, 220MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar,
213 statusbar_callback_remote); 221 statusbar_callback_remote);
@@ -354,13 +362,11 @@ MENUITEM_FUNCTION(browse_rfms, MENU_FUNC_USEPARAM,
354#endif 362#endif
355#endif 363#endif
356 364
357
358static int showicons_callback(int action, 365static int showicons_callback(int action,
359 const struct menu_item_ex *this_item, 366 const struct menu_item_ex *this_item,
360 struct gui_synclist *this_list) 367 struct gui_synclist *this_list)
361{ 368{
362 (void)this_item; 369 (void)this_item;
363 (void)this_list;
364 static bool old_icons; 370 static bool old_icons;
365 switch (action) 371 switch (action)
366 { 372 {
@@ -370,6 +376,7 @@ static int showicons_callback(int action,
370 case ACTION_EXIT_MENUITEM: 376 case ACTION_EXIT_MENUITEM:
371 if (old_icons != global_settings.show_icons) 377 if (old_icons != global_settings.show_icons)
372 icons_init(); 378 icons_init();
379 gui_synclist_init_display_settings(this_list);
373 break; 380 break;
374 } 381 }
375 return ACTION_REDRAW; 382 return ACTION_REDRAW;
@@ -379,7 +386,7 @@ MENUITEM_SETTING(show_icons, &global_settings.show_icons, showicons_callback);
379MENUITEM_FUNCTION(browse_themes, MENU_FUNC_USEPARAM, 386MENUITEM_FUNCTION(browse_themes, MENU_FUNC_USEPARAM,
380 ID2P(LANG_CUSTOM_THEME), 387 ID2P(LANG_CUSTOM_THEME),
381 browse_folder, (void*)&themes, NULL, Icon_Config); 388 browse_folder, (void*)&themes, NULL, Icon_Config);
382MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, NULL); 389MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, list_update_callback);
383#if LCD_DEPTH > 1 390#if LCD_DEPTH > 1
384MENUITEM_SETTING(sep_menu, &global_settings.list_separator_height, NULL); 391MENUITEM_SETTING(sep_menu, &global_settings.list_separator_height, NULL);
385#endif 392#endif