From 2db0d1ed3d15012d2d9c80d8d9499160e1f535dc Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Thu, 23 Jan 2003 13:22:17 +0000 Subject: Reimplement encoding menus. Work around eggmenu finalization problems. Fix 2003-01-23 Marco Pesenti Gritti * TODO: * data/ui/epiphany-ui.xml.in: * embed/ephy-embed-utils.c: (ephy_embed_utils_build_charsets_submenu): * lib/egg/egg-menu-merge.c: (egg_menu_merge_finalize), (egg_menu_merge_class_init), (egg_menu_merge_init), (egg_menu_merge_node_prepend_uierence), (egg_menu_merge_node_remove_uierence), (start_element_handler), (cleanup), (remove_ui), (update_node): * src/Makefile.am: * src/ephy-encoding-menu.c: (ephy_encoding_menu_class_init), (ephy_encoding_menu_init), (ephy_encoding_menu_finalize_impl), (ephy_encoding_menu_set_property), (ephy_encoding_menu_get_property), (ephy_encoding_menu_new), (ephy_encoding_menu_verb_cb), (build_group), (build_charset), (ephy_encoding_menu_rebuild): * src/ephy-encoding-menu.h: * src/ephy-favorites-menu.c: (ephy_favorites_menu_finalize_impl), (ephy_favorites_menu_verb_cb): * src/ephy-favorites-menu.h: * src/ephy-window.c: (ephy_window_init), (ephy_window_finalize): * src/ppview-toolbar.c: (ppview_toolbar_finalize): Reimplement encoding menus. Work around eggmenu finalization problems. Fix ppvtoolbar/favorites menu to correctly remove action group on finalize. --- src/ephy-window.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src/ephy-window.c') diff --git a/src/ephy-window.c b/src/ephy-window.c index 1da8cc949..ec023ff83 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -31,13 +31,13 @@ #include "ephy-shell.h" #include "eel-gconf-extensions.h" #include "ephy-prefs.h" -#include "ephy-embed-utils.h" #include "ephy-debug.h" #include "ephy-file-helpers.h" #include "statusbar.h" #include "toolbar.h" #include "popup-commands.h" #include "egg-toggle-action.h" +#include "ephy-encoding-menu.h" #include #include @@ -51,18 +51,6 @@ #include "egg-action-group.h" #include "egg-menu-merge.h" -#define CHARSET_MENU_PATH "/menu/View/EncodingMenuPlaceholder" -#define GO_FAVORITES_PATH "/menu/Go/Favorites" - -#define GO_BACK_ACTION "GoBack" -#define GO_FORWARD_ACTION "GoForward" -#define GO_UP_ACTION "GoUp" -#define EDIT_FIND_NEXT_ACTION "EditFindNext" -#define EDIT_FIND_PREV_ACTION "EditFindPrev" -#define VIEW_STATUSBAR_ACTION "ViewStatusbar" -#define VIEW_TOOLBAR_ACTION "ViewToolbar" -#define VIEW_FULLSCREEN_ACTION "ViewFullscreen" - static EggActionGroupEntry ephy_menu_entries [] = { /* Toplevel */ @@ -159,6 +147,7 @@ static EggActionGroupEntry ephy_menu_entries [] = { { "ViewZoomNormal", N_("_Normal Size"), GTK_STOCK_ZOOM_100, NULL, N_("Show the contents at the normal size"), G_CALLBACK (window_cmd_view_zoom_normal), NULL }, + { "ViewEncoding", N_("_Encoding"), NULL, NULL, NULL, NULL, NULL }, { "ViewPageSource", N_("_Page Source"), NULL, NULL, N_("View the source code of the page"), G_CALLBACK (window_cmd_view_page_source), NULL }, @@ -271,6 +260,7 @@ struct EphyWindowPrivate EggActionGroup *action_group; EggActionGroup *popups_action_group; EphyFavoritesMenu *fav_menu; + EphyEncodingMenu *enc_menu; PPViewToolbar *ppview_toolbar; GtkNotebook *notebook; EphyTab *active_tab; @@ -556,6 +546,7 @@ ephy_window_init (EphyWindow *window) setup_window (window); window->priv->fav_menu = ephy_favorites_menu_new (window); + window->priv->enc_menu = ephy_encoding_menu_new (window); /* Setup window contents */ window->priv->notebook = setup_notebook (window); @@ -639,6 +630,7 @@ ephy_window_finalize (GObject *object) } g_object_unref (window->priv->fav_menu); + g_object_unref (window->priv->enc_menu); if (window->priv->toolbar) { -- cgit v1.2.3