#include "lyxlex.h"
#include "FontLoader.h"
#include "support/lstrings.h"
+#include "bufferparams.h" // stateText
using std::ostream;
using std::endl;
setNoun(setMisc(newfont.noun(), noun()));
setLatex(setMisc(newfont.latex(), latex()));
- if (newfont.language() != ignore_language)
- if (language() == newfont.language())
- if (language() == document_language)
- setLanguage(default_language);
- else
- setLanguage(document_language);
+ if (newfont.language() == language() && toggleall)
+ if (language() == document_language)
+ setLanguage(default_language);
else
- setLanguage(newfont.language());
+ setLanguage(document_language);
+ else if (newfont.language() != ignore_language)
+ setLanguage(newfont.language());
if (newfont.color() == color() && toggleall)
setColor(LColor::inherit); // toggle 'back'
/// Build GUI description of font state
-string LyXFont::stateText() const
+string LyXFont::stateText(BufferParams * params) const
{
#ifdef HAVE_SSTREAM
std::ostringstream ost;
ost << _("Noun ") << _(GUIMiscNames[noun()]) << ", ";
if (latex() != INHERIT)
ost << _("Latex ") << _(GUIMiscNames[latex()]) << ", ";
- //if (buf.empty())
- // ost << _("Default");
- unsigned int opos = ost.tellp();
- //lyxerr << "Opos: " << opos << endl;
- if (opos == 0)
+ if (bits == inherit)
ost << _("Default") << ", ";
- ost << _("Language: ") << _(language()->display.c_str());
+ if (!params || language() != params->language_info)
+ ost << _("Language: ") << _(language()->display().c_str());
#ifdef HAVE_SSTREAM
string buf(ost.str().c_str());
#else
/// Sets size after GUI name
LyXFont & LyXFont::setGUISize(string const & siz)
{
-#warning this might be wrong.
+ // CHECK this might be wrong.
/// ??????
// this is how it was how it was done in the lyx repository...
// but this does not make sense.
}
}
if (orgfont.color() != color()) {
- os << "\\color " << lcolor.getLyXName(color()) << "\n";
+ // To make us file compatible with older
+ // lyx versions we emit "default" instead
+ // of "inherit"
+ string col_str(lcolor.getLyXName(color()));
+ if (col_str == "inherit") col_str = "default";
+ os << "\\color " << col_str << "\n";
}
if (orgfont.language() != language()) {
if (language())
- os << "\\lang " << language()->lang << "\n";
+ os << "\\lang " << language()->lang() << "\n";
else
os << "\\lang unknown\n";
}
} else {
string tmp = '{' +
subst(lyxrc.language_command_begin,
- "$$lang", language()->lang);
+ "$$lang", language()->lang());
os << tmp;
count += tmp.length();
env = true; //We have opened a new environment