From 4270e80d7a7f6aee0a3a8dc8ce2c13537fb8753a Mon Sep 17 00:00:00 2001 From: Chris Young Date: Fri, 3 Jun 2011 18:08:17 +0000 Subject: Make 4th mouse button go back in history, and 5th go forward. Untested. svn path=/trunk/netsurf/; revision=12453 --- amiga/gui.c | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'amiga/gui.c') diff --git a/amiga/gui.c b/amiga/gui.c index b431013b9..05ede31ce 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -125,6 +125,12 @@ #include #include +/* Extra mouse button defines to match those in intuition/intuition.h */ +#define SIDEUP (IECODE_4TH_BUTTON) +#define SIDEDOWN (IECODE_4TH_BUTTON | IECODE_UP_PREFIX) +#define EXTRAUP (IECODE_5TH_BUTTON) +#define EXTRADOWN (IECODE_5TH_BUTTON | IECODE_UP_PREFIX) + char *default_stylesheet_url; char *quirks_stylesheet_url; char *adblock_stylesheet_url; @@ -790,6 +796,22 @@ int main(int argc, char** argv) return 0; } +void ami_gui_history(struct gui_window_2 *gwin, bool back) +{ + if(back == true) + { + if(browser_window_back_available(gwin->bw)) + history_back(gwin->bw, gwin->bw->history); + } + else + { + if(browser_window_forward_available(gwin->bw)) + history_forward(gwin->bw, gwin->bw->history); + } + + ami_update_buttons(gwin); +} + int ami_key_to_nskey(ULONG keycode, struct InputEvent *ie) { int nskey = 0, chars; @@ -1264,6 +1286,14 @@ void ami_handle_msg(void) } gwin->mouse_state=0; break; + + case SIDEUP: + ami_gui_history(gwin, true); + break; + + case SIDEDOWN: + ami_gui_history(gwin, false); + break; } if(drag_save_data && !gwin->mouse_state) @@ -1350,21 +1380,11 @@ void ami_handle_msg(void) break; case GID_BACK: - if(browser_window_back_available(gwin->bw)) - { - history_back(gwin->bw,gwin->bw->history); - } - - ami_update_buttons(gwin); + ami_gui_history(gwin, true); break; case GID_FORWARD: - if(browser_window_forward_available(gwin->bw)) - { - history_forward(gwin->bw,gwin->bw->history); - } - - ami_update_buttons(gwin); + ami_gui_history(gwin, false); break; default: -- cgit v1.2.3