Lars Gullik Bjønnes wrote:
> This patch does not feel correct...
> | -     return (asString(ar) == "none");
> | +     return (asString(ar) == _("none"));
>
> We should never compare with translated strings, Why it is needed
> here?

Because André passed the gui name of the color to the colorinset, and this gui 
name gets translated. See math_nestinset.C: 396
if (font.color() != LColor::inherit) {
                MathAtom at = createMathInset("color");
                asArray(lcolor.getGUIName(font.color()), at.nucleus()->cell(0));
                cur.handleNest(at, 1);
        }
An alternative is to use the LyX name here instead. LaTeX name is no option, 
because there is no LColor getFromLaTeXName (and we need the LColor to set 
the text color).

> |  void MathColorInset::write(WriteStream & os) const
> |  {
> | +     std::string const color =
> | +             lcolor.getLaTeXName(lcolor.getFromGUIName(asString(cell(0))
> |));
>
> Hmm... seems kindo the wrong way to get the latexname.

There is no other way AFAICS. As stated above, using the LaTeX name directly 
is no option.

> |       if (normalcolor(cell(0)))
> |               os << "{\\normalcolor " << cell(1) << '}';
> |       else if (oldstyle_)
> | -             os << "{\\color" << '{' << cell(0) << '}' << cell(1) <<
> | '}'; +             os << "{\\color" << '{' << color.c_str() << '}' <<
> | cell(1) << '}';
>
> c_str not needed here.

without c_str, I get compiler errors.

Jürgen 

Reply via email to