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