Finally fixed opening content in new windows
This commit is contained in:
parent
721eea0dd8
commit
9456d61b91
@ -347,18 +347,14 @@ static WebKitWebView * _on_create_web_view(WebKitWebView * view,
|
|||||||
{
|
{
|
||||||
WebKitWebView * ret;
|
WebKitWebView * ret;
|
||||||
Surfer * surfer;
|
Surfer * surfer;
|
||||||
Surfer * copy;
|
|
||||||
|
|
||||||
surfer = g_object_get_data(G_OBJECT(data), "surfer");
|
surfer = g_object_get_data(G_OBJECT(data), "surfer");
|
||||||
if((copy = surfer_new_copy(surfer)) == NULL)
|
if((surfer = surfer_new(NULL)) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
/* FIXME many things:
|
/* FIXME we may want the history to be copied (and then more) */
|
||||||
* - this is a bit ugly (showing and hiding)
|
ret = g_object_get_data(G_OBJECT(surfer_get_view(surfer)), "view");
|
||||||
* - 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");
|
|
||||||
g_signal_connect(G_OBJECT(ret), "web-view-ready", G_CALLBACK(
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ Surfer * _new_do(char const * url)
|
|||||||
/* notebook */
|
/* notebook */
|
||||||
surfer->notebook = gtk_notebook_new();
|
surfer->notebook = gtk_notebook_new();
|
||||||
gtk_notebook_set_show_border(GTK_NOTEBOOK(surfer->notebook), FALSE);
|
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_signal_connect_swapped(G_OBJECT(surfer->notebook), "switch-page",
|
||||||
G_CALLBACK(on_notebook_switch_page), surfer);
|
G_CALLBACK(on_notebook_switch_page), surfer);
|
||||||
gtk_box_pack_start(GTK_BOX(vbox), surfer->notebook, TRUE, TRUE, 0);
|
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;
|
SurferIdle * si = data;
|
||||||
|
|
||||||
surfer_open_tab(si->surfer, si->url);
|
surfer_open(si->surfer, si->url);
|
||||||
free(si->url);
|
free(si->url);
|
||||||
free(si);
|
free(si);
|
||||||
return FALSE;
|
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)
|
if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(surfer->notebook)) > 1)
|
||||||
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(surfer->notebook),
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(surfer->notebook),
|
||||||
TRUE);
|
TRUE);
|
||||||
|
else
|
||||||
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(surfer->notebook),
|
||||||
|
FALSE);
|
||||||
gtk_widget_show_all(widget);
|
gtk_widget_show_all(widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user