summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2014-01-03 18:17:25 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2014-01-03 18:17:25 +0000
commitc25728b01179b8e53f8022d14363b8a81a8c25d5 (patch)
treeb2b90ea82b7f3557a92035dc0d13a24391097089 /amiga
parent5fe89ab13500120c4d365448e17642e7f9ce3fa8 (diff)
downloadnetsurf-c25728b01179b8e53f8022d14363b8a81a8c25d5.tar.gz
netsurf-c25728b01179b8e53f8022d14363b8a81a8c25d5.tar.bz2
Move new blank tab into own function
Diffstat (limited to 'amiga')
-rw-r--r--amiga/gui.c30
-rwxr-xr-xamiga/gui.h3
-rw-r--r--amiga/menu.c24
3 files changed, 33 insertions, 24 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index c28ea583f..22d5b428d 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2013 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ * Copyright 2008-2014 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -3139,6 +3139,34 @@ void ami_gui_tabs_toggle_all(void)
} while(node = nnode);
}
+nserror ami_gui_new_blank_tab(struct gui_window_2 *gwin)
+{
+ nsurl *url;
+ nserror error;
+ struct browser_window *bw = NULL;
+
+ error = nsurl_create(nsoption_charp(homepage_url), &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_VERIFIABLE |
+ BROWSER_WINDOW_HISTORY |
+ BROWSER_WINDOW_TAB,
+ url,
+ NULL,
+ gwin->bw,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ return error;
+ }
+
+ history_destroy(bw->history);
+ bw->history = history_create();
+
+ return NSERROR_OK;
+}
+
struct gui_window *gui_create_browser_window(struct browser_window *bw,
struct browser_window *clone, bool new_tab)
{
diff --git a/amiga/gui.h b/amiga/gui.h
index 85e5854ea..4ec329eb8 100755
--- a/amiga/gui.h
+++ b/amiga/gui.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2012 Chris Young <chris@unsatisfactorysoftware.co.uk>
+ * Copyright 2008-2014 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
@@ -164,6 +164,7 @@ void ami_gui_hotlist_toolbar_update_all(void);
void ami_gui_tabs_toggle_all(void);
bool ami_locate_resource(char *fullpath, const char *file);
void ami_gui_update_hotlist_button(struct gui_window_2 *gwin);
+nserror ami_gui_new_blank_tab(struct gui_window_2 *gwin);
struct TextFont *origrpfont;
struct MinList *window_list;
diff --git a/amiga/menu.c b/amiga/menu.c
index 59d244112..26f5c2b81 100644
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -714,30 +714,10 @@ static void ami_menu_item_project_newwin(struct Hook *hook, APTR window, struct
static void ami_menu_item_project_newtab(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
struct gui_window_2 *gwin;
- nsurl *url;
nserror error;
- struct browser_window *bw = NULL;
- GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
-
- error = nsurl_create(nsoption_charp(homepage_url), &url);
- if (error == NSERROR_OK) {
- error = browser_window_create(BROWSER_WINDOW_VERIFIABLE |
- BROWSER_WINDOW_HISTORY |
- BROWSER_WINDOW_TAB,
- url,
- NULL,
- gwin->bw,
- &bw);
- nsurl_unref(url);
- }
- if (error != NSERROR_OK) {
- warn_user(messages_get_errorcode(error), 0);
- return;
- }
-
- history_destroy(bw->history);
- bw->history = history_create();
+ GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
+ error = ami_gui_new_blank_tab(gwin);
}
static void ami_menu_item_project_open(struct Hook *hook, APTR window, struct IntuiMessage *msg)