summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-11-03 23:17:57 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-11-03 23:17:57 +0000
commitdcbe08d458b69ab0ab7d5977dd2f1611671aefc0 (patch)
tree155fc3f46f90df22576e31077a1474adfd563000
parent54cd21ae0d9c8e1fa3e1642177aab98ebd4e74e7 (diff)
downloadnetsurf-dcbe08d458b69ab0ab7d5977dd2f1611671aefc0.tar.gz
netsurf-dcbe08d458b69ab0ab7d5977dd2f1611671aefc0.tar.bz2
PageUp/Down, Home/End etc page scrolling now working.
Most menu shortcuts now available even when the pointer is hovering over the browser window (menu disabled mode) RAmiga-R (reload page) and RAmiga-U (activate URL bar) available from keyboard shortcuts but not from the menu. This fixes unsat bug #81 svn path=/trunk/netsurf/; revision=9660
-rwxr-xr-xamiga/gui.c90
-rwxr-xr-xamiga/menu.c2
2 files changed, 91 insertions, 1 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index eed917c40..8fae9aeb5 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1214,6 +1214,32 @@ void ami_handle_msg(void)
* key presses. Context menus need to be changed to use MENUVERIFY not RMBTRAP */
switch(nskey)
{
+ case 'n':
+ if(option_kiosk_mode == false)
+ browser_window_create(gwin->bw->current_content->url,
+ gwin->bw, 0, true, false);
+ break;
+
+ case 't':
+ if(option_kiosk_mode == false)
+ browser_window_create(gwin->bw->current_content->url,
+ gwin->bw, 0, true, true);
+ break;
+
+ case 'k':
+ if(option_kiosk_mode == false)
+ browser_window_destroy(gwin->bw);
+ break;
+
+ case 'p':
+ ami_print_ui(gwin->bw->current_content);
+ break;
+
+ case 'q':
+ if(option_kiosk_mode == false)
+ ami_quit_netsurf();
+ break;
+
case 'a':
browser_window_key_press(gwin->bw, KEY_SELECT_ALL);
break;
@@ -1224,12 +1250,42 @@ void ami_handle_msg(void)
case 'v':
browser_window_key_press(gwin->bw, KEY_PASTE);
break;
+
+ case 'z':
+ browser_window_key_press(gwin->bw, KEY_CLEAR_SELECTION);
+ break;
+
+ case 'f':
+ ami_search_open(gwin->bw->window);
+ break;
+
+ case 'h':
+ if(option_kiosk_mode == false)
+ ami_open_tree(hotlist,AMI_TREE_HOTLIST);
+ break;
+
+/* The following aren't available from the menu at the moment */
+
+ case 'r': // reload
+ if(browser_window_reload_available(gwin->bw))
+ browser_window_reload(gwin->bw,false);
+ break;
+
+ case 'u': // open url
+ if(option_kiosk_mode == false)
+ ActivateGadget(gwin->gadgets[GID_URL],
+ gwin->win, NULL);
+ break;
}
}
else
{
if(!browser_window_key_press(gwin->bw, nskey))
{
+ GetAttr(SPACE_AreaBox,
+ gwin->gadgets[GID_BROWSER],
+ (ULONG *)&bbox);
+
gui_window_get_scroll(gwin->bw->window,
&gwin->bw->window->scrollx,
&gwin->bw->window->scrolly);
@@ -1259,6 +1315,40 @@ void ami_handle_msg(void)
gwin->bw->window->scrollx + 5,
gwin->bw->window->scrolly);
break;
+
+ case KEY_PAGE_UP:
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx,
+ gwin->bw->window->scrolly - bbox->Height);
+ break;
+
+ case KEY_PAGE_DOWN:
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx,
+ gwin->bw->window->scrolly + bbox->Height);
+ break;
+
+ case KEY_LINE_START: // page left
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx - bbox->Width,
+ gwin->bw->window->scrolly);
+ break;
+
+ case KEY_LINE_END: // page right
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->window->scrollx + bbox->Width,
+ gwin->bw->window->scrolly);
+ break;
+
+ case KEY_TEXT_START: // home
+ gui_window_set_scroll(gwin->bw->window, 0, 0);
+ break;
+
+ case KEY_TEXT_END: // end
+ gui_window_set_scroll(gwin->bw->window,
+ gwin->bw->current_content->width,
+ gwin->bw->current_content->height);
+ break;
}
}
}
diff --git a/amiga/menu.c b/amiga/menu.c
index f4c29839c..f80907ccd 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -615,7 +615,7 @@ void ami_menupick(ULONG code,struct gui_window_2 *gwin,struct MenuItem *item)
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);
+ browser_window_key_press(gwin->bw, KEY_CLEAR_SELECTION);
}
else if(gwin->bw->current_content->bitmap)
{