[LyX/master] Disable language package choice if the class preloads a package
Juergen Spitzmueller
spitz at lyx.org
Sat Apr 13 08:07:57 UTC 2024
commit 5477451e36cd9ff4e99aefea2627fbf63e028004
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Apr 13 10:07:18 2024 +0200
Disable language package choice if the class preloads a package
---
src/frontends/qt/GuiDocument.cpp | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index d4471cff7b..ed20023c93 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -4217,7 +4217,21 @@ void GuiDocument::paramsToDialog()
// LaTeX input encoding: set after the fonts (see below)
- int p = langModule->languagePackageCO->findData(toqstr(bp_.lang_package));
+ // If the class provides babel or polyglossia, do not allow
+ // to change that
+ bool const extern_babel =
+ documentClass().provides("babel");
+ bool const extern_polyglossia =
+ documentClass().provides("polyglossia");
+
+ int p = -1;
+ if (extern_babel)
+ p = langModule->languagePackageCO->findData(toqstr("babel"));
+ else if (extern_polyglossia)
+ p = langModule->languagePackageCO->findData(toqstr("polyglossia"));
+ else
+ p = langModule->languagePackageCO->findData(toqstr(bp_.lang_package));
+
if (p == -1) {
langModule->languagePackageCO->setCurrentIndex(
langModule->languagePackageCO->findData("custom"));
@@ -4226,6 +4240,7 @@ void GuiDocument::paramsToDialog()
langModule->languagePackageCO->setCurrentIndex(p);
langModule->languagePackageLE->clear();
}
+ langModule->languagePackageCO->setEnabled(!extern_babel && !extern_polyglossia);
//color
if (bp_.isfontcolor) {
More information about the lyx-cvs
mailing list