diff options
Diffstat (limited to 'riscos/theme.c')
-rw-r--r-- | riscos/theme.c | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/riscos/theme.c b/riscos/theme.c index b5c5d8eb5..a2b893266 100644 --- a/riscos/theme.c +++ b/riscos/theme.c @@ -588,9 +588,9 @@ bool ro_gui_theme_apply(struct theme_descriptor *descriptor) /* apply the theme to all the current windows */ ro_gui_window_update_theme(); - ro_gui_cookies_update_theme(); - ro_gui_global_history_update_theme(); - ro_gui_hotlist_update_theme(); + ro_gui_cookies_update_theme(true); + ro_gui_global_history_update_theme(true); + ro_gui_hotlist_update_theme(true); ro_gui_theme_close(theme_previous, false); return true; } @@ -1600,6 +1600,30 @@ void ro_gui_theme_destroy_toolbar(struct toolbar *toolbar) /** + * Refresh a toolbar after it has been updated + * + * \param toolbar the toolbar to update + */ +void ro_gui_theme_refresh_toolbar(struct toolbar *toolbar) +{ + assert(toolbar); + + toolbar->reformat_buttons = true; + ro_gui_theme_process_toolbar(toolbar, -1); + if (toolbar->type == THEME_BROWSER_TOOLBAR) { + gui_window_update_extent(ro_gui_window_lookup( + current_menu_window)); + } else if (toolbar->type == THEME_HOTLIST_TOOLBAR) { + ro_gui_hotlist_update_theme(false); + } else if (toolbar->type == THEME_HISTORY_TOOLBAR) { + ro_gui_global_history_update_theme(false); + } else if (toolbar->type == THEME_COOKIES_TOOLBAR) { + ro_gui_cookies_update_theme(false); + } +} + + +/** * Toggles the toolbar editing mode * * \param toolbar the toolbar to toggle editing for |