* GuiDocument.cpp:

- minor xetex UI tweaks.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29188 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jürgen Spitzmüller 2009-04-10 14:39:22 +00:00
parent ce8323e5d3
commit a7d719fbac

View File

@ -1174,10 +1174,26 @@ void GuiDocument::xetexChanged(bool xetex)
!langModule->defaultencodingRB->isChecked());
langModule->defaultencodingRB->setEnabled(!xetex);
langModule->otherencodingRB->setEnabled(!xetex);
fontModule->fontsDefaultCO->setEnabled(!xetex);
if (xetex)
fontModule->fontScCB->setEnabled(false);
fontModule->fontsDefaultLA->setEnabled(!xetex);
fontModule->cjkFontLE->setEnabled(!xetex);
fontModule->cjkFontLA->setEnabled(!xetex);
string font;
if (!xetex)
font = tex_fonts_sans[fontModule->fontsSansCO->currentIndex()];
bool scaleable = providesScale(font);
fontModule->scaleSansSB->setEnabled(scaleable);
fontModule->scaleSansLA->setEnabled(scaleable);
if (!xetex)
font = tex_fonts_monospaced[fontModule->fontsTypewriterCO->currentIndex()];
scaleable = providesScale(font);
fontModule->scaleTypewriterSB->setEnabled(scaleable);
fontModule->scaleTypewriterLA->setEnabled(scaleable);
if (!xetex)
font = tex_fonts_roman[fontModule->fontsRomanCO->currentIndex()];
fontModule->fontScCB->setEnabled(providesSC(font));
fontModule->fontOsfCB->setEnabled(providesOSF(font));
}
@ -1244,10 +1260,8 @@ void GuiDocument::updateFontlist()
void GuiDocument::romanChanged(int item)
{
if (outputModule->xetexCB->isChecked()) {
fontModule->fontScCB->setEnabled(false);
if (outputModule->xetexCB->isChecked())
return;
}
string const font = tex_fonts_roman[item];
fontModule->fontScCB->setEnabled(providesSC(font));
fontModule->fontOsfCB->setEnabled(providesOSF(font));
@ -1256,10 +1270,8 @@ void GuiDocument::romanChanged(int item)
void GuiDocument::sansChanged(int item)
{
if (outputModule->xetexCB->isChecked()) {
fontModule->fontScCB->setEnabled(false);
if (outputModule->xetexCB->isChecked())
return;
}
string const font = tex_fonts_sans[item];
bool scaleable = providesScale(font);
fontModule->scaleSansSB->setEnabled(scaleable);
@ -1269,10 +1281,8 @@ void GuiDocument::sansChanged(int item)
void GuiDocument::ttChanged(int item)
{
if (outputModule->xetexCB->isChecked()) {
fontModule->fontScCB->setEnabled(false);
if (outputModule->xetexCB->isChecked())
return;
}
string const font = tex_fonts_monospaced[item];
bool scaleable = providesScale(font);
fontModule->scaleTypewriterSB->setEnabled(scaleable);
@ -2605,6 +2615,10 @@ bool GuiDocument::isFontAvailable(string const & font) const
bool GuiDocument::providesOSF(string const & font) const
{
if (outputModule->xetexCB->isChecked())
// FIXME: we should check if the fonts really
// have OSF support. But how?
return true;
if (font == "cmr")
return isFontAvailable("eco");
if (font == "palatino")
@ -2615,6 +2629,8 @@ bool GuiDocument::providesOSF(string const & font) const
bool GuiDocument::providesSC(string const & font) const
{
if (outputModule->xetexCB->isChecked())
return false;
if (font == "palatino")
return isFontAvailable("mathpazo");
if (font == "utopia")
@ -2625,6 +2641,8 @@ bool GuiDocument::providesSC(string const & font) const
bool GuiDocument::providesScale(string const & font) const
{
if (outputModule->xetexCB->isChecked())
return true;
return font == "helvet" || font == "luximono"
|| font == "berasans" || font == "beramono";
}