this, SLOT(classChanged()));
connect(latexModule->classCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
+ connect(latexModule->layoutPB, SIGNAL(clicked()),
+ this, SLOT(browseLayout()));
selectionManager =
new ModuleSelMan(latexModule->availableLV, latexModule->selectedLV,
}
+void GuiDocument::browseLayout()
+{
+ QString const label1 = qt_("Layouts|#o#O");
+ QString const dir1 = toqstr(lyxrc.document_path);
+ FileFilterList const filter(_("LyX Layout (*.layout)"));
+ QString file = browseRelFile(QString(), bufferFilepath(),
+ qt_("Local layout file"), filter, false,
+ label1, dir1);
+
+ if (!suffixIs(fromqstr(file), ".layout"))
+ return;
+
+ FileName layoutFile = makeAbsPath(fromqstr(file),
+ fromqstr(bufferFilepath()));
+
+ // load the layout file
+ LayoutFileList & bcl = LayoutFileList::get();
+ string classname = layoutFile.onlyFileName();
+ LayoutFileIndex name = bcl.addLayoutFile(
+ classname.substr(0, classname.size() - 7),
+ layoutFile.onlyPath().absFilename(),
+ LayoutFileList::Local);
+
+ if (name.empty()) {
+ Alert::error(_("Error"),
+ _("Unable to read local layout file."));
+ return;
+ }
+
+ // do not trigger classChanged if there is no change.
+ if (latexModule->classCO->currentText() == toqstr(name))
+ return;
+
+ // add to combo box
+ int idx = latexModule->classCO->findText(toqstr(name));
+ if (idx == -1) {
+ classes_model_.insertRow(0, toqstr(name), name);
+ latexModule->classCO->setCurrentIndex(0);
+ } else
+ latexModule->classCO->setCurrentIndex(idx);
+ classChanged();
+}
+
+
void GuiDocument::classChanged()
{
int idx = latexModule->classCO->currentIndex();
setLayoutComboByIDString(bp_.baseClassID());
return;
}
+ } else if (prefixIs(classname, LayoutFileList::embeddedPrefix)) {
+ int const ret = Alert::prompt(_("Embedded layout"),
+ _("The layout file you have selected is an embedded layout that\n"
+ "is embedded to a buffer. You cannot make use of it unless\n"
+ "it is already embedded to this buffer.\n"),
+ 1, 1, _("&Set Layout"), _("&Cancel"));
+ if (ret == 1) {
+ setLayoutComboByIDString(bp_.baseClassID());
+ return;
+ }
}
if (!bp_.setBaseClass(classname)) {
Alert::error(_("Error"), _("Unable to set document class."));
void GuiDocument::addExtraEmbeddedFile()
{
+ QString const label1 = qt_("Documents|#o#O");
+ QString const dir1 = toqstr(lyxrc.document_path);
+ FileFilterList const filter(_("LyX Layout (*.layout);;LaTeX Classes (*.{cls,sty});;BibTeX Databases (*.{bib,bst})"));
QString file = browseRelFile(QString(), bufferFilepath(),
- qt_("Extra embedded file"), FileFilterList(), true);
+ qt_("Extra embedded file"), filter, true, label1, dir1);
+
+ if (file.isEmpty())
+ return;
if (embeddedFilesModule->extraLW->findItems(file, Qt::MatchExactly).empty())
embeddedFilesModule->extraLW->addItem(file);
fromqstr(langModule->encodingCO->currentText());
}
- InsetQuotes::quote_language lga = InsetQuotes::EnglishQ;
+ InsetQuotes::QuoteLanguage lga = InsetQuotes::EnglishQuotes;
switch (langModule->quoteStyleCO->currentIndex()) {
case 0:
- lga = InsetQuotes::EnglishQ;
+ lga = InsetQuotes::EnglishQuotes;
break;
case 1:
- lga = InsetQuotes::SwedishQ;
+ lga = InsetQuotes::SwedishQuotes;
break;
case 2:
- lga = InsetQuotes::GermanQ;
+ lga = InsetQuotes::GermanQuotes;
break;
case 3:
- lga = InsetQuotes::PolishQ;
+ lga = InsetQuotes::PolishQuotes;
break;
case 4:
- lga = InsetQuotes::FrenchQ;
+ lga = InsetQuotes::FrenchQuotes;
break;
case 5:
- lga = InsetQuotes::DanishQ;
+ lga = InsetQuotes::DanishQuotes;
break;
}
params.quotes_language = lga;
InsetListingsParams(fromqstr(textLayoutModule->listingsED->toPlainText())).params();
if (textLayoutModule->indentRB->isChecked())
- params.paragraph_separation = BufferParams::PARSEP_INDENT;
+ params.paragraph_separation = BufferParams::ParagraphIndentSeparation;
else
- params.paragraph_separation = BufferParams::PARSEP_SKIP;
+ params.paragraph_separation = BufferParams::ParagraphSkipSeparation;
switch (textLayoutModule->skipCO->currentIndex()) {
case 0:
// Embedded files
vector<string> & files = params.extraEmbeddedFiles();
files.clear();
- for (size_t i = 0; i < embeddedFilesModule->extraLW->count(); ++i) {
+ for (int i = 0; i < embeddedFilesModule->extraLW->count(); ++i) {
QListWidgetItem * item = embeddedFilesModule->extraLW->item(i);
files.push_back(fromqstr(item->text()));
}
// biblio
biblioModule->citeDefaultRB->setChecked(
- params.getEngine() == biblio::ENGINE_BASIC);
+ params.citeEngine() == biblio::ENGINE_BASIC);
biblioModule->citeNatbibRB->setChecked(
- params.getEngine() == biblio::ENGINE_NATBIB_NUMERICAL ||
- params.getEngine() == biblio::ENGINE_NATBIB_AUTHORYEAR);
+ params.citeEngine() == biblio::ENGINE_NATBIB_NUMERICAL ||
+ params.citeEngine() == biblio::ENGINE_NATBIB_AUTHORYEAR);
biblioModule->citeStyleCO->setCurrentIndex(
- params.getEngine() == biblio::ENGINE_NATBIB_NUMERICAL);
+ params.citeEngine() == biblio::ENGINE_NATBIB_NUMERICAL);
biblioModule->citeJurabibRB->setChecked(
- params.getEngine() == biblio::ENGINE_JURABIB);
+ params.citeEngine() == biblio::ENGINE_JURABIB);
biblioModule->bibtopicCB->setChecked(
params.use_bibtopic);
}
setLSpacing(nitem);
- if (params.paragraph_separation == BufferParams::PARSEP_INDENT)
+ if (params.paragraph_separation == BufferParams::ParagraphIndentSeparation)
textLayoutModule->indentRB->setChecked(true);
else
textLayoutModule->skipRB->setChecked(true);
static void dispatch_bufferparams(Dialog const & dialog,
- BufferParams const & bp, kb_action lfun)
+ BufferParams const & bp, FuncCode lfun)
{
ostringstream ss;
ss << "\\begin_header\n";