// initialize the length validator
bc().addCheckedLineEdit(textLayoutModule->indentLE);
bc().addCheckedLineEdit(textLayoutModule->skipLE);
-
+
textLayoutModule->tableStyleCO->addItem(qt_("Default"), toqstr("default"));
getTableStyles();
this, SLOT(change_adaptor()));
connect(langModule->languageCO, SIGNAL(activated(int)),
this, SLOT(languageChanged(int)));
- connect(langModule->encodingCO, SIGNAL(activated(int)),
+ connect(langModule->unicodeEncodingCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(langModule->encodingCO, SIGNAL(activated(int)),
- this, SLOT(encodingSwitched(int)));
- connect(langModule->customEncodingCO, SIGNAL(activated(int)),
+ connect(langModule->autoEncodingCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
- connect(langModule->noInputencCB, SIGNAL(clicked()),
+ connect(langModule->customEncodingCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
+ connect(langModule->autoEncodingRB, SIGNAL(toggled(bool)),
+ this, SLOT(change_encoding()));
+ connect(langModule->unicodeEncodingRB, SIGNAL(toggled(bool)),
+ this, SLOT(change_encoding()));
+ connect(langModule->customEncodingRB, SIGNAL(toggled(bool)),
+ this, SLOT(change_encoding()));
connect(langModule->quoteStyleCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
connect(langModule->languagePackageCO, SIGNAL(activated(int)),
langModule->languageCO->setModel(language_model);
langModule->languageCO->setModelColumn(0);
- langModule->encodingCO->addItem(qt_("Unicode (utf8)"), toqstr("utf8"));
- langModule->encodingCO->addItem(qt_("Traditional (auto-selected)"),
- toqstr("auto-legacy"));
- // langModule->encodingCO->addItem(qt_("ASCII"), toqstr("ascii"));
- langModule->encodingCO->addItem(qt_("Custom"), toqstr("custom"));
+ QMap<QString,QString> encodingmap_utf8;
+ for (auto const & encvar : encodings) {
+ if (!encvar.unsafe() && !encvar.guiName().empty()
+ && std::string(encvar.name()).find("utf8") == 0)
+ encodingmap_utf8.insert(qt_(encvar.guiName()), qt_(encvar.name()));
+ }
+ QMap<QString, QString>::const_iterator it8 = encodingmap_utf8.constBegin();
+ while (it8 != encodingmap_utf8.constEnd()) {
+ langModule->unicodeEncodingCO->addItem(it8.key(), it8.value());
+ ++it8;
+ }
+
+ langModule->autoEncodingCO->addItem(qt_("legacy language default"), toqstr("auto-legacy"));
+ langModule->autoEncodingCO->addItem(qt_("legacy language default (no inputenc)"), toqstr("auto-legacy-plain"));
QMap<QString,QString> encodingmap;
for (auto const & encvar : encodings) {
- if (!encvar.unsafe() && !encvar.guiName().empty())
+ if (!encvar.unsafe() && !encvar.guiName().empty()
+ && std::string(encvar.name()).find("utf8") != 0)
encodingmap.insert(qt_(encvar.guiName()), qt_(encvar.name()));
}
QMap<QString, QString>::const_iterator it = encodingmap.constBegin();
changed();
}
+void GuiDocument::change_encoding()
+{
+ encodingSwitched();
+ nonModuleChanged_ = true;
+ changed();
+}
void GuiDocument::shellescapeChanged()
{
fontModule->font_math = font_math;
fontModule->font_sf_scale = font_sf_scale;
fontModule->font_tt_scale = font_tt_scale;
-
- langModule->customEncodingCO->setEnabled(tex_fonts &&
- langModule->encodingCO->itemData(
- langModule->encodingCO->currentIndex()).toString() == "custom");
- langModule->encodingCO->setEnabled(tex_fonts);
- langModule->noInputencCB->setEnabled(tex_fonts
- && langModule->encodingCO->currentIndex() < 2);
- if (!tex_fonts)
- langModule->noInputencCB->setChecked(false);
+ // enable/disable input encoding selection
+ langModule->unicodeEncodingRB->setEnabled(tex_fonts);
+ langModule->autoEncodingRB->setEnabled(tex_fonts);
+ langModule->customEncodingRB->setEnabled(tex_fonts);
+ encodingSwitched();
fontModule->fontsDefaultCO->setEnabled(tex_fonts);
fontModule->fontsDefaultLA->setEnabled(tex_fonts);
}
-void GuiDocument::encodingSwitched(int i)
+void GuiDocument::encodingSwitched()
{
- langModule->customEncodingCO->setEnabled(
- !fontModule->osFontsCB->isChecked()
- && langModule->encodingCO->itemData(i).toString() == "custom");
- langModule->noInputencCB->setEnabled(!fontModule->osFontsCB->isChecked()
- && langModule->encodingCO->currentIndex() < 2);
- if (!langModule->noInputencCB->isEnabled())
- langModule->noInputencCB->setChecked(false);
-
+ bool const tex_fonts = !fontModule->osFontsCB->isChecked();
+ langModule->unicodeEncodingCO->setEnabled(tex_fonts
+ && langModule->unicodeEncodingRB->isChecked());
+ langModule->autoEncodingCO->setEnabled(tex_fonts
+ && langModule->autoEncodingRB->isChecked());
+ langModule->customEncodingCO->setEnabled(tex_fonts
+ && langModule->customEncodingRB->isChecked());
}
indicesModule->apply(bp_);
// language & quotes
- QString const encoding = langModule->encodingCO->itemData(
- langModule->encodingCO->currentIndex()).toString();
- if (encoding != "custom")
- bp_.inputenc = fromqstr(encoding);
- else
+ if (langModule->unicodeEncodingRB->isChecked())
+ bp_.inputenc = fromqstr(langModule->unicodeEncodingCO->itemData(
+ langModule->unicodeEncodingCO->currentIndex()).toString());
+ else if (langModule->autoEncodingRB->isChecked())
+ bp_.inputenc = fromqstr(langModule->autoEncodingCO->itemData(
+ langModule->autoEncodingCO->currentIndex()).toString());
+ else if (langModule->customEncodingRB->isChecked())
bp_.inputenc = fromqstr(langModule->customEncodingCO->itemData(
langModule->customEncodingCO->currentIndex()).toString());
- if (langModule->noInputencCB->isChecked()
- && (encoding == "auto-legacy" || encoding == "utf8"))
- bp_.inputenc += "-plain";
+ else // this should never happen
+ bp_.inputenc = "utf8";
bp_.quotes_style = (InsetQuotesParams::QuoteStyle) langModule->quoteStyleCO->itemData(
langModule->quoteStyleCO->currentIndex()).toInt();
langModule->quoteStyleCO->setCurrentIndex(
langModule->quoteStyleCO->findData(bp_.quotes_style));
langModule->dynamicQuotesCB->setChecked(bp_.dynamic_quotes);
-
+ // LaTeX input encoding
QString inputenc = toqstr(bp_.inputenc);
- bool plain = false;
- if (inputenc.endsWith("-plain")) {
- inputenc = inputenc.left(inputenc.lastIndexOf("-plain"));
- plain = true;
- }
- langModule->noInputencCB->setChecked(plain);
- int p = langModule->encodingCO->findData(inputenc);
- if (p != -1)
- langModule->encodingCO->setCurrentIndex(p);
- else {
- langModule->encodingCO->setCurrentIndex(
- langModule->encodingCO->findData("custom"));
+ int p;
+ if (inputenc.startsWith("utf8")) {
+ langModule->unicodeEncodingRB->setChecked(true);
+ p = langModule->unicodeEncodingCO->findData(inputenc);
+ if (p != -1) {
+ langModule->unicodeEncodingCO->setCurrentIndex(p);
+ }
+ } else if (inputenc.startsWith("auto")) {
+ langModule->autoEncodingRB->setChecked(true);
+ p = langModule->autoEncodingCO->findData(inputenc);
+ if (p != -1) {
+ langModule->autoEncodingCO->setCurrentIndex(p);
+ }
+ } else {
+ langModule->customEncodingRB->setChecked(true);
p = langModule->customEncodingCO->findData(inputenc);
- if (p != -1)
+ if (p != -1) {
langModule->customEncodingCO->setCurrentIndex(p);
- else
- langModule->encodingCO->setCurrentIndex(0);
+ }
}
-
+ encodingSwitched();
+ // language package
p = langModule->languagePackageCO->findData(toqstr(bp_.lang_package));
if (p == -1) {
langModule->languagePackageCO->setCurrentIndex(
</widget>
</item>
<item row="1" column="1">
- <widget class="QComboBox" name="quoteStyleCO"/>
+ <widget class="QComboBox" name="quoteStyleCO">
+ <property name="toolTip">
+ <string>Select the default style of Quote insets.</string>
+ </property>
+ </widget>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout"/>
<item row="1" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="2">
+ <widget class="QComboBox" name="unicodeEncodingCO">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip">
+ <string>Select Unicode (utf8) variant.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="autoEncodingCO">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip">
+ <string>Specify whether to load the 'inputenc' package
+ and write input encoding switch commands to the source.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
<widget class="QComboBox" name="customEncodingCO">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
- <string>If you selected a custom output encoding to the left, yo can specifiy it here</string>
+ <string>Select encoding</string>
</property>
</widget>
</item>
- <item row="2" column="1">
+ <item row="3" column="1">
<widget class="QComboBox" name="languagePackageCO">
<property name="toolTip">
<string>Select which language package LyX should use</string>
</property>
</widget>
</item>
- <item row="2" column="0">
+ <item row="3" column="0">
<widget class="QLabel" name="languagePackageLA">
<property name="text">
<string>Language pa&ckage:</string>
<property name="text">
<string>&Encoding:</string>
</property>
+ <property name="toolTip">
+ <string>Encoding of the generated LaTeX source
+ (LaTeX input encoding).</string>
+ </property>
<property name="buddy">
- <cstring>encodingCO</cstring>
+ <cstring>unicodeEncodingRB</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
- <widget class="QComboBox" name="encodingCO">
+ <widget class="QRadioButton" name="unicodeEncodingRB">
<property name="enabled">
<bool>true</bool>
</property>
- <property name="toolTip">
- <string>Here you might adjust the output encoding (used for LaTeX files)</string>
+ <property name="text">
+ <string>Unicode</string>
</property>
- <property name="duplicatesEnabled">
- <bool>false</bool>
+ <property name="toolTip">
+ <string>Set input encoding to Unicode (utf8).</string>
</property>
</widget>
</item>
- <item row="2" column="2">
- <widget class="QLineEdit" name="languagePackageLE">
+ <item row="1" column="1">
+ <widget class="QRadioButton" name="autoEncodingRB">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Automatic</string>
+ </property>
<property name="toolTip">
- <string>Enter the command to load the language package (default: \usepackage{babel})</string>
+ <string>Use language specific legacy encodings.</string>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="noInputencCB">
- <property name="toolTip">
- <string>If this is checked, LyX does not load the inputenc LaTeX package</string>
+ <item row="2" column="1">
+ <widget class="QRadioButton" name="customEncodingRB">
+ <property name="enabled">
+ <bool>true</bool>
</property>
<property name="text">
- <string>Do not load &inputenc</string>
+ <string>Custom</string>
+ </property>
+ <property name="toolTip">
+ <string>Use custom document-wide encoding.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="languagePackageLE">
+ <property name="toolTip">
+ <string>Enter the command to load the language package (default: \usepackage{babel})</string>
</property>
</widget>
</item>