summaryrefslogtreecommitdiff
path: root/amiga/menu.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2010-04-24 19:05:53 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2010-04-24 19:05:53 +0000
commit90079085bb107bb921c3416e7ce20a409492f405 (patch)
tree4c3faf3f483c9b9d883c6ae3879115293a52c198 /amiga/menu.c
parented8759c2f2dbf00a5e871b0ddbdddf5d40574a7c (diff)
downloadnetsurf-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-xamiga/menu.c48
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);
+ }
+ }
+}