aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ephy-window.c')
-rw-r--r--src/ephy-window.c21
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);