diff options
Diffstat (limited to 'apps/menus/theme_menu.c')
-rw-r--r-- | apps/menus/theme_menu.c | 19 |
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 | ||
168 | static 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 | ||
169 | static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item, | 178 | static 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 | ||
207 | MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL); | 216 | MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, list_update_callback); |
208 | MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL); | 217 | MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL); |
209 | MENUITEM_SETTING(statusbar, &global_settings.statusbar, | 218 | MENUITEM_SETTING(statusbar, &global_settings.statusbar, statusbar_callback); |
210 | statusbar_callback); | ||
211 | #ifdef HAVE_REMOTE_LCD | 219 | #ifdef HAVE_REMOTE_LCD |
212 | MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar, | 220 | MENUITEM_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 | |||
358 | static int showicons_callback(int action, | 365 | static 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); | |||
379 | MENUITEM_FUNCTION(browse_themes, MENU_FUNC_USEPARAM, | 386 | MENUITEM_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); |
382 | MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, NULL); | 389 | MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, list_update_callback); |
383 | #if LCD_DEPTH > 1 | 390 | #if LCD_DEPTH > 1 |
384 | MENUITEM_SETTING(sep_menu, &global_settings.list_separator_height, NULL); | 391 | MENUITEM_SETTING(sep_menu, &global_settings.list_separator_height, NULL); |
385 | #endif | 392 | #endif |