diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-01-31 17:58:27 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-01-31 17:58:27 +0000 |
commit | cd0bcc421a2ae5a4bf64f4e21c92a0004ef7ece8 (patch) | |
tree | 95c40cb2c6907de7eae5b3507e77c69d1c9c104d /amiga/ctxmenu.c | |
parent | cc0abb66b092f2198e1931ee6921fe79da4ed94d (diff) | |
download | netsurf-cd0bcc421a2ae5a4bf64f4e21c92a0004ef7ece8.tar.gz netsurf-cd0bcc421a2ae5a4bf64f4e21c92a0004ef7ece8.tar.bz2 |
Add an option to close inactive tabs to the tab bar context menu
Diffstat (limited to 'amiga/ctxmenu.c')
-rw-r--r-- | amiga/ctxmenu.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/amiga/ctxmenu.c b/amiga/ctxmenu.c index e9de27092..8d49d4f15 100644 --- a/amiga/ctxmenu.c +++ b/amiga/ctxmenu.c @@ -82,6 +82,7 @@ enum { /* Tabs */ AMI_CTX_ID_TABNEW, + AMI_CTX_ID_TABCLOSE_OTHER, AMI_CTX_ID_MAX }; @@ -251,6 +252,14 @@ HOOKF(void, ami_ctxmenu_item_tabnew, APTR, window, struct IntuiMessage *) ami_gui_new_blank_tab(gwin); } +HOOKF(void, ami_ctxmenu_item_tabclose_other, APTR, window, struct IntuiMessage *) +{ + struct gui_window_2 *gwin; + + GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin); + ami_gui_close_inactive_tabs(gwin); +} + /** Hook for history context menu entries **/ HOOKF(void, ami_ctxmenu_item_history, APTR, window, struct IntuiMessage *) { @@ -471,8 +480,10 @@ void ami_ctxmenu_init(void) ami_ctxmenu_alloc_item(AMI_CTX_ID_FRAMESHOW, "FrameOnly", NULL, "TBImages:list_preview", ami_ctxmenu_item_frameshow); - ami_ctxmenu_alloc_item(AMI_CTX_ID_TABNEW, "NewTab", "T", "TBImages:list_add", + ami_ctxmenu_alloc_item(AMI_CTX_ID_TABNEW, "NewTab", "T", "TBImages:list_tab", ami_ctxmenu_item_tabnew); + ami_ctxmenu_alloc_item(AMI_CTX_ID_TABCLOSE_OTHER, "CloseInactive", "K", "TBImages:list_cancel", + ami_ctxmenu_item_tabclose_other); } /******************************** @@ -582,6 +593,7 @@ struct Menu *ami_ctxmenu_clicktab_create(struct gui_window_2 *gwin) MEnd; ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABNEW, gwin); + ami_ctxmenu_add_item(root_menu, AMI_CTX_ID_TABCLOSE_OTHER, gwin); return (struct Menu *)gwin->clicktab_ctxmenu; } |