diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index 8e47d9ed24..ec015597e9 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -1744,11 +1744,12 @@ void GuiDocument::applyView() string const bibtex_command = fromqstr(biblioModule->bibtexCO->itemData( biblioModule->bibtexCO->currentIndex()).toString()); - if (bibtex_command == "default") + string const bibtex_options = + fromqstr(biblioModule->bibtexOptionsED->text()); + if (bibtex_command == "default" || bibtex_options.empty()) bp_.bibtex_command = bibtex_command; else - bp_.bibtex_command = bibtex_command + " " - + fromqstr(biblioModule->bibtexOptionsED->text()); + bp_.bibtex_command = bibtex_command + " " + bibtex_options; // Indices indicesModule->apply(bp_); diff --git a/src/frontends/qt4/GuiIndices.cpp b/src/frontends/qt4/GuiIndices.cpp index d44a377d13..969b86ad5d 100644 --- a/src/frontends/qt4/GuiIndices.cpp +++ b/src/frontends/qt4/GuiIndices.cpp @@ -136,11 +136,11 @@ void GuiIndices::apply(BufferParams & params) const string const index_command = fromqstr(indexCO->itemData( indexCO->currentIndex()).toString()); - if (index_command == "default") + string const index_options = fromqstr(indexOptionsED->text()); + if (index_command == "default" || index_options.empty()) params.index_command = index_command; else - params.index_command = index_command + " " - + fromqstr(indexOptionsED->text()); + params.index_command = index_command + " " + index_options; } diff --git a/src/frontends/qt4/GuiPrefs.cpp b/src/frontends/qt4/GuiPrefs.cpp index 596233bdb8..818a3e2396 100644 --- a/src/frontends/qt4/GuiPrefs.cpp +++ b/src/frontends/qt4/GuiPrefs.cpp @@ -670,19 +670,29 @@ void PrefLatex::on_latexIndexCO_activated(int n) void PrefLatex::apply(LyXRC & rc) const { + // If bibtex is not empty, bibopt contains the options, otherwise + // it is a customized bibtex command with options. QString const bibtex = latexBibtexCO->itemData( latexBibtexCO->currentIndex()).toString(); + QString const bibopt = latexBibtexED->text(); if (bibtex.isEmpty()) - rc.bibtex_command = fromqstr(latexBibtexED->text()); + rc.bibtex_command = fromqstr(bibopt); + else if (bibopt.isEmpty()) + rc.bibtex_command = fromqstr(bibtex); else - rc.bibtex_command = fromqstr(bibtex) + " " + fromqstr(latexBibtexED->text()); + rc.bibtex_command = fromqstr(bibtex) + " " + fromqstr(bibopt); + // If index is not empty, idxopt contains the options, otherwise + // it is a customized index command with options. QString const index = latexIndexCO->itemData( latexIndexCO->currentIndex()).toString(); + QString const idxopt = latexIndexED->text(); if (index.isEmpty()) - rc.index_command = fromqstr(latexIndexED->text()); + rc.index_command = fromqstr(idxopt); + else if (idxopt.isEmpty()) + rc.index_command = fromqstr(index); else - rc.index_command = fromqstr(index) + " " + fromqstr(latexIndexED->text()); + rc.index_command = fromqstr(index) + " " + fromqstr(idxopt); rc.fontenc = fromqstr(latexEncodingED->text()); rc.chktex_command = fromqstr(latexChecktexED->text());