Create window by dragging the tab with Granite
This commit is contained in:
parent
7d293b5c19
commit
8c54bd5d38
1 changed files with 17 additions and 15 deletions
|
@ -2390,13 +2390,7 @@ static void
|
||||||
_action_window_new_activate (GtkAction* action,
|
_action_window_new_activate (GtkAction* action,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
MidoriBrowser* new_browser;
|
midori_view_new_window_cb (NULL, "", browser);
|
||||||
g_signal_emit (browser, signals[NEW_WINDOW], 0, NULL, &new_browser);
|
|
||||||
if (new_browser)
|
|
||||||
{
|
|
||||||
midori_browser_add_uri (new_browser, "");
|
|
||||||
midori_browser_activate_action (new_browser, "Location");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -4853,11 +4847,7 @@ _action_tab_move_forward_activate (GtkAction* action,
|
||||||
else
|
else
|
||||||
new_pos = cur_pos + 1;
|
new_pos = cur_pos + 1;
|
||||||
#ifdef HAVE_GRANITE
|
#ifdef HAVE_GRANITE
|
||||||
/* FIXME: There is no move/ set_tab_position function */
|
granite_widgets_dynamic_notebook_set_tab_position (
|
||||||
granite_widgets_dynamic_notebook_remove_tab (
|
|
||||||
GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (browser->notebook),
|
|
||||||
midori_view_get_tab (MIDORI_VIEW (widget)));
|
|
||||||
granite_widgets_dynamic_notebook_insert_tab (
|
|
||||||
GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (browser->notebook),
|
GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (browser->notebook),
|
||||||
midori_view_get_tab (MIDORI_VIEW (widget)), new_pos);
|
midori_view_get_tab (MIDORI_VIEW (widget)), new_pos);
|
||||||
#else
|
#else
|
||||||
|
@ -5247,8 +5237,8 @@ midori_browser_notebook_page_reordered_cb (GtkWidget* notebook,
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkWidget*
|
static GtkWidget*
|
||||||
midori_browser_notebook_create_window_cb (GtkNotebook* notebook,
|
midori_browser_notebook_create_window_cb (GtkWidget* notebook,
|
||||||
MidoriView* view,
|
GtkWidget* view,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
|
@ -5315,7 +5305,17 @@ midori_browser_notebook_tab_moved_cb (GtkWidget* notebook,
|
||||||
GtkWidget* view = granite_widgets_tab_get_page (tab);
|
GtkWidget* view = granite_widgets_tab_get_page (tab);
|
||||||
if (new_window)
|
if (new_window)
|
||||||
{
|
{
|
||||||
/* FIXME midori_browser_notebook_create_window_cb */
|
GtkWidget* notebook = midori_browser_notebook_create_window_cb (
|
||||||
|
browser->notebook, view, x, y, browser);
|
||||||
|
if (notebook != NULL)
|
||||||
|
{
|
||||||
|
g_object_ref (tab);
|
||||||
|
granite_widgets_dynamic_notebook_remove_tab (
|
||||||
|
GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (browser->notebook), tab);
|
||||||
|
granite_widgets_dynamic_notebook_insert_tab (
|
||||||
|
GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (notebook), tab, 0);
|
||||||
|
g_object_unref (tab);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -6530,6 +6530,8 @@ midori_browser_init (MidoriBrowser* browser)
|
||||||
#ifdef HAVE_GRANITE
|
#ifdef HAVE_GRANITE
|
||||||
/* FIXME: granite: should return GtkWidget* like GTK+ */
|
/* FIXME: granite: should return GtkWidget* like GTK+ */
|
||||||
browser->notebook = (GtkWidget*)granite_widgets_dynamic_notebook_new ();
|
browser->notebook = (GtkWidget*)granite_widgets_dynamic_notebook_new ();
|
||||||
|
granite_widgets_dynamic_notebook_set_allow_new_window (
|
||||||
|
GRANITE_WIDGETS_DYNAMIC_NOTEBOOK (browser->notebook), TRUE);
|
||||||
/* FIXME: work-around a bug */
|
/* FIXME: work-around a bug */
|
||||||
gtk_widget_show_all (browser->notebook);
|
gtk_widget_show_all (browser->notebook);
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in a new issue