diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-12-15 15:30:26 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-12-15 15:30:26 +0000 |
commit | 79b1496d3054a68cc5dcdf27677ed58667c099b3 (patch) | |
tree | 610bf87dab7fcbc26c7c9d09edef351c698a84e2 | |
parent | 2a42b028b2c407cdd796a487d738370ee96e7d9b (diff) | |
download | netsurf-79b1496d3054a68cc5dcdf27677ed58667c099b3.tar.gz netsurf-79b1496d3054a68cc5dcdf27677ed58667c099b3.tar.bz2 |
Update menu checked state
-rwxr-xr-x | amiga/menu.c | 36 | ||||
-rwxr-xr-x | amiga/menu.h | 3 |
2 files changed, 39 insertions, 0 deletions
diff --git a/amiga/menu.c b/amiga/menu.c index 3d9b98e16..76fa9e001 100755 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -601,6 +601,40 @@ void ami_menu_scan_2(struct tree *tree, struct node *root, WORD *gen, *gen = *gen - 1; } +void ami_menu_update_checked(struct gui_window_2 *gwin) +{ + struct Menu *menustrip; + + GetAttr(WINDOW_MenuStrip, gwin->objects[OID_MAIN], (ULONG *)&menustrip); + if(!menustrip) return; + + if(nsoption_bool(enable_javascript) == true) { + if((ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED) == 0) + ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED; + } else { + if(ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED) + ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED; + } + + if(nsoption_bool(foreground_images) == true) { + if((ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED) == 0) + ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED; + } else { + if(ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED) + ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED; + } + + if(nsoption_bool(background_images) == true) { + if((ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags & CHECKED) == 0) + ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags ^= CHECKED; + } else { + if(ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags & CHECKED) + ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags ^= CHECKED; + } + + ResetMenuStrip(gwin->win, menustrip); +} + void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c) { struct Window *win = g->shared->win; @@ -659,6 +693,8 @@ void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c) OffMenu(win,AMI_MENU_SAVEAS_IFF); } } + + ami_menu_update_checked(g->shared); } /* diff --git a/amiga/menu.h b/amiga/menu.h index da4a3aaa9..58628ac48 100755 --- a/amiga/menu.h +++ b/amiga/menu.h @@ -62,6 +62,9 @@ #define AMI_MENU_SELECTALL FULLMENUNUM(1,4,0) #define AMI_MENU_CLEAR FULLMENUNUM(1,5,0) #define AMI_MENU_FIND FULLMENUNUM(2,0,0) +#define AMI_MENU_FOREIMG FULLMENUNUM(2,8,0) +#define AMI_MENU_BACKIMG FULLMENUNUM(2,8,1) +#define AMI_MENU_JS FULLMENUNUM(2,9,0) /* A special value for ami_menu_window_close */ #define AMI_MENU_WINDOW_CLOSE_ALL (void *)1 |