[LyX/master] Some special font UI fixes
Juergen Spitzmueller <[email protected]> Mon, 20 Jul 2026 07:16:02 +0000
| Newsgroups | gmane.editors.lyx.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 788e6529dbd1fa19564d842e03a096ac0b6fb07c Author: Juergen Spitzmueller <[email protected]> Date: Mon Jul 20 09:15:44 2026 +0200 Some special font UI fixes --- src/frontends/qt/GuiDocument.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp index fbfb970b36..5ae667cf9e 100644 --- a/src/frontends/qt/GuiDocument.cpp +++ b/src/frontends/qt/GuiDocument.cpp @@ -2905,8 +2905,12 @@ void GuiDocument::setSpecialFontButtons() return; } bool changed = false; + bool have_rm = false; + bool have_sf = false; + bool have_tt = false; for (auto const & iit : items) { if (iit->data(1, Qt::UserRole).toString() == "rm") { + have_rm = true; if (iit->text(2) != rmfont || iit->checkState(4) != fontSpecialModule->fontSpecialRomanOsfCB->checkState() || iit->text(5) != fontSpecialModule->fontspecRomanSpecialLE->text()) { @@ -2914,6 +2918,7 @@ void GuiDocument::setSpecialFontButtons() break; } } else if (iit->data(1, Qt::UserRole).toString() == "sf") { + have_sf = true; if (iit->text(2) != sffont || iit->text(3).toInt() != fontSpecialModule->scaleSpecialSansSB->value() || iit->checkState(4) != fontSpecialModule->fontSpecialSansOsfCB->checkState() @@ -2922,6 +2927,7 @@ void GuiDocument::setSpecialFontButtons() break; } } else if (iit->data(1, Qt::UserRole).toString() == "tt") { + have_tt = true; if (iit->text(2) != ttfont || iit->text(3).toInt() != fontSpecialModule->scaleSpecialTypewriterSB->value() || iit->checkState(4) != fontSpecialModule->fontSpecialTypewriterOsfCB->checkState() @@ -2931,6 +2937,9 @@ void GuiDocument::setSpecialFontButtons() } } } + if ((!have_rm && rmfont != "default") || (!have_sf && sffont != "default") + || (!have_tt && ttfont != "default")) + changed = true; if (changed) fontSpecialModule->applySpecialFontPB->setText(qt_("Mo&dify")); else @@ -2993,6 +3002,7 @@ void GuiDocument::addSpecialFont() item->setData(1, Qt::UserRole, "rm"); item->setText(2, rmfont); // no scale here + item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); if (rmosf) item->setCheckState(4, Qt::Checked); else @@ -3032,6 +3042,7 @@ void GuiDocument::addSpecialFont() QString sfscl; sfscl.setNum(sfscale); item->setText(3, sfscl); + item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); if (sfosf) item->setCheckState(4, Qt::Checked); else @@ -3071,6 +3082,7 @@ void GuiDocument::addSpecialFont() QString ttscl; ttscl.setNum(ttscale); item->setText(3, ttscl); + item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); if (ttosf) item->setCheckState(4, Qt::Checked); else -- lyx-cvs mailing list [email protected] https://lists.lyx.org/mailman/listinfo/lyx-cvs