From c9a8ffc08d20663ea8a8a6b59f053ba9934de884 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Wed, 11 Apr 2012 14:11:08 -0400 Subject: releasing version 0.6.1-0ubuntu1 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index f5250d3..b5fcf64 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -libdbusmenu (0.6.1-0ubuntu1~ppa1) precise; urgency=low +libdbusmenu (0.6.1-0ubuntu1) precise; urgency=low * New upstream release. * Fix mnemonics in wifi hotspot names. (LP: #903200) -- cgit v1.2.3 -- cgit v1.2.3 From 4b1d462aeb7ba623b007799daab4f2dfd5f6f540 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 11 Apr 2012 16:25:22 -0500 Subject: Provide a function to sanitize the label and use that as Pango isn't doing it for us now --- libdbusmenu-gtk/genericmenuitem.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/libdbusmenu-gtk/genericmenuitem.c b/libdbusmenu-gtk/genericmenuitem.c index 9effd82..bff4ee5 100644 --- a/libdbusmenu-gtk/genericmenuitem.c +++ b/libdbusmenu-gtk/genericmenuitem.c @@ -241,6 +241,27 @@ has_mnemonic (const gchar * string, gboolean previous_underscore) return FALSE; } +static GRegex * underscore_regex = NULL; + +/* Sanitize the label by removing "__" meaning "_" */ +gchar * +sanitize_label (const gchar * in_label) +{ + g_return_val_if_fail(in_label != NULL, NULL); + + if (underscore_regex == NULL) { + underscore_regex = g_regex_new("__", 0, 0, NULL); + } + + return g_regex_replace_literal(underscore_regex, + in_label, + -1, /* length */ + 0, /* start */ + "_", /* replacement */ + 0, /* flags */ + NULL); /* error */ +} + /* Set the label on the item */ static void set_label (GtkMenuItem * menu_item, const gchar * in_label) @@ -319,6 +340,10 @@ set_label (GtkMenuItem * menu_item, const gchar * in_label) gtk_label_set_use_underline(GTK_LABEL(labelw), TRUE); gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(labelw), GTK_WIDGET(menu_item)); gtk_label_set_markup_with_mnemonic(labelw, local_label); + } else { + gchar * sanitized = sanitize_label(local_label); + gtk_label_set_markup(labelw, sanitized); + g_free(sanitized); } gtk_widget_show(GTK_WIDGET(labelw)); @@ -343,7 +368,9 @@ set_label (GtkMenuItem * menu_item, const gchar * in_label) gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(labelw), GTK_WIDGET(menu_item)); gtk_label_set_markup_with_mnemonic(labelw, local_label); } else { - gtk_label_set_markup(labelw, local_label); + gchar * sanitized = sanitize_label(local_label); + gtk_label_set_markup(labelw, sanitized); + g_free(sanitized); } } } -- cgit v1.2.3 From 9dd4e51920a5adccafbc2091d6e29391ab0c3bb5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 11 Apr 2012 16:26:12 -0500 Subject: No reason to bother with that in the global namespace --- libdbusmenu-gtk/genericmenuitem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libdbusmenu-gtk/genericmenuitem.c b/libdbusmenu-gtk/genericmenuitem.c index bff4ee5..81d67fe 100644 --- a/libdbusmenu-gtk/genericmenuitem.c +++ b/libdbusmenu-gtk/genericmenuitem.c @@ -241,12 +241,12 @@ has_mnemonic (const gchar * string, gboolean previous_underscore) return FALSE; } -static GRegex * underscore_regex = NULL; - /* Sanitize the label by removing "__" meaning "_" */ gchar * sanitize_label (const gchar * in_label) { + static GRegex * underscore_regex = NULL; + g_return_val_if_fail(in_label != NULL, NULL); if (underscore_regex == NULL) { -- cgit v1.2.3 From a29d68c1c8cd2a3e755bcbb819748922f4e965cc Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 12 Apr 2012 11:28:57 -0500 Subject: Make sanitize_label static for sure and inline if available --- libdbusmenu-gtk/genericmenuitem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdbusmenu-gtk/genericmenuitem.c b/libdbusmenu-gtk/genericmenuitem.c index 81d67fe..33d888d 100644 --- a/libdbusmenu-gtk/genericmenuitem.c +++ b/libdbusmenu-gtk/genericmenuitem.c @@ -242,7 +242,7 @@ has_mnemonic (const gchar * string, gboolean previous_underscore) } /* Sanitize the label by removing "__" meaning "_" */ -gchar * +G_INLINE_FUNC gchar * sanitize_label (const gchar * in_label) { static GRegex * underscore_regex = NULL; -- cgit v1.2.3 From 02aad1ae0692f8598195fe24af49645c5e2a0622 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 16 Apr 2012 10:13:19 -0500 Subject: Move setting the accell widget out of the if statement --- libdbusmenu-gtk/genericmenuitem.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libdbusmenu-gtk/genericmenuitem.c b/libdbusmenu-gtk/genericmenuitem.c index 81d67fe..348a972 100644 --- a/libdbusmenu-gtk/genericmenuitem.c +++ b/libdbusmenu-gtk/genericmenuitem.c @@ -335,10 +335,10 @@ set_label (GtkMenuItem * menu_item, const gchar * in_label) labelw = GTK_LABEL(gtk_accel_label_new(local_label)); gtk_label_set_use_markup(GTK_LABEL(labelw), TRUE); gtk_misc_set_alignment(GTK_MISC(labelw), 0.0, 0.5); + gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(labelw), GTK_WIDGET(menu_item)); if (has_mnemonic(in_label, FALSE)) { gtk_label_set_use_underline(GTK_LABEL(labelw), TRUE); - gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(labelw), GTK_WIDGET(menu_item)); gtk_label_set_markup_with_mnemonic(labelw, local_label); } else { gchar * sanitized = sanitize_label(local_label); @@ -365,7 +365,6 @@ set_label (GtkMenuItem * menu_item, const gchar * in_label) } else { if (has_mnemonic(in_label, FALSE)) { gtk_label_set_use_underline(GTK_LABEL(labelw), TRUE); - gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(labelw), GTK_WIDGET(menu_item)); gtk_label_set_markup_with_mnemonic(labelw, local_label); } else { gchar * sanitized = sanitize_label(local_label); -- cgit v1.2.3 -- cgit v1.2.3 From 4e49daa82ca948228a7cef9fb552f703d0c80757 Mon Sep 17 00:00:00 2001 From: Sebastien Bacher Date: Mon, 16 Apr 2012 21:38:16 +0200 Subject: releasing version 0.6.1-0ubuntu3 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index f18290c..e54dc38 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -libdbusmenu (0.6.1-0ubuntu3) UNRELEASED; urgency=low +libdbusmenu (0.6.1-0ubuntu3) precise-proposed; urgency=low * Backport fix for keybindings not showing in menus bug (lp: #982656) - -- Sebastien Bacher Mon, 16 Apr 2012 21:25:44 +0200 + -- Sebastien Bacher Mon, 16 Apr 2012 21:28:05 +0200 libdbusmenu (0.6.1-0ubuntu2) precise; urgency=low -- cgit v1.2.3