Make the RISC OS front end foreground/background menu options work.

svn path=/trunk/netsurf/; revision=13333
This commit is contained in:
Michael Drake 2011-12-23 21:49:13 +00:00
parent 081217a321
commit 905df166b0
3 changed files with 16 additions and 18 deletions

View File

@ -100,7 +100,6 @@ struct gui_window {
/** Options. */ /** Options. */
struct { struct {
bool background_images; /**< Display background images. */
bool buffer_animations; /**< Use screen buffering for animations. */ bool buffer_animations; /**< Use screen buffering for animations. */
bool buffer_everything; /**< Use screen buffering for everything. */ bool buffer_everything; /**< Use screen buffering for everything. */
} option; } option;

View File

@ -32,6 +32,7 @@
#include "utils/config.h" #include "utils/config.h"
#include "content/content.h" #include "content/content.h"
#include "content/hlcache.h" #include "content/hlcache.h"
#include "desktop/options.h"
#include "desktop/plotters.h" #include "desktop/plotters.h"
#include "riscos/dialog.h" #include "riscos/dialog.h"
#include "riscos/menus.h" #include "riscos/menus.h"
@ -192,7 +193,7 @@ void ro_gui_print_prepare(struct gui_window *g)
printers_exists = false; printers_exists = false;
} }
print_bg_images = g->option.background_images; print_bg_images = option_background_images;
ro_gui_set_icon_selected_state(dialog_print, ICON_PRINT_TO_BOTTOM, ro_gui_set_icon_selected_state(dialog_print, ICON_PRINT_TO_BOTTOM,
true); true);
@ -273,9 +274,8 @@ bool ro_gui_print_apply(wimp_w w)
print_max_sheets = sheets; print_max_sheets = sheets;
else else
print_max_sheets = -1; print_max_sheets = -1;
ro_print_current_window->option.background_images = option_background_images = ro_gui_get_icon_selected_state(dialog_print,
ro_gui_get_icon_selected_state(dialog_print, ICON_PRINT_BG_IMAGES);
ICON_PRINT_BG_IMAGES);
print_send_printsave(ro_print_current_window->bw->current_content); print_send_printsave(ro_print_current_window->bw->current_content);
@ -521,9 +521,7 @@ void ro_print_dataload_bounce(wimp_message *m)
void ro_print_cleanup(void) void ro_print_cleanup(void)
{ {
if (ro_print_current_window) option_background_images = print_bg_images;
ro_print_current_window->option.background_images =
print_bg_images;
ro_print_current_window = NULL; ro_print_current_window = NULL;
print_text_black = false; print_text_black = false;
print_prev_message = 0; print_prev_message = 0;

View File

@ -2330,12 +2330,11 @@ bool ro_gui_window_menu_prepare(wimp_w w, wimp_i i, wimp_menu *menu,
/* View Submenu */ /* View Submenu */
ro_gui_menu_set_entry_shaded(menu, BROWSER_IMAGES_FOREGROUND, true); ro_gui_menu_set_entry_ticked(menu, BROWSER_IMAGES_FOREGROUND,
ro_gui_menu_set_entry_ticked(menu, BROWSER_IMAGES_FOREGROUND, true); g != NULL && option_foreground_images);
/* Not yet implemented. */
ro_gui_menu_set_entry_ticked(menu, BROWSER_IMAGES_BACKGROUND, ro_gui_menu_set_entry_ticked(menu, BROWSER_IMAGES_BACKGROUND,
g != NULL && g->option.background_images); g != NULL && option_background_images);
ro_gui_menu_set_entry_shaded(menu, BROWSER_BUFFER_ANIMS, ro_gui_menu_set_entry_shaded(menu, BROWSER_BUFFER_ANIMS,
g == NULL || g->option.buffer_everything); g == NULL || g->option.buffer_everything);
@ -2849,12 +2848,15 @@ bool ro_gui_window_menu_select(wimp_w w, wimp_i i, wimp_menu *menu,
case BROWSER_FIND_TEXT: case BROWSER_FIND_TEXT:
ro_gui_window_action_search(g); ro_gui_window_action_search(g);
break; break;
case BROWSER_IMAGES_FOREGROUND:
if (g != NULL)
option_foreground_images =
!option_foreground_images;
break;
case BROWSER_IMAGES_BACKGROUND: case BROWSER_IMAGES_BACKGROUND:
if (g != NULL) { if (g != NULL)
g->option.background_images = option_background_images =
!g->option.background_images; !option_background_images;
gui_window_redraw_window(g);
}
break; break;
case BROWSER_BUFFER_ANIMS: case BROWSER_BUFFER_ANIMS:
if (g != NULL) if (g != NULL)
@ -4447,7 +4449,6 @@ void ro_gui_window_clone_options(struct browser_window *new_bw,
*/ */
if (!old_gui) { if (!old_gui) {
new_bw->scale = ((float)option_scale) / 100; new_bw->scale = ((float)option_scale) / 100;
new_gui->option.background_images = option_background_images;
new_gui->option.buffer_animations = option_buffer_animations; new_gui->option.buffer_animations = option_buffer_animations;
new_gui->option.buffer_everything = option_buffer_everything; new_gui->option.buffer_everything = option_buffer_everything;
} else { } else {