diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2008-09-28 13:55:40 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2008-09-28 13:55:40 +0000 |
commit | bc22f2e7d4cd4089fc689c85eb4e12faa17c6cdf (patch) | |
tree | b225f3d9fecf90291d8d9601f2d91dfa37ecb652 /amiga/gui.c | |
parent | 9c36d71ab89c8768dfe05cbf91f453282fc8baf9 (diff) | |
download | netsurf-bc22f2e7d4cd4089fc689c85eb4e12faa17c6cdf.tar.gz netsurf-bc22f2e7d4cd4089fc689c85eb4e12faa17c6cdf.tar.bz2 |
Treeview window event handling (currently just double-clicking hotlist items and
closing the window)
svn path=/trunk/netsurf/; revision=5453
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index a249498b3..57b2dd478 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -404,6 +404,7 @@ void ami_handle_msg(void) struct nsObject *nnode; struct gui_window *gwin,*destroywin=NULL; struct MenuItem *item; + struct InputEvent *ie; node = (struct nsObject *)window_list->mlh_Head; @@ -411,6 +412,19 @@ void ami_handle_msg(void) { gwin = node->objstruct; + if(node->Type == AMINS_TVWINDOW) + { + if(ami_tree_event((struct treeviw_window *)gwin)) + { + break; + } + else + { + node = nnode; + continue; + } + } + while((result = RA_HandleInput(gwin->objects[OID_MAIN],&code)) != WMHI_LASTMSG) { @@ -588,6 +602,8 @@ void ami_handle_msg(void) case WMHI_RAWKEY: storage = result & WMHI_GADGETMASK; + + GetAttr(WINDOW_InputEvent,gwin->objects[OID_MAIN],(ULONG *)&ie); switch(storage) { case RAWKEY_CRSRUP: @@ -633,17 +649,7 @@ void ami_handle_msg(void) break; case WMHI_CLOSEWINDOW: - switch(node->Type) - { - case AMINS_TVWINDOW: - ami_tree_close((struct treeview_window *)gwin); - break; - - default: - browser_window_destroy(gwin->bw); - break; - } - //destroywin=gwin; + browser_window_destroy(gwin->bw); break; case WMHI_INTUITICK: |