diff options
Diffstat (limited to 'src/ephy-window.c')
-rw-r--r-- | src/ephy-window.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c index 9de3366ae..49c177f7a 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -547,8 +547,10 @@ ephy_window_fullscreen (EphyWindow *window) "size-changed", G_CALLBACK (size_changed_cb), window); - g_object_set (G_OBJECT (window->priv->toolbar), "ToolbarsModel", - ephy_shell_get_toolbars_model (ephy_shell, TRUE), NULL); + egg_editable_toolbar_set_model + (EGG_EDITABLE_TOOLBAR (window->priv->toolbar), + EGG_TOOLBARS_MODEL ( + ephy_shell_get_toolbars_model (ephy_shell, TRUE))); sync_chromes_visibility (window); } @@ -565,8 +567,10 @@ ephy_window_unfullscreen (EphyWindow *window) gtk_widget_destroy (window->priv->exit_fullscreen_popup); window->priv->exit_fullscreen_popup = NULL; - g_object_set (G_OBJECT (window->priv->toolbar), "ToolbarsModel", - ephy_shell_get_toolbars_model (ephy_shell, FALSE), NULL); + egg_editable_toolbar_set_model + (EGG_EDITABLE_TOOLBAR (window->priv->toolbar), + EGG_TOOLBARS_MODEL ( + ephy_shell_get_toolbars_model (ephy_shell, FALSE))); sync_chromes_visibility (window); } @@ -1988,6 +1992,15 @@ ephy_window_init (EphyWindow *window) manager = EPHY_EXTENSION (ephy_shell_get_extensions_manager (ephy_shell)); ephy_extension_attach_window (manager, window); + /* We only set the model now after attaching the extensions, so that + * extensions already have created their actions which may be on + * the toolbar + */ + egg_editable_toolbar_set_model + (EGG_EDITABLE_TOOLBAR (window->priv->toolbar), + EGG_TOOLBARS_MODEL + (ephy_shell_get_toolbars_model (ephy_shell, FALSE))); + g_signal_connect (window, "window-state-event", G_CALLBACK (ephy_window_state_event_cb), window); |