On Tue, Dec 17, 2002 at 02:17:34AM +0000, John Levon wrote:

> I reckon we can fix the menus etc. using the same thing, all we need is

Here's a proof-of-concept. LANG=pl_PL menus are correct with the below
patch, wrong without.

Lars, comments ? Do people agree this is a sensible (albeit temporary)
solution ?

Of course, we would have to :

o fix UI extraction
o audit and fix all dialog setting text

but I think it's definitely worth doing.

regards
john


Index: QLPopupMenu.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/qt2/QLPopupMenu.C,v
retrieving revision 1.10
diff -u -r1.10 QLPopupMenu.C
--- QLPopupMenu.C       27 Nov 2002 10:30:23 -0000      1.10
+++ QLPopupMenu.C       17 Dec 2002 02:34:26 -0000
@@ -24,8 +24,11 @@
 
 #include "QLPopupMenu.h"
 
+#include <qtextcodec.h>
+
 #include <boost/scoped_ptr.hpp>
 
+using std::endl;
 using std::pair;
 using std::make_pair;
 
@@ -72,7 +75,7 @@
 {
        // FIXME: leaks ??
        QLPopupMenu * pm = new QLPopupMenu(owner, item->submenuname(), is_toplevel);
-       int id = parent->insertItem(getLabel(*item).c_str(), pm);
+       int id = 
+parent->insertItem(QTextCodec::codecForLocale()->toUnicode(getLabel(*item).c_str()), 
+pm);
        return make_pair(id, pm);
 }
 
@@ -127,7 +130,7 @@
                                owner_->view()->getLyXFunc().getStatus(m->action());
                        if (status.disabled() && m->optional())
                                continue;
-                       insertItem(getLabel(*m).c_str(), m->action());
+                       
+insertItem(QTextCodec::codecForLocale()->toUnicode(getLabel(*m).c_str()), 
+m->action());
                        setItemEnabled(m->action(), !status.disabled());
                        setItemChecked(m->action(), status.onoff(true));
                }

Reply via email to