aboutsummaryrefslogtreecommitdiffstats
path: root/src/bookmarks/ephy-bookmarks-menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bookmarks/ephy-bookmarks-menu.c')
-rw-r--r--src/bookmarks/ephy-bookmarks-menu.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/bookmarks/ephy-bookmarks-menu.c b/src/bookmarks/ephy-bookmarks-menu.c
index 2ffcd994d..a681c97f0 100644
--- a/src/bookmarks/ephy-bookmarks-menu.c
+++ b/src/bookmarks/ephy-bookmarks-menu.c
@@ -71,6 +71,7 @@ struct _EphyBookmarksMenuPrivate
#define GAZILLION 200
#define UPDATE_DELAY 5000 /* ms */
+#define LABEL_WIDTH_CHARS 32
enum
{
@@ -112,6 +113,21 @@ ephy_bookmarks_menu_get_type (void)
}
static void
+connect_proxy_cb (GtkActionGroup *action_group,
+ GtkAction *action,
+ GtkWidget *proxy)
+{
+ if (GTK_IS_MENU_ITEM (proxy))
+ {
+ GtkLabel *label;
+
+ label = (GtkLabel *) ((GtkBin *) proxy)->child;
+ gtk_label_set_width_chars (label, LABEL_WIDTH_CHARS);
+ gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END);
+ }
+}
+
+static void
remove_action (gpointer idptr,
GtkActionGroup *action_group)
{
@@ -209,6 +225,9 @@ ensure_bookmark_actions (EphyBookmarksMenu *menu)
gtk_ui_manager_insert_action_group (menu->priv->manager,
menu->priv->bmk_actions, -1);
+ g_signal_connect (menu->priv->bmk_actions, "connect-proxy",
+ G_CALLBACK (connect_proxy_cb), NULL);
+
bookmarks = ephy_bookmarks_get_bookmarks (menu->priv->bookmarks);
children = ephy_node_get_children (bookmarks);
for (i = 0; i < children->len; i++)
@@ -428,6 +447,9 @@ ephy_bookmarks_menu_rebuild (EphyBookmarksMenu *menu)
p->folder_actions = gtk_action_group_new ("FolderActions");
gtk_ui_manager_insert_action_group (p->manager, p->folder_actions, -1);
+ g_signal_connect (p->folder_actions, "connect-proxy",
+ G_CALLBACK (connect_proxy_cb), NULL);
+
p->ui_id = gtk_ui_manager_new_merge_id (p->manager);
topics = ephy_bookmarks_get_keywords (p->bookmarks);