{
bool const tex_fonts = !nontexfonts;
// store current fonts
- QString const font_roman = fontModule->fontsRomanCO->itemData(
- fontModule->fontsRomanCO->currentIndex()).toString();
- QString const font_sans = fontModule->fontsSansCO->itemData(
- fontModule->fontsSansCO->currentIndex()).toString();
- QString const font_typewriter = fontModule->fontsTypewriterCO->itemData(
- fontModule->fontsTypewriterCO->currentIndex()).toString();
+ QString const font_roman = fontModule->fontsRomanCO->getData(
+ fontModule->fontsRomanCO->currentIndex());
+ QString const font_sans = fontModule->fontsSansCO->getData(
+ fontModule->fontsSansCO->currentIndex());
+ QString const font_typewriter = fontModule->fontsTypewriterCO->getData(
+ fontModule->fontsTypewriterCO->currentIndex());
QString const font_math = fontModule->fontsMathCO->itemData(
fontModule->fontsMathCO->currentIndex()).toString();
int const font_sf_scale = fontModule->scaleSansSB->value();
outputModule->defaultFormatCO->setCurrentIndex(index);
// try to restore fonts which were selected two toggles ago
- index = fontModule->fontsRomanCO->findData(fontModule->font_roman);
- if (index != -1)
- fontModule->fontsRomanCO->setCurrentIndex(index);
- index = fontModule->fontsSansCO->findData(fontModule->font_sans);
- if (index != -1)
- fontModule->fontsSansCO->setCurrentIndex(index);
- index = fontModule->fontsTypewriterCO->findData(fontModule->font_typewriter);
- if (index != -1)
- fontModule->fontsTypewriterCO->setCurrentIndex(index);
+ fontModule->fontsRomanCO->set(fontModule->font_roman);
+ fontModule->fontsSansCO->set(fontModule->font_sans);
+ fontModule->fontsTypewriterCO->set(fontModule->font_typewriter);
index = fontModule->fontsMathCO->findData(fontModule->font_math);
if (index != -1)
fontModule->fontsMathCO->setCurrentIndex(index);
{
if (fontModule->osFontsCB->isChecked())
return;
- QString font = fontModule->fontsRomanCO->itemData(
- fontModule->fontsRomanCO->currentIndex()).toString();
+ QString font = fontModule->fontsRomanCO->getData(
+ fontModule->fontsRomanCO->currentIndex());
if (hasMonolithicExpertSet(font))
fontModule->fontScCB->setChecked(state);
}
{
if (fontModule->osFontsCB->isChecked())
return;
- QString font = fontModule->fontsRomanCO->itemData(
- fontModule->fontsRomanCO->currentIndex()).toString();
+ QString font = fontModule->fontsRomanCO->getData(
+ fontModule->fontsRomanCO->currentIndex());
if (hasMonolithicExpertSet(font))
fontModule->fontOsfCB->setChecked(state);
}
bool const tex_fonts = !fontModule->osFontsCB->isChecked();
QString font;
if (tex_fonts)
- font = fontModule->fontsRomanCO->itemData(
- fontModule->fontsRomanCO->currentIndex()).toString();
+ font = fontModule->fontsRomanCO->getData(
+ fontModule->fontsRomanCO->currentIndex());
bool const rm_opts = providesExtraOpts(font);
if (tex_fonts)
- font = fontModule->fontsSansCO->itemData(
- fontModule->fontsSansCO->currentIndex()).toString();
+ font = fontModule->fontsSansCO->getData(
+ fontModule->fontsSansCO->currentIndex());
bool const sf_opts = providesExtraOpts(font);
if (tex_fonts)
- font = fontModule->fontsTypewriterCO->itemData(
- fontModule->fontsTypewriterCO->currentIndex()).toString();
+ font = fontModule->fontsTypewriterCO->getData(
+ fontModule->fontsTypewriterCO->currentIndex());
bool const tt_opts = providesExtraOpts(font);
fontModule->fontspecRomanLA->setEnabled(!tex_fonts || rm_opts);
fontModule->fontspecRomanLE->setEnabled(!tex_fonts || rm_opts);
bool const tex_fonts = !fontModule->osFontsCB->isChecked();
QString font;
if (tex_fonts)
- font = fontModule->fontsSansCO->itemData(
- fontModule->fontsSansCO->currentIndex()).toString();
+ font = fontModule->fontsSansCO->getData(
+ fontModule->fontsSansCO->currentIndex());
bool scalable = providesScale(font);
fontModule->scaleSansSB->setEnabled(scalable);
fontModule->scaleSansLA->setEnabled(scalable);
fontModule->fontSansOsfCB->setEnabled(providesOSF(font));
if (tex_fonts)
- font = fontModule->fontsTypewriterCO->itemData(
- fontModule->fontsTypewriterCO->currentIndex()).toString();
+ font = fontModule->fontsTypewriterCO->getData(
+ fontModule->fontsTypewriterCO->currentIndex());
scalable = providesScale(font);
fontModule->scaleTypewriterSB->setEnabled(scalable);
fontModule->scaleTypewriterLA->setEnabled(scalable);
fontModule->fontTypewriterOsfCB->setEnabled(providesOSF(font));
if (tex_fonts)
- font = fontModule->fontsRomanCO->itemData(
- fontModule->fontsRomanCO->currentIndex()).toString();
+ font = fontModule->fontsRomanCO->getData(
+ fontModule->fontsRomanCO->currentIndex());
fontModule->fontScCB->setEnabled(providesSC(font));
fontModule->fontOsfCB->setEnabled(providesOSF(font));
updateExtraOpts();
bool GuiDocument::completeFontset() const
{
- return (fontModule->fontsSansCO->itemData(
- fontModule->fontsSansCO->currentIndex()).toString() == "default"
- && fontModule->fontsSansCO->itemData(
- fontModule->fontsTypewriterCO->currentIndex()).toString() == "default");
+ return (fontModule->fontsSansCO->getData(
+ fontModule->fontsSansCO->currentIndex()) == "default"
+ && fontModule->fontsSansCO->getData(
+ fontModule->fontsTypewriterCO->currentIndex()) == "default");
}
// With fontspec (XeTeX, LuaTeX), we have access to all system fonts, but not the LaTeX fonts
if (fontModule->osFontsCB->isChecked()) {
- fontModule->fontsRomanCO->addItem(qt_("Default"), QString("default"));
- fontModule->fontsSansCO->addItem(qt_("Default"), QString("default"));
- fontModule->fontsTypewriterCO->addItem(qt_("Default"), QString("default"));
+ fontModule->fontsRomanCO->addItemSort(QString("default"), qt_("Default"),
+ QString(), qt_("Default font (as set by class)"),
+ false, false, false, true, true);
+ fontModule->fontsSansCO->addItemSort(QString("default"), qt_("Default"),
+ QString(), qt_("Default font (as set by class)"),
+ false, false, false, true, true);
+ fontModule->fontsTypewriterCO->addItemSort(QString("default"), qt_("Default"),
+ QString(), qt_("Default font (as set by class)"),
+ false, false, false, true, true);
QString unimath = qt_("Non-TeX Fonts Default");
if (!LaTeXFeatures::isAvailable("unicode-math"))
unimath += qt_(" (not available)");
const QStringList families(fontdb.families());
#endif
for (auto const & family : families) {
- fontModule->fontsRomanCO->addItem(family, family);
- fontModule->fontsSansCO->addItem(family, family);
- fontModule->fontsTypewriterCO->addItem(family, family);
+ fontModule->fontsRomanCO->addItemSort(family, family,
+ QString(), QString(),
+ false, false, false, true, true);
+ fontModule->fontsSansCO->addItemSort(family, family,
+ QString(), QString(),
+ false, false, false, true, true);
+ fontModule->fontsTypewriterCO->addItemSort(family, family,
+ QString(), QString(),
+ false, false, false, true, true);
}
return;
}
if (rmfonts_.empty())
updateTexFonts();
- fontModule->fontsRomanCO->addItem(qt_("Default"), QString("default"));
+ fontModule->fontsRomanCO->addItemSort(QString("default"), qt_("Default"),
+ QString(), qt_("Default font (as set by class)"),
+ false, false, false, true, true);
QMap<QString, QString>::const_iterator rmi = rmfonts_.constBegin();
while (rmi != rmfonts_.constEnd()) {
- fontModule->fontsRomanCO->addItem(rmi.key(), rmi.value());
+ fontModule->fontsRomanCO->addItemSort(rmi.value(), rmi.key(),
+ QString(), QString(),
+ false, false, false, true, true);
++rmi;
}
- fontModule->fontsSansCO->addItem(qt_("Default"), QString("default"));
+ fontModule->fontsSansCO->addItemSort(QString("default"), qt_("Default"),
+ QString(), qt_("Default font (as set by class)"),
+ false, false, false, true, true);
QMap<QString, QString>::const_iterator sfi = sffonts_.constBegin();
while (sfi != sffonts_.constEnd()) {
- fontModule->fontsSansCO->addItem(sfi.key(), sfi.value());
+ fontModule->fontsSansCO->addItemSort(sfi.value(), sfi.key(),
+ QString(), QString(),
+ false, false, false, true, true);
++sfi;
}
- fontModule->fontsTypewriterCO->addItem(qt_("Default"), QString("default"));
+ fontModule->fontsTypewriterCO->addItemSort(QString("default"), qt_("Default"),
+ QString(), qt_("Default font (as set by class)"),
+ false, false, false, true, true);
QMap<QString, QString>::const_iterator tti = ttfonts_.constBegin();
while (tti != ttfonts_.constEnd()) {
- fontModule->fontsTypewriterCO->addItem(tti.key(), tti.value());
+ fontModule->fontsTypewriterCO->addItemSort(tti.value(), tti.key(),
+ QString(), QString(),
+ false, false, false, true, true);
++tti;
}
{
if (fontModule->osFontsCB->isChecked())
return;
- QString const font =
- fontModule->fontsRomanCO->itemData(item).toString();
+ QString const font = fontModule->fontsRomanCO->getData(item);
fontModule->fontScCB->setEnabled(providesSC(font));
fontModule->fontOsfCB->setEnabled(providesOSF(font));
updateExtraOpts();
{
if (fontModule->osFontsCB->isChecked())
return;
- QString const font =
- fontModule->fontsSansCO->itemData(item).toString();
+ QString const font = fontModule->fontsSansCO->getData(item);
bool const scalable = providesScale(font);
fontModule->scaleSansSB->setEnabled(scalable);
fontModule->scaleSansLA->setEnabled(scalable);
{
if (fontModule->osFontsCB->isChecked())
return;
- QString const font =
- fontModule->fontsTypewriterCO->itemData(item).toString();
+ QString const font = fontModule->fontsTypewriterCO->getData(item);
bool scalable = providesScale(font);
fontModule->scaleTypewriterSB->setEnabled(scalable);
fontModule->scaleTypewriterLA->setEnabled(scalable);
// fonts
bp_.fonts_roman[nontexfonts] =
fromqstr(fontModule->fontsRomanCO->
- itemData(fontModule->fontsRomanCO->currentIndex()).toString());
+ getData(fontModule->fontsRomanCO->currentIndex()));
bp_.fonts_roman[!nontexfonts] = fromqstr(fontModule->font_roman);
bp_.font_roman_opts = fromqstr(fontModule->fontspecRomanLE->text());
bp_.fonts_sans[nontexfonts] =
fromqstr(fontModule->fontsSansCO->
- itemData(fontModule->fontsSansCO->currentIndex()).toString());
+ getData(fontModule->fontsSansCO->currentIndex()));
bp_.fonts_sans[!nontexfonts] = fromqstr(fontModule->font_sans);
bp_.font_sans_opts = fromqstr(fontModule->fontspecSansLE->text());
bp_.fonts_typewriter[nontexfonts] =
fromqstr(fontModule->fontsTypewriterCO->
- itemData(fontModule->fontsTypewriterCO->currentIndex()).toString());
+ getData(fontModule->fontsTypewriterCO->currentIndex()));
bp_.fonts_typewriter[!nontexfonts] = fromqstr(fontModule->font_typewriter);
bp_.font_typewriter_opts = fromqstr(fontModule->fontspecTypewriterLE->text());
bp_.fontsize);
QString font = toqstr(bp_.fontsRoman());
- int rpos = fontModule->fontsRomanCO->findData(font);
- if (rpos == -1) {
- rpos = fontModule->fontsRomanCO->count();
- fontModule->fontsRomanCO->addItem(font + qt_(" (not installed)"), font);
+ bool foundfont = fontModule->fontsRomanCO->set(font);
+ if (!foundfont) {
+ fontModule->fontsRomanCO->addItemSort(font, font + qt_(" (not installed)"),
+ qt_("Uninstalled used fonts"),
+ qt_("This font is not installed and won't be used in output"),
+ false, false, false, true);
+ fontModule->fontsRomanCO->set(font);
}
- fontModule->fontsRomanCO->setCurrentIndex(rpos);
fontModule->font_roman = toqstr(bp_.fonts_roman[!bp_.useNonTeXFonts]);
font = toqstr(bp_.fontsSans());
- int spos = fontModule->fontsSansCO->findData(font);
- if (spos == -1) {
- spos = fontModule->fontsSansCO->count();
- fontModule->fontsSansCO->addItem(font + qt_(" (not installed)"), font);
+ foundfont = fontModule->fontsSansCO->set(font);
+ if (!foundfont ) {
+ fontModule->fontsSansCO->addItemSort(font, font + qt_(" (not installed)"),
+ qt_("Uninstalled used fonts"),
+ qt_("This font is not installed and won't be used in output"),
+ false, false, false, true);
+ fontModule->fontsSansCO->set(font);
}
- fontModule->fontsSansCO->setCurrentIndex(spos);
fontModule->font_sans = toqstr(bp_.fonts_sans[!bp_.useNonTeXFonts]);
font = toqstr(bp_.fontsTypewriter());
- int tpos = fontModule->fontsTypewriterCO->findData(font);
- if (tpos == -1) {
- tpos = fontModule->fontsTypewriterCO->count();
- fontModule->fontsTypewriterCO->addItem(font + qt_(" (not installed)"), font);
+ foundfont = fontModule->fontsTypewriterCO->set(font);
+ if (!foundfont) {
+ fontModule->fontsTypewriterCO->addItemSort(font, font + qt_(" (not installed)"),
+ qt_("Uninstalled used fonts"),
+ qt_("This font is not installed and won't be used in output"),
+ false, false, false, true);
+ fontModule->fontsTypewriterCO->set(font);
}
- fontModule->fontsTypewriterCO->setCurrentIndex(tpos);
fontModule->font_typewriter = toqstr(bp_.fonts_typewriter[!bp_.useNonTeXFonts]);
font = toqstr(bp_.fontsMath());
fontModule->fontencLA->setEnabled(true);
fontModule->fontencCO->setEnabled(true);
fontModule->fontencLE->setEnabled(true);
- romanChanged(rpos);
- sansChanged(spos);
- ttChanged(tpos);
+ romanChanged(fontModule->fontsRomanCO->currentIndex());
+ sansChanged(fontModule->fontsSansCO->currentIndex());
+ ttChanged(fontModule->fontsTypewriterCO->currentIndex());
}
if (!bp_.fonts_cjk.empty())