From c822a28e39d43547380c8f08108e94f4f1485bcb Mon Sep 17 00:00:00 2001 From: John Spray Date: Fri, 17 Feb 2006 01:24:22 +0000 Subject: [PATCH] Escape underscores in GTK menu labels git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13251 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/gtk/ChangeLog | 1 + src/frontends/gtk/GMenubar.C | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/frontends/gtk/ChangeLog b/src/frontends/gtk/ChangeLog index fee2ef2b31..a10a9acd8d 100644 --- a/src/frontends/gtk/ChangeLog +++ b/src/frontends/gtk/ChangeLog @@ -4,6 +4,7 @@ * GViewBase.C: Put update() back into show(), it was still needed by some dialogs. More investigation needed. * GTableCreate.C: Fix rows and columns being switched + * GMenubar.C: Escape underscores in menu labels 2006-02-14 John Spray * GPainter.[Ch], xftFontMetrics.C: Remove broken multibyte diff --git a/src/frontends/gtk/GMenubar.C b/src/frontends/gtk/GMenubar.C index 6630284eee..04785b007a 100644 --- a/src/frontends/gtk/GMenubar.C +++ b/src/frontends/gtk/GMenubar.C @@ -26,11 +26,15 @@ #include "ToolbarBackend.h" // for getIcon #include "debug.h" +#include "support/lstrings.h" #include "lyxfunc.h" using std::string; namespace lyx { + +using support::subst; + namespace frontend { namespace @@ -49,14 +53,14 @@ private: // ENCODING: assume that the backend will give us a ISO-8859-1 string -Glib::ustring labelTrans(string const & label, string const & shortcut) +Glib::ustring labelTrans(string const & label_src, string const & shortcut) { - string labelN = label; + string label = subst(label_src, "_", "__"); string::size_type i = label.find(shortcut); if (i == string::npos) return Glib::convert(label, "UTF-8", "ISO-8859-1"); - labelN.insert(i, "_"); - return Glib::convert(labelN, "UTF-8", "ISO-8859-1"); + label.insert(i, "_"); + return Glib::convert(label, "UTF-8", "ISO-8859-1"); } -- 2.39.5