summaryrefslogtreecommitdiff
path: root/amiga/ctxmenu.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2016-01-31 17:58:27 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2016-01-31 17:58:27 +0000
commitcd0bcc421a2ae5a4bf64f4e21c92a0004ef7ece8 (patch)
tree95c40cb2c6907de7eae5b3507e77c69d1c9c104d /amiga/ctxmenu.c
parentcc0abb66b092f2198e1931ee6921fe79da4ed94d (diff)
downloadnetsurf-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.c14
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;
}