Finally fixed opening content in new windows

This commit is contained in:
Pierre Pronchery 2010-04-21 00:16:47 +00:00
parent 721eea0dd8
commit 9456d61b91
2 changed files with 9 additions and 10 deletions

View File

@ -347,18 +347,14 @@ static WebKitWebView * _on_create_web_view(WebKitWebView * view,
{
WebKitWebView * ret;
Surfer * surfer;
Surfer * copy;
surfer = g_object_get_data(G_OBJECT(data), "surfer");
if((copy = surfer_new_copy(surfer)) == NULL)
if((surfer = surfer_new(NULL)) == NULL)
return NULL;
/* FIXME many things:
* - this is a bit ugly (showing and hiding)
* - we may not want history etc to be copied
* - it loads the current URL first */
ret = g_object_get_data(G_OBJECT(surfer_get_view(copy)), "view");
/* FIXME we may want the history to be copied (and then more) */
ret = g_object_get_data(G_OBJECT(surfer_get_view(surfer)), "view");
g_signal_connect(G_OBJECT(ret), "web-view-ready", G_CALLBACK(
_on_web_view_ready), surfer_get_view(copy));
_on_web_view_ready), surfer_get_view(surfer));
return ret;
}

View File

@ -284,7 +284,7 @@ Surfer * _new_do(char const * url)
/* notebook */
surfer->notebook = gtk_notebook_new();
gtk_notebook_set_show_border(GTK_NOTEBOOK(surfer->notebook), FALSE);
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(surfer->notebook), FALSE);
surfer_open_tab(surfer, NULL);
g_signal_connect_swapped(G_OBJECT(surfer->notebook), "switch-page",
G_CALLBACK(on_notebook_switch_page), surfer);
gtk_box_pack_start(GTK_BOX(vbox), surfer->notebook, TRUE, TRUE, 0);
@ -316,7 +316,7 @@ static gboolean _new_idle(gpointer data)
{
SurferIdle * si = data;
surfer_open_tab(si->surfer, si->url);
surfer_open(si->surfer, si->url);
free(si->url);
free(si);
return FALSE;
@ -800,6 +800,9 @@ void surfer_open_tab(Surfer * surfer, char const * url)
if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(surfer->notebook)) > 1)
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(surfer->notebook),
TRUE);
else
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(surfer->notebook),
FALSE);
gtk_widget_show_all(widget);
}