aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-09-14 04:46:14 +0800
committerChristian Persch <chpe@src.gnome.org>2004-09-14 04:46:14 +0800
commitbf60b7ae05e75e10a8f15ec8ca2635874c4dab90 (patch)
tree141774e6817ed54e8bab9e6a0ea362f3cc19b148 /src
parent816da20fe31c6186a80ef92fe824ccd9088f9a15 (diff)
downloadgsoc2013-epiphany-bf60b7ae05e75e10a8f15ec8ca2635874c4dab90.tar.gz
gsoc2013-epiphany-bf60b7ae05e75e10a8f15ec8ca2635874c4dab90.tar.zst
gsoc2013-epiphany-bf60b7ae05e75e10a8f15ec8ca2635874c4dab90.zip
Add ephy_window_get_ui_manager(), and remove the manager from the public
2004-09-13 Christian Persch <chpe@cvs.gnome.org> * data/art/epiphany-entry.png: * src/bookmarks/ephy-bookmarks-menu.c: (ephy_bookmarks_menu_set_window): * src/bookmarks/ephy-bookmarksbar.c: (ephy_bookmarksbar_set_window): * src/bookmarks/ephy-favorites-menu.c: (ephy_favorites_menu_clean), (ephy_favorites_menu_rebuild): * src/ephy-encoding-menu.c: (ephy_encoding_menu_set_window): * src/ephy-tabs-menu.c: (ephy_tabs_menu_set_window), (ephy_tabs_menu_clean), (ephy_tabs_menu_update): * src/ephy-window.c: (add_widget), (sync_chromes_visibility), (ephy_window_key_press_event), (init_menu_updaters), (setup_ui_manager), (show_embed_popup), (ephy_window_init), (ephy_window_finalize), (ephy_window_set_print_preview), (ephy_window_get_ui_manager): * src/ephy-window.h: * src/ppview-toolbar.c: (ppview_toolbar_set_window): * src/toolbar.c: (toolbar_set_window), (toolbar_new): * src/window-commands.c: (window_cmd_edit_toolbar): Add ephy_window_get_ui_manager(), and remove the manager from the public EphyWindow struct.
Diffstat (limited to 'src')
-rw-r--r--src/bookmarks/ephy-bookmarks-menu.c2
-rw-r--r--src/bookmarks/ephy-bookmarksbar.c2
-rw-r--r--src/bookmarks/ephy-favorites-menu.c4
-rw-r--r--src/ephy-encoding-menu.c2
-rw-r--r--src/ephy-tabs-menu.c24
-rw-r--r--src/ephy-window.c58
-rw-r--r--src/ephy-window.h6
-rwxr-xr-xsrc/ppview-toolbar.c2
-rwxr-xr-xsrc/toolbar.c4
-rw-r--r--src/window-commands.c2
10 files changed, 59 insertions, 47 deletions
diff --git a/src/bookmarks/ephy-bookmarks-menu.c b/src/bookmarks/ephy-bookmarks-menu.c
index 0e06ac199..10e0dc201 100644
--- a/src/bookmarks/ephy-bookmarks-menu.c
+++ b/src/bookmarks/ephy-bookmarks-menu.c
@@ -523,7 +523,7 @@ ephy_bookmarks_menu_set_window (EphyBookmarksMenu *menu,
EphyWindow *window)
{
menu->priv->window = window;
- menu->priv->manager = GTK_UI_MANAGER (window->ui_merge);
+ menu->priv->manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
}
static void
diff --git a/src/bookmarks/ephy-bookmarksbar.c b/src/bookmarks/ephy-bookmarksbar.c
index f6d6a49f3..9e0fecff9 100644
--- a/src/bookmarks/ephy-bookmarksbar.c
+++ b/src/bookmarks/ephy-bookmarksbar.c
@@ -284,7 +284,7 @@ ephy_bookmarksbar_set_window (EphyBookmarksBar *toolbar,
{
EggEditableToolbar *eggtoolbar = EGG_EDITABLE_TOOLBAR (toolbar);
EggToolbarsModel *model = toolbar->priv->toolbars_model;
- GtkUIManager *manager = GTK_UI_MANAGER (window->ui_merge);
+ GtkUIManager *manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
int i, n_toolbars;
g_return_if_fail (toolbar->priv->window == NULL);
diff --git a/src/bookmarks/ephy-favorites-menu.c b/src/bookmarks/ephy-favorites-menu.c
index f2ef1e814..7a30f46a0 100644
--- a/src/bookmarks/ephy-favorites-menu.c
+++ b/src/bookmarks/ephy-favorites-menu.c
@@ -85,7 +85,7 @@ static void
ephy_favorites_menu_clean (EphyFavoritesMenu *menu)
{
EphyFavoritesMenuPrivate *p = menu->priv;
- GtkUIManager *merge = GTK_UI_MANAGER (p->window->ui_merge);
+ GtkUIManager *merge = GTK_UI_MANAGER (ephy_window_get_ui_manager (p->window));
if (p->ui_id > 0)
{
@@ -114,7 +114,7 @@ ephy_favorites_menu_rebuild (EphyFavoritesMenu *menu)
gint i;
EphyNode *fav;
GPtrArray *children;
- GtkUIManager *merge = GTK_UI_MANAGER (p->window->ui_merge);
+ GtkUIManager *merge = GTK_UI_MANAGER (ephy_window_get_ui_manager (p->window));
LOG ("Rebuilding favorites menu")
diff --git a/src/ephy-encoding-menu.c b/src/ephy-encoding-menu.c
index b35ada0e6..dc2197278 100644
--- a/src/ephy-encoding-menu.c
+++ b/src/ephy-encoding-menu.c
@@ -382,7 +382,7 @@ ephy_encoding_menu_set_window (EphyEncodingMenu *menu, EphyWindow *window)
g_return_if_fail (EPHY_IS_WINDOW (window));
menu->priv->window = window;
- menu->priv->manager = GTK_UI_MANAGER (window->ui_merge);
+ menu->priv->manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
action_group = gtk_action_group_new ("EncodingActions");
gtk_action_group_set_translation_domain (action_group, NULL);
diff --git a/src/ephy-tabs-menu.c b/src/ephy-tabs-menu.c
index c780144ea..6d59d2ba8 100644
--- a/src/ephy-tabs-menu.c
+++ b/src/ephy-tabs-menu.c
@@ -142,13 +142,13 @@ static void
ephy_tabs_menu_set_window (EphyTabsMenu *menu, EphyWindow *window)
{
GtkWidget *notebook;
- GtkUIManager *merge;
+ GtkUIManager *manager;
menu->priv->window = window;
- merge = GTK_UI_MANAGER (window->ui_merge);
+ manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
menu->priv->action_group = gtk_action_group_new ("TabsActions");
- gtk_ui_manager_insert_action_group (merge, menu->priv->action_group, -1);
+ gtk_ui_manager_insert_action_group (manager, menu->priv->action_group, -1);
g_object_unref (menu->priv->action_group);
g_signal_connect (menu->priv->action_group, "connect-proxy",
@@ -229,12 +229,12 @@ static void
ephy_tabs_menu_clean (EphyTabsMenu *menu)
{
EphyTabsMenuPrivate *p = menu->priv;
- GtkUIManager *merge = GTK_UI_MANAGER (p->window->ui_merge);
+ GtkUIManager *manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (p->window));
if (p->ui_id > 0)
{
- gtk_ui_manager_remove_ui (merge, p->ui_id);
- gtk_ui_manager_ensure_update (merge);
+ gtk_ui_manager_remove_ui (manager, p->ui_id);
+ gtk_ui_manager_ensure_update (manager);
p->ui_id = 0;
}
}
@@ -294,17 +294,13 @@ tab_set_action_accelerator (GtkActionGroup *action_group,
void
ephy_tabs_menu_update (EphyTabsMenu *menu)
{
- EphyTabsMenuPrivate *p;
- GtkUIManager *merge;
+ EphyTabsMenuPrivate *p = menu->priv;
+ GtkUIManager *manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (p->window));
EphyTab *tab;
GtkAction *action;
guint i = 0;
GList *tabs = NULL, *l;
- g_return_if_fail (EPHY_IS_TABS_MENU (menu));
- p = menu->priv;
- merge = GTK_UI_MANAGER (p->window->ui_merge);
-
LOG ("Rebuilding open tabs menu")
START_PROFILER ("Rebuilding tabs menu")
@@ -315,7 +311,7 @@ ephy_tabs_menu_update (EphyTabsMenu *menu)
if (g_list_length (tabs) == 0) return;
- p->ui_id = gtk_ui_manager_new_merge_id (merge);
+ p->ui_id = gtk_ui_manager_new_merge_id (manager);
for (l = tabs; l != NULL; l = l->next)
{
@@ -329,7 +325,7 @@ ephy_tabs_menu_update (EphyTabsMenu *menu)
tab_set_action_accelerator (p->action_group, action, i++);
- gtk_ui_manager_add_ui (merge, p->ui_id,
+ gtk_ui_manager_add_ui (manager, p->ui_id,
"/menubar/TabsMenu/TabsOpen",
name, action_name,
GTK_UI_MANAGER_MENUITEM, FALSE);
diff --git a/src/ephy-window.c b/src/ephy-window.c
index acc0f8db5..e802aa628 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -342,6 +342,7 @@ struct EphyWindowPrivate
Toolbar *toolbar;
GtkWidget *bookmarksbar;
GtkWidget *statusbar;
+ GtkUIManager *manager;
GtkActionGroup *action_group;
GtkActionGroup *popups_action_group;
EphyFavoritesMenu *fav_menu;
@@ -487,7 +488,9 @@ ephy_window_destroy (GtkObject *gtkobject)
}
static void
-add_widget (GtkUIManager *merge, GtkWidget *widget, EphyWindow *window)
+add_widget (GtkUIManager *manager,
+ GtkWidget *widget,
+ EphyWindow *window)
{
gtk_box_pack_start (GTK_BOX (window->priv->menu_dock),
widget, FALSE, FALSE, 0);
@@ -539,8 +542,7 @@ sync_chromes_visibility (EphyWindow *window)
&show_statusbar, &show_toolbar,
&show_bookmarksbar);
- menubar = gtk_ui_manager_get_widget
- (GTK_UI_MANAGER (window->ui_merge), "/menubar");
+ menubar = gtk_ui_manager_get_widget (window->priv->manager, "/menubar");
g_assert (menubar != NULL);
g_object_set (G_OBJECT (menubar), "visible", show_menubar, NULL);
@@ -745,8 +747,7 @@ ephy_window_key_press_event (GtkWidget *widget,
/* Show and activate the menubar, if it isn't visible */
if (event->keyval == keyval && (event->state & mask) == (modifier & mask))
{
- menubar = gtk_ui_manager_get_widget
- (GTK_UI_MANAGER (window->ui_merge), "/menubar");
+ menubar = gtk_ui_manager_get_widget (window->priv->manager, "/menubar");
g_return_val_if_fail (menubar != NULL , FALSE);
if (!GTK_WIDGET_VISIBLE (menubar))
@@ -917,7 +918,7 @@ init_menu_updaters (EphyWindow *window)
GtkWidget *edit_menu_item, *edit_menu;
edit_menu_item = gtk_ui_manager_get_widget
- (GTK_UI_MANAGER (window->ui_merge), "/menubar/EditMenu");
+ (window->priv->manager, "/menubar/EditMenu");
edit_menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (edit_menu_item));
g_signal_connect (edit_menu, "show",
@@ -1098,7 +1099,7 @@ setup_ui_manager (EphyWindow *window)
{
GtkActionGroup *action_group;
GtkAction *action;
- GtkUIManager *merge;
+ GtkUIManager *manager;
GError *err = NULL;
window->priv->main_vbox = gtk_vbox_new (FALSE, 0);
@@ -1112,11 +1113,11 @@ setup_ui_manager (EphyWindow *window)
GTK_WIDGET (window->priv->menu_dock),
FALSE, TRUE, 0);
- merge = gtk_ui_manager_new ();
+ manager = gtk_ui_manager_new ();
- g_signal_connect (merge, "connect_proxy",
+ g_signal_connect (manager, "connect_proxy",
G_CALLBACK (connect_proxy_cb), window);
- g_signal_connect (merge, "disconnect_proxy",
+ g_signal_connect (manager, "disconnect_proxy",
G_CALLBACK (disconnect_proxy_cb), window);
action_group = gtk_action_group_new ("WindowActions");
@@ -1127,7 +1128,7 @@ setup_ui_manager (EphyWindow *window)
ephy_menu_toggle_entries,
ephy_menu_n_toggle_entries,
window);
- gtk_ui_manager_insert_action_group (merge, action_group, 0);
+ gtk_ui_manager_insert_action_group (manager, action_group, 0);
window->priv->action_group = action_group;
action = gtk_action_group_get_action (action_group, "FileOpen");
g_object_set (action, "short_label", _("Open"), NULL);
@@ -1156,16 +1157,16 @@ setup_ui_manager (EphyWindow *window)
gtk_action_group_set_translation_domain (action_group, NULL);
gtk_action_group_add_actions (action_group, ephy_popups_entries,
ephy_popups_n_entries, window);
- gtk_ui_manager_insert_action_group (merge, action_group, 0);
+ gtk_ui_manager_insert_action_group (manager, action_group, 0);
window->priv->popups_action_group = action_group;
- window->ui_merge = G_OBJECT (merge);
- g_signal_connect (merge, "add_widget", G_CALLBACK (add_widget), window);
+ window->priv->manager = manager;
+ g_signal_connect (manager, "add_widget", G_CALLBACK (add_widget), window);
gtk_window_add_accel_group (GTK_WINDOW (window),
- gtk_ui_manager_get_accel_group (merge));
+ gtk_ui_manager_get_accel_group (manager));
gtk_ui_manager_add_ui_from_file
- (merge, ephy_file ("epiphany-ui.xml"), &err);
+ (manager, ephy_file ("epiphany-ui.xml"), &err);
if (err != NULL)
{
g_warning ("Could not merge epiphany-ui.xml: %s", err->message);
@@ -1618,8 +1619,7 @@ show_embed_popup (EphyWindow *window, EphyTab *tab, EphyEmbedEvent *event)
update_edit_actions_sensitivity (window, TRUE);
}
- widget = gtk_ui_manager_get_widget (GTK_UI_MANAGER (window->ui_merge),
- popup);
+ widget = gtk_ui_manager_get_widget (window->priv->manager, popup);
g_return_if_fail (widget != NULL);
action_group = window->priv->popups_action_group;
@@ -2314,7 +2314,7 @@ ephy_window_init (EphyWindow *window)
G_CALLBACK (network_status_changed), window);
/* ensure the UI is updated */
- gtk_ui_manager_ensure_update (GTK_UI_MANAGER (window->ui_merge));
+ gtk_ui_manager_ensure_update (window->priv->manager);
init_menu_updaters (window);
}
@@ -2356,7 +2356,7 @@ ephy_window_finalize (GObject *object)
}
g_object_unref (window->priv->action_group);
- g_object_unref (window->ui_merge);
+ g_object_unref (window->priv->manager);
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -2408,7 +2408,7 @@ ephy_window_set_print_preview (EphyWindow *window, gboolean enabled)
GtkAccelGroup *accel_group;
EphyWindowMode mode;
- accel_group = gtk_ui_manager_get_accel_group (GTK_UI_MANAGER (window->ui_merge));
+ accel_group = gtk_ui_manager_get_accel_group (window->priv->manager);
mode = enabled ? EPHY_WINDOW_MODE_PRINT_PREVIEW :
EPHY_WINDOW_MODE_NORMAL;
@@ -2438,6 +2438,22 @@ ephy_window_set_print_preview (EphyWindow *window, gboolean enabled)
}
/**
+ * ephy_window_get_ui_manager:
+ * @window: an #EphyWindow
+ *
+ * Returns this window's UI manager.
+ *
+ * Return value: an #GtkUIManager
+ **/
+GObject *
+ephy_window_get_ui_manager (EphyWindow *window)
+{
+ g_return_val_if_fail (EPHY_IS_WINDOW (window), NULL);
+
+ return G_OBJECT (window->priv->manager);
+}
+
+/**
* ephy_window_get_toolbar:
* @window: an #EphyWindow
*
diff --git a/src/ephy-window.h b/src/ephy-window.h
index cace444f5..433b44cbb 100644
--- a/src/ephy-window.h
+++ b/src/ephy-window.h
@@ -45,11 +45,9 @@ typedef struct EphyWindowPrivate EphyWindowPrivate;
struct _EphyWindow
{
GtkWindow parent;
+
/*< private >*/
EphyWindowPrivate *priv;
-
- /*< public >*/
- GObject *ui_merge;
};
struct EphyWindowClass
@@ -69,6 +67,8 @@ EphyWindow *ephy_window_new_with_chrome (EphyEmbedChrome chrome);
void ephy_window_set_print_preview (EphyWindow *window,
gboolean enabled);
+GObject *ephy_window_get_ui_manager (EphyWindow *window);
+
GtkWidget *ephy_window_get_toolbar (EphyWindow *window);
GtkWidget *ephy_window_get_bookmarksbar (EphyWindow *window);
diff --git a/src/ppview-toolbar.c b/src/ppview-toolbar.c
index 9c3b70c64..cd1cf81bf 100755
--- a/src/ppview-toolbar.c
+++ b/src/ppview-toolbar.c
@@ -237,7 +237,7 @@ ppview_toolbar_set_window (PPViewToolbar *t, EphyWindow *window)
g_return_if_fail (t->priv->window == NULL);
t->priv->window = window;
- t->priv->ui_merge = GTK_UI_MANAGER (t->priv->window->ui_merge);
+ t->priv->ui_merge = GTK_UI_MANAGER (ephy_window_get_ui_manager (t->priv->window));
t->priv->action_group = gtk_action_group_new ("PPViewActions");
gtk_action_group_set_translation_domain (t->priv->action_group, NULL);
diff --git a/src/toolbar.c b/src/toolbar.c
index 142b92806..a15257599 100755
--- a/src/toolbar.c
+++ b/src/toolbar.c
@@ -389,7 +389,7 @@ toolbar_set_window (Toolbar *t, EphyWindow *window)
g_return_if_fail (t->priv->window == NULL);
t->priv->window = window;
- manager = GTK_UI_MANAGER (window->ui_merge);
+ manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
toolbar_setup_actions (t);
gtk_ui_manager_insert_action_group (manager,
@@ -472,7 +472,7 @@ toolbar_new (EphyWindow *window)
{
return EPHY_TOOLBAR (g_object_new (EPHY_TYPE_TOOLBAR,
"window", window,
- "ui-manager", window->ui_merge,
+ "ui-manager", ephy_window_get_ui_manager (window),
NULL));
}
diff --git a/src/window-commands.c b/src/window-commands.c
index 9b87e0a0d..984ca75f4 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -882,7 +882,7 @@ window_cmd_edit_toolbar (GtkAction *action,
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
- editor = egg_toolbar_editor_new (GTK_UI_MANAGER (window->ui_merge), model);
+ editor = egg_toolbar_editor_new (GTK_UI_MANAGER (ephy_window_get_ui_manager (window)), model);
egg_toolbar_editor_load_actions (EGG_TOOLBAR_EDITOR (editor),
ephy_file ("epiphany-toolbar.xml"));
gtk_container_set_border_width (GTK_CONTAINER (EGG_TOOLBAR_EDITOR (editor)), 5);