summaryrefslogtreecommitdiff
path: root/amiga/menu.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-05-17 09:55:28 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-05-17 09:55:28 +0000
commita3c357f4e602baa22a86601de6e63d11da757c47 (patch)
treeee3cbf7401aa43dd0d59eca644e5c66e1344171e /amiga/menu.c
parentfeb3568f216de15d979ed2c28a3a842870da6995 (diff)
downloadnetsurf-a3c357f4e602baa22a86601de6e63d11da757c47.tar.gz
netsurf-a3c357f4e602baa22a86601de6e63d11da757c47.tar.bz2
Allow Copy menu to copy the image currently displayed, if we aren't displaying text
Fix some warnings svn path=/trunk/netsurf/; revision=7520
Diffstat (limited to 'amiga/menu.c')
-rwxr-xr-xamiga/menu.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/amiga/menu.c b/amiga/menu.c
index a8f578b40..f7c7de80f 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -42,6 +42,9 @@
#include "desktop/textinput.h"
#include "amiga/search.h"
#include "amiga/history_local.h"
+#include "amiga/bitmap.h"
+#include "amiga/clipboard.h"
+#include "content/fetch.h"
BOOL menualreadyinit;
const char * const netsurf_version;
@@ -238,9 +241,9 @@ struct NewMenu *ami_create_menu(ULONG type)
if(!menualreadyinit)
{
ami_menu_scan(hotlist,menu);
- ami_menu_arexx_scan(menu);
+ ami_menu_arexx_scan(&menu);
- aslhookfunc.h_Entry = &ami_asl_mime_hook;
+ aslhookfunc.h_Entry = (void *)&ami_asl_mime_hook;
aslhookfunc.h_SubEntry = NULL;
aslhookfunc.h_Data = NULL;
@@ -553,8 +556,17 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
switch(itemnum)
{
case 0: // copy
- browser_window_key_press(gwin->bw, KEY_COPY_SELECTION);
- browser_window_key_press(gwin->bw, KEY_ESCAPE);
+ if(gwin->bw->current_content->type <= CONTENT_CSS)
+ {
+ browser_window_key_press(gwin->bw, KEY_COPY_SELECTION);
+ browser_window_key_press(gwin->bw, KEY_ESCAPE);
+ }
+ else if(gwin->bw->current_content->bitmap)
+ {
+ gwin->bw->current_content->bitmap->url = gwin->bw->current_content->url;
+ gwin->bw->current_content->bitmap->title = gwin->bw->current_content->title;
+ ami_easy_clipboard_bitmap(gwin->bw->current_content->bitmap);
+ }
break;
case 1: // paste