+
+void PrefKeyboard::on_secondKeymapPB_clicked(bool)
+{
+ QString file = testKeymap(secondKeymapED->text());
+ if (!file.isEmpty())
+ secondKeymapED->setText(file);
+}
+
+
+PrefLatex::PrefLatex(QPrefs * form, QWidget * parent)
+: PrefModule(_(Outputs), _("LaTeX"), form, parent)
+{
+ setupUi(this);
+ connect(latexEncodingED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(latexChecktexED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(latexBibtexED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(latexIndexED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(latexAutoresetCB, SIGNAL(toggled(bool)),
+ this, SIGNAL(changed()));
+ connect(latexDviPaperED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(latexPaperSizeCO, SIGNAL(activated(int)),
+ this, SIGNAL(changed()));
+}
+
+
+void PrefLatex::apply(LyXRC & rc) const
+{
+ rc.fontenc = fromqstr(latexEncodingED->text());
+ rc.chktex_command = fromqstr(latexChecktexED->text());
+ rc.bibtex_command = fromqstr(latexBibtexED->text());
+ rc.index_command = fromqstr(latexIndexED->text());
+ rc.auto_reset_options = latexAutoresetCB->isChecked();
+ rc.view_dvi_paper_option = fromqstr(latexDviPaperED->text());
+ rc.default_papersize =
+ form_->controller().toPaperSize(latexPaperSizeCO->currentItem());
+}
+
+
+void PrefLatex::update(LyXRC const & rc)
+{
+ latexEncodingED->setText(toqstr(rc.fontenc));
+ latexChecktexED->setText(toqstr(rc.chktex_command));
+ latexBibtexED->setText(toqstr(rc.bibtex_command));
+ latexIndexED->setText(toqstr(rc.index_command));
+ latexAutoresetCB->setChecked(rc.auto_reset_options);
+ latexDviPaperED->setText(toqstr(rc.view_dvi_paper_option));
+ latexPaperSizeCO->setCurrentIndex(
+ form_->controller().fromPaperSize(rc.default_papersize));
+}
+
+
+PrefScreenFonts::PrefScreenFonts(QPrefs * form, QWidget * parent)
+: PrefModule(_(LookAndFeel), _("Screen fonts"), form, parent)
+{
+ setupUi(this);
+
+ connect(screenRomanCO, SIGNAL(activated(const QString&)),
+ this, SLOT(select_roman(const QString&)));
+ connect(screenSansCO, SIGNAL(activated(const QString&)),
+ this, SLOT(select_sans(const QString&)));
+ connect(screenTypewriterCO, SIGNAL(activated(const QString&)),
+ this, SLOT(select_typewriter(const QString&)));
+
+ QFontDatabase fontdb;
+ QStringList families(fontdb.families());
+ for (QStringList::Iterator it = families.begin(); it != families.end(); ++it) {
+ screenRomanCO->insertItem(*it);
+ screenSansCO->insertItem(*it);
+ screenTypewriterCO->insertItem(*it);
+ }
+ connect(screenRomanCO, SIGNAL(activated(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenSansCO, SIGNAL(activated(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenTypewriterCO, SIGNAL(activated(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenZoomSB, SIGNAL(valueChanged(int)),
+ this, SIGNAL(changed()));
+ connect(screenDpiSB, SIGNAL(valueChanged(int)),
+ this, SIGNAL(changed()));
+ connect(screenTinyED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenSmallestED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenSmallerED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenSmallED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenNormalED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenLargeED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenLargerED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenLargestED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenHugeED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+ connect(screenHugerED, SIGNAL(textChanged(const QString&)),
+ this, SIGNAL(changed()));
+
+ screenTinyED->setValidator(new QDoubleValidator(
+ screenTinyED));
+ screenSmallestED->setValidator(new QDoubleValidator(
+ screenSmallestED));
+ screenSmallerED->setValidator(new QDoubleValidator(
+ screenSmallerED));
+ screenSmallED->setValidator(new QDoubleValidator(
+ screenSmallED));
+ screenNormalED->setValidator(new QDoubleValidator(
+ screenNormalED));
+ screenLargeED->setValidator(new QDoubleValidator(
+ screenLargeED));
+ screenLargerED->setValidator(new QDoubleValidator(
+ screenLargerED));
+ screenLargestED->setValidator(new QDoubleValidator(
+ screenLargestED));
+ screenHugeED->setValidator(new QDoubleValidator(
+ screenHugeED));
+ screenHugerED->setValidator(new QDoubleValidator(
+ screenHugerED));
+}
+
+
+void PrefScreenFonts::apply(LyXRC & rc) const
+{
+ LyXRC const oldrc(rc);
+
+ boost::tie(rc.roman_font_name, rc.roman_font_foundry)
+ = parseFontName(fromqstr(screenRomanCO->currentText()));
+ boost::tie(rc.sans_font_name, rc.sans_font_foundry) =
+ parseFontName(fromqstr(screenSansCO->currentText()));
+ boost::tie(rc.typewriter_font_name, rc.typewriter_font_foundry) =
+ parseFontName(fromqstr(screenTypewriterCO->currentText()));
+
+ rc.zoom = screenZoomSB->value();
+ rc.dpi = screenDpiSB->value();
+ rc.font_sizes[LyXFont::SIZE_TINY] = fromqstr(screenTinyED->text());
+ rc.font_sizes[LyXFont::SIZE_SCRIPT] = fromqstr(screenSmallestED->text());
+ rc.font_sizes[LyXFont::SIZE_FOOTNOTE] = fromqstr(screenSmallerED->text());
+ rc.font_sizes[LyXFont::SIZE_SMALL] = fromqstr(screenSmallED->text());
+ rc.font_sizes[LyXFont::SIZE_NORMAL] = fromqstr(screenNormalED->text());
+ rc.font_sizes[LyXFont::SIZE_LARGE] = fromqstr(screenLargeED->text());
+ rc.font_sizes[LyXFont::SIZE_LARGER] = fromqstr(screenLargerED->text());
+ rc.font_sizes[LyXFont::SIZE_LARGEST] = fromqstr(screenLargestED->text());
+ rc.font_sizes[LyXFont::SIZE_HUGE] = fromqstr(screenHugeED->text());
+ rc.font_sizes[LyXFont::SIZE_HUGER] = fromqstr(screenHugerED->text());
+
+ if (rc.font_sizes != oldrc.font_sizes
+ || rc.roman_font_name != oldrc.roman_font_name
+ || rc.sans_font_name != oldrc.sans_font_name
+ || rc.typewriter_font_name != oldrc.typewriter_font_name
+ || rc.zoom != oldrc.zoom || rc.dpi != oldrc.dpi) {
+ form_->controller().updateScreenFonts();
+ }
+}
+
+
+void PrefScreenFonts::update(LyXRC const & rc)
+{
+ setComboxFont(screenRomanCO, rc.roman_font_name,
+ rc.roman_font_foundry);
+ setComboxFont(screenSansCO, rc.sans_font_name,
+ rc.sans_font_foundry);
+ setComboxFont(screenTypewriterCO, rc.typewriter_font_name,
+ rc.typewriter_font_foundry);
+
+ select_roman(screenRomanCO->currentText());
+ select_sans(screenSansCO->currentText());
+ select_typewriter(screenTypewriterCO->currentText());
+
+ screenZoomSB->setValue(rc.zoom);
+ screenDpiSB->setValue(rc.dpi);
+ screenTinyED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_TINY]));
+ screenSmallestED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_SCRIPT]));
+ screenSmallerED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_FOOTNOTE]));
+ screenSmallED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_SMALL]));
+ screenNormalED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_NORMAL]));
+ screenLargeED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_LARGE]));
+ screenLargerED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_LARGER]));
+ screenLargestED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_LARGEST]));
+ screenHugeED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_HUGE]));
+ screenHugerED->setText(toqstr(rc.font_sizes[LyXFont::SIZE_HUGER]));
+}
+
+void PrefScreenFonts::select_roman(const QString& name)
+{
+ screenRomanFE->set(QFont(name), name);
+}
+
+
+void PrefScreenFonts::select_sans(const QString& name)
+{
+ screenSansFE->set(QFont(name), name);
+}
+
+
+void PrefScreenFonts::select_typewriter(const QString& name)
+{
+ screenTypewriterFE->set(QFont(name), name);
+}
+
+
+PrefColors::PrefColors(QPrefs * form, QWidget * parent)
+: PrefModule(_(LookAndFeel), _("Colors"), form, parent)
+{
+ setupUi(this);