X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt2%2FQDocumentDialog.C;h=960167b63edc0278e400cf202e89af3882ace76b;hb=1fcedd4b635807e7046342f324d054c04c37f054;hp=6c0d258cf72e495cb53f3dd74e8474a42c4b786f;hpb=eca7848597e2f6b170c7268a2c1974e8a6524356;p=lyx.git diff --git a/src/frontends/qt2/QDocumentDialog.C b/src/frontends/qt2/QDocumentDialog.C index 6c0d258cf7..960167b63e 100644 --- a/src/frontends/qt2/QDocumentDialog.C +++ b/src/frontends/qt2/QDocumentDialog.C @@ -9,14 +9,11 @@ */ #include -#include "gettext.h" +#include "qt_helpers.h" #include "ControlDocument.h" #include "QDocument.h" -#ifdef __GNUG__ -#pragma implementation -#endif #include "QDocumentDialog.h" @@ -41,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -56,46 +54,46 @@ QDocumentDialog::QDocumentDialog(QDocument * form) form, SLOT(slotOK())); connect(applyPB, SIGNAL(clicked()), form, SLOT(slotApply())); - connect(cancelPB, SIGNAL(clicked()), + connect(closePB, SIGNAL(clicked()), form, SLOT(slotClose())); connect(restorePB, SIGNAL(clicked()), form, SLOT(slotRestore())); moduleLB->clear(); - moduleLB->insertItem(_("Layout"), LAYOUT); - moduleLB->insertItem(_("Packages"), PACKAGES); - moduleLB->insertItem(_("Paper"), PAPER); - moduleLB->insertItem(_("Margins"), MARGINS); - moduleLB->insertItem(_("Language"), LANGUAGE); - moduleLB->insertItem(_("Bullets"), BULLETS); - moduleLB->insertItem(_("Numbering"), NUMBERING); - moduleLB->insertItem(_("Bibliography"), BIBLIOGRAPHY); - moduleLB->insertItem(_("Preamble"), PREAMBLE); + moduleLB->insertItem(qt_("Layout"), LAYOUT); + moduleLB->insertItem(qt_("Paper"), PAPER); + moduleLB->insertItem(qt_("Margins"), MARGINS); + moduleLB->insertItem(qt_("Language"), LANGUAGE); + moduleLB->insertItem(qt_("Bullets"), BULLETS); + moduleLB->insertItem(qt_("Numbering"), NUMBERING); + moduleLB->insertItem(qt_("Bibliography"), BIBLIOGRAPHY); + moduleLB->insertItem(qt_("Packages"), PACKAGES); + moduleLB->insertItem(qt_("Preamble"), PREAMBLE); moduleLB->setCurrentItem(LAYOUT); - moduleLB->setMinimumSize(moduleLB->sizeHint()); + moduleLB->setMinimumSize(moduleLB->sizeHint()); layoutModule = new ClassModuleBase(this); paperModule = new PaperModuleBase(this); marginsModule = new MarginsModuleBase(this); - packagesModule = new PackagesModuleBase(this); langModule = new LanguageModuleBase(this); bulletsModule = new BulletsModule(this); numberingModule = new NumberingModuleBase(this); biblioModule = new BiblioModuleBase(this); + packagesModule = new PackagesModuleBase(this); preambleModule = new PreambleModuleBase(this); - moduleStack->addWidget(layoutModule,LAYOUT); - moduleStack->addWidget(paperModule,PAPER); - moduleStack->addWidget(marginsModule,MARGINS); - moduleStack->addWidget(packagesModule,PACKAGES); - moduleStack->addWidget(langModule,LANGUAGE); - moduleStack->addWidget(bulletsModule,BULLETS); - moduleStack->addWidget(numberingModule,NUMBERING); - moduleStack->addWidget(biblioModule,BIBLIOGRAPHY); - moduleStack->addWidget(preambleModule,PREAMBLE); + moduleStack->addWidget(layoutModule, LAYOUT); + moduleStack->addWidget(paperModule, PAPER); + moduleStack->addWidget(marginsModule, MARGINS); + moduleStack->addWidget(langModule, LANGUAGE); + moduleStack->addWidget(bulletsModule, BULLETS); + moduleStack->addWidget(numberingModule, NUMBERING); + moduleStack->addWidget(biblioModule, BIBLIOGRAPHY); + moduleStack->addWidget(packagesModule, PACKAGES); + moduleStack->addWidget(preambleModule, PREAMBLE); moduleStack->raiseWidget(LAYOUT); - + // take care of title QFont f = titleL->font(); @@ -103,163 +101,149 @@ QDocumentDialog::QDocumentDialog(QDocument * form) titleL->setFont(f); setTitle(LAYOUT); - // FIXME: Edwin, please change this by making each module have - // a change_adaptor(), and connecting inside designer; then - // connect each module's change_adaptor to the main form's - // one here. - - // preamble + // preamble connect(preambleModule->preambleMLE, SIGNAL(textChanged()), - this , SLOT(change_adaptor())); - // biblio + this, SLOT(change_adaptor())); + // biblio connect(biblioModule->natbibCB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(biblioModule->citeStyleCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - // language & quote + this, SLOT(change_adaptor())); + // language & quote connect(langModule->singleQuoteRB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(langModule->doubleQuoteRB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(langModule->languageCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); + connect(langModule->defaultencodingCB, SIGNAL(toggled(bool)), + this, SLOT(change_adaptor())); + connect(langModule->encodingCO, SIGNAL(activated(int)), + this, SLOT(change_adaptor())); connect(langModule->quoteStyleCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - // numbering + this, SLOT(change_adaptor())); + // numbering connect(numberingModule->sectionnrDepthSB, SIGNAL(valueChanged(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(numberingModule->tocDepthSB, SIGNAL(valueChanged(int)), - this , SLOT(change_adaptor())); - // packages - connect(packagesModule->lspacingCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - connect(packagesModule->lspacingCO, SIGNAL(activated(int)), - this , SLOT(setLSpacing(int))); - connect(packagesModule->lspacingLE, - SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); - connect(packagesModule->encodingCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); + // packages connect(packagesModule->amsCB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(packagesModule->psdriverCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - // layout + this, SLOT(change_adaptor())); + // layout connect(layoutModule->classCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->optionsLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->pagestyleCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->fontsCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->fontsizeCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); + connect(layoutModule->lspacingCO, SIGNAL(activated(int)), + this, SLOT(change_adaptor())); + connect(layoutModule->lspacingCO, SIGNAL(activated(int)), + this, SLOT(setLSpacing(int))); + connect(layoutModule->lspacingLE, + SIGNAL(textChanged(const QString&)), + this, SLOT(change_adaptor())); connect(layoutModule->floatPlacementLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->skipRB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->indentRB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->skipCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->skipLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->skipLengthCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(layoutModule->classCO, SIGNAL(activated(int)), - this , SLOT(classChanged())); + this, SLOT(classChanged())); connect(layoutModule->skipCO, SIGNAL(activated(int)), - this , SLOT(setSkip(int))); + this, SLOT(setSkip(int))); connect(layoutModule->skipRB, SIGNAL(toggled(bool)), - this , SLOT(enableSkip(bool))); + this, SLOT(enableSkip(bool))); - // margins + // margins connect(marginsModule->marginCO, SIGNAL(activated(int)), - this , SLOT(setCustomMargins(int))); + this, SLOT(setCustomMargins(int))); connect(marginsModule->marginCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->topLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->topUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->bottomLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->bottomUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->innerLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->innerUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->outerLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->outerUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->headheightLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->headheightUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->headsepLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->headsepUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->footskipLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(marginsModule->footskipUnit, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); - // paper + // paper connect(paperModule->papersizeCO, SIGNAL(activated(int)), - this , SLOT(setMargins(int))); + this, SLOT(setMargins(int))); connect(paperModule->papersizeCO, SIGNAL(activated(int)), - this , SLOT(setCustomPapersize(int))); + this, SLOT(setCustomPapersize(int))); connect(paperModule->papersizeCO, SIGNAL(activated(int)), - this , SLOT(setCustomPapersize(int))); + this, SLOT(setCustomPapersize(int))); + connect(paperModule->portraitRB, SIGNAL(toggled(bool)), + this, SLOT(portraitChanged())); connect(paperModule->papersizeCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->paperheightLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->paperwidthLE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->paperwidthUnitCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->paperheightUnitCO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->portraitRB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->landscapeRB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->twoColumnCB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); connect(paperModule->facingPagesCB, SIGNAL(toggled(bool)), - this , SLOT(change_adaptor())); - - // bullets - connect(bulletsModule->bullet1LE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bulletsize1CO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bullet2LE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bulletsize2CO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bullet3LE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bulletsize3CO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bullet4LE, SIGNAL(textChanged(const QString&)), - this , SLOT(change_adaptor())); - connect(bulletsModule->bulletsize4CO, SIGNAL(activated(int)), - this , SLOT(change_adaptor())); + this, SLOT(change_adaptor())); + // bullets + connect(bulletsModule->bulletsizeCO, SIGNAL(activated(int)), + this, SLOT(change_adaptor())); + connect(bulletsModule->bulletsLV, SIGNAL(selectionChanged()), + this, SLOT(change_adaptor())); } @@ -272,31 +256,31 @@ void QDocumentDialog::setTitle(int item) { switch(item) { case LAYOUT: - titleL->setText(_("Document Style")); - break; - case PACKAGES: - titleL->setText(_("LaTeX Packages")); + titleL->setText(qt_("Document Style")); break; case PAPER: - titleL->setText(_("Papersize and Orientation")); + titleL->setText(qt_("Papersize and Orientation")); break; case MARGINS: - titleL->setText(_("Margins")); + titleL->setText(qt_("Margins")); break; case LANGUAGE: - titleL->setText(_("Language Settings and Quote Style")); + titleL->setText(qt_("Language Settings and Quote Style")); break; case BULLETS: - titleL->setText(_("Bullet Types")); + titleL->setText(qt_("Bullet Types")); break; case NUMBERING: - titleL->setText(_("Numbering")); + titleL->setText(qt_("Numbering")); break; case BIBLIOGRAPHY: - titleL->setText(_("Bibliography Settings")); + titleL->setText(qt_("Bibliography Settings")); + break; + case PACKAGES: + titleL->setText(qt_("LaTeX Packages and Options")); break; case PREAMBLE: - titleL->setText(_("LaTeX Preamble")); + titleL->setText(qt_("LaTeX Preamble")); break; } } @@ -329,7 +313,7 @@ void QDocumentDialog::closeEvent(QCloseEvent * e) void QDocumentDialog::setLSpacing(int item) { - packagesModule->lspacingLE->setEnabled(item == 3); + layoutModule->lspacingLE->setEnabled(item == 3); } @@ -350,20 +334,25 @@ void QDocumentDialog::enableSkip(bool skip) setSkip(layoutModule->skipCO->currentItem()); } +void QDocumentDialog::portraitChanged() +{ + setMargins(paperModule->papersizeCO->currentItem()); +} void QDocumentDialog::setMargins(int papersize) { - QStringList a4only; - QStringList normal; - a4only << _("Small Margins") << _("Very small Margins") - << _("Very wide Margins "); - normal << _("Default") << _("Custom"); - int olditem = marginsModule->marginCO->currentItem(); marginsModule->marginCO->clear(); - marginsModule->marginCO->insertStringList(normal); - if (papersize==6) { - marginsModule->marginCO->insertStringList(a4only); + marginsModule->marginCO->insertItem(qt_("Default")); + marginsModule->marginCO->insertItem(qt_("Custom")); + bool a4size = (papersize == 6 || papersize == 0 + && lyxrc.default_papersize == BufferParams::PAPER_A4PAPER); + if (a4size && paperModule->portraitRB->isChecked()) { + marginsModule->marginCO->insertItem(qt_("Small margins")); + marginsModule->marginCO->insertItem(qt_("Very small margins")); + marginsModule->marginCO->insertItem(qt_("Very wide margins")); + } else if (olditem > 1) { + olditem = 0; } marginsModule->marginCO->setCurrentItem(olditem); setCustomMargins(olditem); @@ -426,10 +415,10 @@ void QDocumentDialog::updateFontsize(string const & items, string const & sel) for (int n=0; !token(items,'|',n).empty(); ++n) layoutModule->fontsizeCO-> - insertItem(token(items,'|',n).c_str()); + insertItem(toqstr(token(items,'|',n))); for (int n = 0; nfontsizeCO->count(); ++n) { - if (layoutModule->fontsizeCO->text(n).latin1()==sel) { + if (fromqstr(layoutModule->fontsizeCO->text(n)) == sel) { layoutModule->fontsizeCO->setCurrentItem(n); break; } @@ -444,10 +433,10 @@ void QDocumentDialog::updatePagestyle(string const & items, string const & sel) for (int n=0; !token(items,'|',n).empty(); ++n) layoutModule->pagestyleCO-> - insertItem(token(items,'|',n).c_str()); + insertItem(toqstr(token(items,'|',n))); for (int n = 0; npagestyleCO->count(); ++n) { - if (layoutModule->pagestyleCO->text(n).latin1()==sel) { + if (fromqstr(layoutModule->pagestyleCO->text(n))==sel) { layoutModule->pagestyleCO->setCurrentItem(n); break; } @@ -457,23 +446,31 @@ void QDocumentDialog::updatePagestyle(string const & items, string const & sel) void QDocumentDialog::classChanged() { - unsigned int tc = layoutModule->classCO->currentItem(); + ControlDocument & cntrl = form_->controller(); + BufferParams & params = cntrl.params(); - BufferParams & params = form_->controller().params(); - params.textclass = layoutModule->classCO->currentItem(); + lyx::textclass_type const tc = layoutModule->classCO->currentItem(); - if (lyxrc.auto_reset_options) { - params.textclass = tc; - params.useClassDefaults(); - form_->update_contents(); - } else { - // update the params which are needed in any case - // (fontsizes, pagestyle) + if (form_->controller().loadTextclass(tc)) { params.textclass = tc; - updateFontsize(form_->controller().textClass().opt_fontsize(), - params.fontsize); - updatePagestyle(form_->controller().textClass().opt_pagestyle(), - params.pagestyle); + if (lyxrc.auto_reset_options) { + params.useClassDefaults(); + form_->update_contents(); + } else { + updateFontsize(cntrl.textClass().opt_fontsize(), + params.fontsize); + + updatePagestyle(cntrl.textClass().opt_pagestyle(), + params.pagestyle); + } + } else { + for (int n = 0; nclassCO->count(); ++n) { + if (layoutModule->classCO->text(n) == + toqstr(cntrl.textClass().description())) { + layoutModule->classCO->setCurrentItem(n); + break; + } + } } }