return (!scaleoption_.empty());
}
+
+bool LaTeXFont::providesMoreOptions(bool ot1, bool complete, bool nomath)
+{
+ docstring const usedfont = getUsedFont(ot1, complete, nomath);
+
+ if (usedfont.empty())
+ return false;
+ else if (usedfont != name_)
+ return altFont(usedfont).providesMoreOptions(ot1, complete, nomath);
+ else if (!available(ot1, nomath))
+ return false;
+
+ return (moreopts_);
+}
+
bool LaTeXFont::provides(std::string const & name, bool ot1, bool complete, bool nomath)
{
docstring const usedfont = getUsedFont(ot1, complete, nomath);
}
-void GuiDocument::updateFontOptions()
+void GuiDocument::updateExtraOpts()
{
bool const tex_fonts = !fontModule->osFontsCB->isChecked();
QString font;
if (tex_fonts)
font = fontModule->fontsSansCO->itemData(
fontModule->fontsSansCO->currentIndex()).toString();
- bool scaleable = providesScale(font);
bool const sf_opts = providesExtraOpts(font);
+ if (tex_fonts)
+ font = fontModule->fontsTypewriterCO->itemData(
+ fontModule->fontsTypewriterCO->currentIndex()).toString();
+ bool const tt_opts = providesExtraOpts(font);
+ fontModule->fontspecRomanLA->setEnabled(!tex_fonts || rm_opts);
+ fontModule->fontspecRomanLE->setEnabled(!tex_fonts || rm_opts);
+ fontModule->fontspecSansLA->setEnabled(!tex_fonts || sf_opts);
+ fontModule->fontspecSansLE->setEnabled(!tex_fonts || sf_opts);
+ fontModule->fontspecTypewriterLA->setEnabled(!tex_fonts || tt_opts);
+ fontModule->fontspecTypewriterLE->setEnabled(!tex_fonts || tt_opts);
+}
+
+
+void GuiDocument::updateFontOptions()
+{
+ bool const tex_fonts = !fontModule->osFontsCB->isChecked();
+ QString font;
+ if (tex_fonts)
+ font = fontModule->fontsSansCO->itemData(
+ fontModule->fontsSansCO->currentIndex()).toString();
+ bool scaleable = providesScale(font);
fontModule->scaleSansSB->setEnabled(scaleable);
fontModule->scaleSansLA->setEnabled(scaleable);
if (tex_fonts)
font = fontModule->fontsTypewriterCO->itemData(
fontModule->fontsTypewriterCO->currentIndex()).toString();
scaleable = providesScale(font);
- bool const tt_opts = providesExtraOpts(font);
fontModule->scaleTypewriterSB->setEnabled(scaleable);
fontModule->scaleTypewriterLA->setEnabled(scaleable);
if (tex_fonts)
fontModule->fontsRomanCO->currentIndex()).toString();
fontModule->fontScCB->setEnabled(providesSC(font));
fontModule->fontOsfCB->setEnabled(providesOSF(font));
- fontModule->fontspecRomanLA->setEnabled(!tex_fonts || rm_opts);
- fontModule->fontspecRomanLE->setEnabled(!tex_fonts || rm_opts);
- fontModule->fontspecSansLA->setEnabled(!tex_fonts || sf_opts);
- fontModule->fontspecSansLE->setEnabled(!tex_fonts || sf_opts);
- fontModule->fontspecTypewriterLA->setEnabled(!tex_fonts || tt_opts);
- fontModule->fontspecTypewriterLE->setEnabled(!tex_fonts || tt_opts);
+ updateExtraOpts();
updateMathFonts(font);
}
return;
QString const font =
fontModule->fontsRomanCO->itemData(item).toString();
- bool const opts = providesExtraOpts(font);
fontModule->fontScCB->setEnabled(providesSC(font));
fontModule->fontOsfCB->setEnabled(providesOSF(font));
- fontModule->fontspecRomanLA->setEnabled(opts);
- fontModule->fontspecRomanLE->setEnabled(opts);
+ updateExtraOpts();
updateMathFonts(font);
}
QString const font =
fontModule->fontsSansCO->itemData(item).toString();
bool const scaleable = providesScale(font);
- bool const opts = providesExtraOpts(font);
fontModule->scaleSansSB->setEnabled(scaleable);
fontModule->scaleSansLA->setEnabled(scaleable);
- fontModule->fontspecSansLA->setEnabled(opts);
- fontModule->fontspecSansLE->setEnabled(opts);
+ updateExtraOpts();
}
QString const font =
fontModule->fontsTypewriterCO->itemData(item).toString();
bool scaleable = providesScale(font);
- bool const opts = providesExtraOpts(font);
fontModule->scaleTypewriterSB->setEnabled(scaleable);
fontModule->scaleTypewriterLA->setEnabled(scaleable);
- fontModule->fontspecTypewriterLA->setEnabled(opts);
- fontModule->fontspecTypewriterLE->setEnabled(opts);
+ updateExtraOpts();
}
if (fontModule->osFontsCB->isChecked())
return true;
return theLaTeXFonts().getLaTeXFont(
- qstring_to_ucs4(font)).moreoptions();
+ qstring_to_ucs4(font)).providesMoreOptions(ot1(),
+ completeFontset(),
+ noMathFont());
}