summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--!NetSurf/Resources/de/Messages1
-rw-r--r--!NetSurf/Resources/en/Messages1
-rw-r--r--!NetSurf/Resources/fr/Messages1
-rw-r--r--!NetSurf/Resources/it/Messages1
-rw-r--r--!NetSurf/Resources/nl/Messages1
-rwxr-xr-xamiga/gui.c9
-rwxr-xr-xamiga/gui_options.c19
-rw-r--r--amiga/options.h3
8 files changed, 33 insertions, 3 deletions
diff --git a/!NetSurf/Resources/de/Messages b/!NetSurf/Resources/de/Messages
index 5f2bb6204..c71817f63 100644
--- a/!NetSurf/Resources/de/Messages
+++ b/!NetSurf/Resources/de/Messages
@@ -1406,6 +1406,7 @@ DownloadDir:Downloadverzeichnis
TabbedBrowsing:Registernavigation (Tabs)
TabActive:Neuen Tab im Hintergrund öffnen
TabMiddle:Mittlere Maustaste öffnet Tab
+TabLast:Open new tabs after all existing tabs
DownloadNotify:Downloadende melden
SearchWeb:Websuche
SearchURL:Suche über URL Leiste
diff --git a/!NetSurf/Resources/en/Messages b/!NetSurf/Resources/en/Messages
index fe8b27291..0fcfdce34 100644
--- a/!NetSurf/Resources/en/Messages
+++ b/!NetSurf/Resources/en/Messages
@@ -1427,6 +1427,7 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+TabLast:Open new tabs after all existing tabs
DownloadNotify:Notify on completion
SearchWeb:Web search
SearchURL:Search from URL bar
diff --git a/!NetSurf/Resources/fr/Messages b/!NetSurf/Resources/fr/Messages
index 904916fa0..3fe1abb65 100644
--- a/!NetSurf/Resources/fr/Messages
+++ b/!NetSurf/Resources/fr/Messages
@@ -1412,6 +1412,7 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+TabLast:Open new tabs after all existing tabs
DownloadNotify:Notify on completion
SearchWeb:Web search
SearchURL:Search from URL bar
diff --git a/!NetSurf/Resources/it/Messages b/!NetSurf/Resources/it/Messages
index 31f586650..3ca755a49 100644
--- a/!NetSurf/Resources/it/Messages
+++ b/!NetSurf/Resources/it/Messages
@@ -1414,6 +1414,7 @@ DownloadDir:Percorso predefinito per i trasferimenti
TabbedBrowsing:Navigazione a schede
TabActive:Apri in sottofondo le nuove schede aperte da un link
TabMiddle:Tasto centrale del mouse per l'apertura delle schede (Tab)
+TabLast:Open new tabs after all existing tabs
DownloadNotify:Notifica al completamento (Ringhio)
SearchWeb:Ricerca nel Web
SearchURL:Ricerca da barra URL
diff --git a/!NetSurf/Resources/nl/Messages b/!NetSurf/Resources/nl/Messages
index a382e86f4..f4c1747ab 100644
--- a/!NetSurf/Resources/nl/Messages
+++ b/!NetSurf/Resources/nl/Messages
@@ -1407,6 +1407,7 @@ DownloadDir:Initial download location
TabbedBrowsing:Tabbed browsing
TabActive:Open new tabs in background
TabMiddle:Middle mouse button opens tabs
+TabLast:Open new tabs after all existing tabs
DownloadNotify:Notify on completion
SearchWeb:Web search
SearchURL:Search from URL bar
diff --git a/amiga/gui.c b/amiga/gui.c
index ba6245feb..6e115c2d8 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2411,7 +2411,14 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
TNA_CloseGadget, TRUE,
TAG_DONE);
- AddTail(&gwin->shared->tab_list,gwin->tab_node);
+ if(option_new_tab_last)
+ {
+ AddTail(&gwin->shared->tab_list, gwin->tab_node);
+ }
+ else
+ {
+ Insert(&gwin->shared->tab_list, gwin->tab_node, clone->window->tab_node);
+ }
RefreshSetGadgetAttrs((struct Gadget *)gwin->shared->objects[GID_TABS],
gwin->shared->win, NULL,
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 83963257b..0f453439f 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -114,6 +114,7 @@ enum
GID_OPTS_DLDIR,
GID_OPTS_TAB_ACTIVE,
GID_OPTS_TAB_2,
+ GID_OPTS_TAB_LAST,
GID_OPTS_SEARCH_PROV,
GID_OPTS_CLIPBOARD,
GID_OPTS_CMENU_ENABLE,
@@ -280,6 +281,7 @@ void ami_gui_opts_setup(void)
gadlab[GID_OPTS_DLDIR] = (char *)ami_utf8_easy((char *)messages_get("DownloadDir"));
gadlab[GID_OPTS_TAB_ACTIVE] = (char *)ami_utf8_easy((char *)messages_get("TabActive"));
gadlab[GID_OPTS_TAB_2] = (char *)ami_utf8_easy((char *)messages_get("TabMiddle"));
+ gadlab[GID_OPTS_TAB_LAST] = (char *)ami_utf8_easy((char *)messages_get("TabLast"));
gadlab[GID_OPTS_SEARCH_PROV] = (char *)ami_utf8_easy((char *)messages_get("SearchProvider"));
gadlab[GID_OPTS_CLIPBOARD] = (char *)ami_utf8_easy((char *)messages_get("ClipboardUTF8"));
gadlab[GID_OPTS_CMENU_ENABLE] = (char *)ami_utf8_easy((char *)messages_get("Enable"));
@@ -1111,6 +1113,12 @@ void ami_gui_opts_open(void)
GA_Text, gadlab[GID_OPTS_TAB_ACTIVE],
GA_Selected, !option_new_tab_active,
CheckBoxEnd,
+ LAYOUT_AddChild, gow->objects[GID_OPTS_TAB_LAST] = CheckBoxObject,
+ GA_ID, GID_OPTS_TAB_LAST,
+ GA_RelVerify, TRUE,
+ GA_Text, gadlab[GID_OPTS_TAB_LAST],
+ GA_Selected, option_new_tab_last,
+ CheckBoxEnd,
LAYOUT_AddChild, gow->objects[GID_OPTS_TAB_2] = CheckBoxObject,
GA_ID, GID_OPTS_TAB_2,
GA_RelVerify, TRUE,
@@ -1118,10 +1126,11 @@ void ami_gui_opts_open(void)
GA_Selected, option_button_2_tab,
CheckBoxEnd,
LayoutEnd, // tabbed browsing
+ LAYOUT_AddChild,VGroupObject, // temp extra group
+ LAYOUT_BevelStyle, BVS_GROUP, // stolen from below
+ LAYOUT_Label, gadlab[GRP_OPTS_CONTEXTMENU], // and this
LAYOUT_AddChild,VGroupObject,
LAYOUT_SpaceOuter, TRUE,
- LAYOUT_BevelStyle, BVS_GROUP,
- LAYOUT_Label, gadlab[GRP_OPTS_CONTEXTMENU],
LAYOUT_AddChild, gow->objects[GID_OPTS_CMENU_ENABLE] = CheckBoxObject,
GA_ID, GID_OPTS_CMENU_ENABLE,
GA_RelVerify, TRUE,
@@ -1136,6 +1145,8 @@ void ami_gui_opts_open(void)
GA_Selected, option_sticky_context_menu,
CheckBoxEnd,
LayoutEnd, // context menus
+ CHILD_WeightedHeight, 0,
+ LayoutEnd, // temp extra group for spacing
LayoutEnd, // hgroup
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, HGroupObject,
@@ -1563,6 +1574,10 @@ void ami_gui_opts_use(void)
if(data) option_new_tab_active = false;
else option_new_tab_active = true;
+ GetAttr(GA_Selected,gow->objects[GID_OPTS_TAB_LAST],(ULONG *)&data);
+ if(data) option_new_tab_last = true;
+ else option_new_tab_last = false;
+
GetAttr(GA_Selected,gow->objects[GID_OPTS_TAB_2],(ULONG *)&data);
if(data) option_button_2_tab = true;
else option_button_2_tab = false;
diff --git a/amiga/options.h b/amiga/options.h
index dda6f5127..7101bbfe8 100644
--- a/amiga/options.h
+++ b/amiga/options.h
@@ -32,6 +32,7 @@ extern bool option_sticky_context_menu;
extern bool option_truecolour_mouse_pointers;
extern bool option_use_os_pointers;
extern bool option_new_tab_active;
+extern bool option_new_tab_last;
extern bool option_kiosk_mode;
extern char *option_search_engines_file;
extern char *option_search_ico_file;
@@ -79,6 +80,7 @@ bool option_sticky_context_menu = false; \
bool option_truecolour_mouse_pointers = false; \
bool option_use_os_pointers = true; \
bool option_new_tab_active = false; \
+bool option_new_tab_last = true; \
bool option_kiosk_mode = false; \
char *option_search_engines_file = 0; \
char *option_search_ico_file = 0; \
@@ -126,6 +128,7 @@ int option_amiga_ydpi = 72; \
{ "truecolour_mouse_pointers", OPTION_BOOL, &option_truecolour_mouse_pointers}, \
{ "os_mouse_pointers", OPTION_BOOL, &option_use_os_pointers}, \
{ "new_tab_is_active", OPTION_BOOL, &option_new_tab_active}, \
+{ "new_tab_last", OPTION_BOOL, &option_new_tab_last}, \
{ "kiosk_mode", OPTION_BOOL, &option_kiosk_mode}, \
{ "search_engines_file", OPTION_STRING, &option_search_engines_file }, \
{ "search_ico_file", OPTION_STRING, &option_search_ico_file }, \