diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2010-04-24 19:05:53 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2010-04-24 19:05:53 +0000 |
commit | 90079085bb107bb921c3416e7ce20a409492f405 (patch) | |
tree | 4c3faf3f483c9b9d883c6ae3879115293a52c198 /amiga/menu.c | |
parent | ed8759c2f2dbf00a5e871b0ddbdddf5d40574a7c (diff) | |
download | netsurf-90079085bb107bb921c3416e7ce20a409492f405.tar.gz netsurf-90079085bb107bb921c3416e7ce20a409492f405.tar.bz2 |
Ensure menu state is correct when switching tabs
svn path=/trunk/netsurf/; revision=10476
Diffstat (limited to 'amiga/menu.c')
-rwxr-xr-x | amiga/menu.c | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/amiga/menu.c b/amiga/menu.c index e157fb627..37e6b9ab1 100755 --- a/amiga/menu.c +++ b/amiga/menu.c @@ -49,6 +49,7 @@ #include "amiga/gui_options.h" #include "amiga/print.h" #include "amiga/download.h" +#include <proto/intuition.h> BOOL menualreadyinit; const char * const netsurf_version; @@ -819,4 +820,49 @@ static const ULONG ami_asl_mime_hook(struct Hook *mh,struct FileRequester *fr,st free(mt); return ret; -} +} + +void ami_menu_update_disabled(struct Window *win, hlcache_handle *c) +{ + if(content_get_type(c) <= CONTENT_CSS) + { + OnMenu(win,AMI_MENU_SAVEAS_TEXT); + OnMenu(win,AMI_MENU_SAVEAS_COMPLETE); +#ifdef WITH_PDF_EXPORT + OnMenu(win,AMI_MENU_SAVEAS_PDF); +#endif + OnMenu(win,AMI_MENU_COPY); + OnMenu(win,AMI_MENU_PASTE); + OnMenu(win,AMI_MENU_SELECTALL); + OnMenu(win,AMI_MENU_CLEAR); + OnMenu(win,AMI_MENU_FIND); + OffMenu(win,AMI_MENU_SAVEAS_IFF); + } + else + { + OffMenu(win,AMI_MENU_SAVEAS_TEXT); + OffMenu(win,AMI_MENU_SAVEAS_COMPLETE); +#ifdef WITH_PDF_EXPORT + OffMenu(win,AMI_MENU_SAVEAS_PDF); +#endif + OffMenu(win,AMI_MENU_PASTE); + OffMenu(win,AMI_MENU_SELECTALL); + OffMenu(win,AMI_MENU_CLEAR); + OffMenu(win,AMI_MENU_FIND); + +#ifdef WITH_NS_SVG + if(content_get_bitmap(c) || content_get_type(c) == CONTENT_SVG) +#else + if(content_get_bitmap(c)) +#endif + { + OnMenu(win,AMI_MENU_COPY); + OnMenu(win,AMI_MENU_SAVEAS_IFF); + } + else + { + OffMenu(win,AMI_MENU_COPY); + OffMenu(win,AMI_MENU_SAVEAS_IFF); + } + } +} |