From: Juergen Spitzmueller Date: Sat, 14 Sep 2013 11:11:10 +0000 (+0200) Subject: Fix 'Export As...' in non-English localizations X-Git-Tag: 2.1.0beta2~77 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e100536d59170a1c99437ea22b6fd1bea864bcf0;p=features.git Fix 'Export As...' in non-English localizations It is always a bad idea to compare a localized string. I think the whole method Formats::getFormatFromPrettyName (which is now unused) should be ditched. This is bound to fail. --- diff --git a/src/frontends/qt4/GuiView.cpp b/src/frontends/qt4/GuiView.cpp index 3f1cf75996..6cf97a8b98 100644 --- a/src/frontends/qt4/GuiView.cpp +++ b/src/frontends/qt4/GuiView.cpp @@ -2394,10 +2394,15 @@ bool GuiView::exportBufferAs(Buffer & b) PrettyNameComparator cmp; sort(export_formats.begin(), export_formats.end(), cmp); vector::const_iterator fit = export_formats.begin(); - for (; fit != export_formats.end(); ++fit) + map fmap; + for (; fit != export_formats.end(); ++fit) { + docstring const loc_prettyname = + translateIfPossible(from_utf8((*fit)->prettyname())); types << toqstr(bformat(_("%1$s (*.%2$s)"), - translateIfPossible(from_utf8((*fit)->prettyname())), + loc_prettyname, from_ascii((*fit)->extension()))); + fmap[loc_prettyname] = (*fit)->name(); + } QString filter; FileDialog::Result result = dlg.save(toqstr(fname.onlyPath().absFileName()), @@ -2416,7 +2421,7 @@ bool GuiView::exportBufferAs(Buffer & b) if (fmt_prettyname == "Any supported format") fmt_name = formats.getFormatFromExtension(fname.extension()); else - fmt_name = formats.getFormatFromPrettyName(fmt_prettyname); + fmt_name = fmap[from_utf8(fmt_prettyname)]; LYXERR(Debug::FILES, "fmt_prettyname=" << fmt_prettyname << ", fmt_name=" << fmt_name << ", fname=" << fname.absFileName());