aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-tabs-menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ephy-tabs-menu.c')
-rw-r--r--src/ephy-tabs-menu.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/ephy-tabs-menu.c b/src/ephy-tabs-menu.c
index 1ab5d1c1a..c780144ea 100644
--- a/src/ephy-tabs-menu.c
+++ b/src/ephy-tabs-menu.c
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2003 David Bordoley
+ * Copyright (C) 2003-2004 Christian Persch
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,6 +29,8 @@
#include "ephy-shell.h"
#include "ephy-debug.h"
+#include <gtk/gtklabel.h>
+#include <gtk/gtkmenuitem.h>
#include <gtk/gtkaccelmap.h>
#include <gtk/gtkaction.h>
#include <gtk/gtkradioaction.h>
@@ -123,6 +126,19 @@ tabs_reordered_cb (EphyNotebook *notebook, EphyTabsMenu *menu)
}
static void
+connect_proxy_cb (GtkActionGroup *action_group,
+ GtkAction *action,
+ GtkWidget *proxy,
+ gpointer dummy)
+{
+ if (GTK_IS_MENU_ITEM (proxy))
+ {
+ gtk_label_set_ellipsize (GTK_LABEL (GTK_BIN (proxy)->child),
+ PANGO_ELLIPSIZE_END);
+ }
+}
+
+static void
ephy_tabs_menu_set_window (EphyTabsMenu *menu, EphyWindow *window)
{
GtkWidget *notebook;
@@ -132,9 +148,12 @@ ephy_tabs_menu_set_window (EphyTabsMenu *menu, EphyWindow *window)
merge = GTK_UI_MANAGER (window->ui_merge);
menu->priv->action_group = gtk_action_group_new ("TabsActions");
- gtk_ui_manager_insert_action_group (merge, menu->priv->action_group, 0);
+ gtk_ui_manager_insert_action_group (merge, menu->priv->action_group, -1);
g_object_unref (menu->priv->action_group);
+ g_signal_connect (menu->priv->action_group, "connect-proxy",
+ G_CALLBACK (connect_proxy_cb), NULL);
+
notebook = ephy_window_get_notebook (window);
g_signal_connect_object (notebook, "tab_added",
G_CALLBACK (tab_added_cb), menu, 0);
@@ -187,8 +206,8 @@ ephy_tabs_menu_class_init (EphyTabsMenuClass *klass)
g_object_class_install_property (object_class,
PROP_WINDOW,
- g_param_spec_object ("EphyWindow",
- "EphyWindow",
+ g_param_spec_object ("window",
+ "Window",
"Parent window",
EPHY_TYPE_WINDOW,
G_PARAM_READWRITE |
@@ -224,7 +243,7 @@ EphyTabsMenu *
ephy_tabs_menu_new (EphyWindow *window)
{
return EPHY_TABS_MENU (g_object_new (EPHY_TYPE_TABS_MENU,
- "EphyWindow", window,
+ "window", window,
NULL));
}