#include "frontends/alert.h"
#include "support/ExceptionMessage.h"
+#include "support/docstream.h"
#include "support/filetools.h"
#include "support/lstrings.h"
#include "support/lyxlib.h"
using support::DocFileName;
using support::FileName;
using support::findtexfile;
-using support::isFileReadable;
using support::isValidLaTeXFilename;
using support::latex_path;
using support::ltrim;
{}
+CommandInfo const * InsetBibtex::findInfo(std::string const & /* cmdName */)
+{
+ static const char * const paramnames[] =
+ {"options", "btprint", "bibfiles", ""};
+ static const bool isoptional[] = {true, true, false};
+ static const CommandInfo info = {3, paramnames, isoptional};
+ return &info;
+}
+
+
Inset * InsetBibtex::clone() const
{
return new InsetBibtex(*this);
switch (cmd.action) {
case LFUN_INSET_MODIFY: {
- InsetCommandParams p("bibtex");
+ InsetCommandParams p(BIBTEX_CODE);
try {
if (!InsetCommandMailer::string2params("bibtex",
to_utf8(cmd.argument()), p)) {
namespace {
-string normalize_name(Buffer const & buffer, OutputParams const & runparams,
+string normalizeName(Buffer const & buffer, OutputParams const & runparams,
string const & name, string const & ext)
{
string const fname = makeAbsPath(name, buffer.filePath()).absFilename();
- if (absolutePath(name) || !isFileReadable(FileName(fname + ext)))
+ if (absolutePath(name) || !FileName(fname + ext).isFileReadable())
return name;
- else if (!runparams.nice)
+ if (!runparams.nice)
return fname;
- else
- // FIXME UNICODE
- return to_utf8(makeRelPath(from_utf8(fname),
- from_utf8(buffer.getMasterBuffer()->filePath())));
+
+ // FIXME UNICODE
+ return to_utf8(makeRelPath(from_utf8(fname),
+ from_utf8(buffer.masterBuffer()->filePath())));
}
}
for (Tokenizer::const_iterator it = begin; it != end; ++it) {
docstring const input = trim(*it);
// FIXME UNICODE
- string utf8input(to_utf8(input));
+ string utf8input = to_utf8(input);
string database =
- normalize_name(buffer, runparams, utf8input, ".bib");
+ normalizeName(buffer, runparams, utf8input, ".bib");
FileName const try_in_file(makeAbsPath(database + ".bib", buffer.filePath()));
- bool const not_from_texmf = isFileReadable(try_in_file);
+ bool const not_from_texmf = try_in_file.isFileReadable();
if (!runparams.inComment && !runparams.dryrun && !runparams.nice &&
not_from_texmf) {
// mangledFilename() needs the extension
DocFileName const in_file = DocFileName(try_in_file);
database = removeExtension(in_file.mangledFilename());
- FileName const out_file(makeAbsPath(database + ".bib",
- buffer.getMasterBuffer()->temppath()));
+ FileName const out_file = makeAbsPath(database + ".bib",
+ buffer.masterBuffer()->temppath());
bool const success = copy(in_file, out_file);
if (!success) {
Alert::warning(_("Export Warning!"),
_("There are spaces in the paths to your BibTeX databases.\n"
"BibTeX will be unable to find them."));
-
}
// Style-Options
string bibtotoc;
if (prefixIs(style, "bibtotoc")) {
bibtotoc = "bibtotoc";
- if (contains(style, ',')) {
+ if (contains(style, ','))
style = split(style, bibtotoc, ',');
- }
}
// line count
int nlines = 0;
if (!style.empty()) {
- string base =
- normalize_name(buffer, runparams, style, ".bst");
+ string base = normalizeName(buffer, runparams, style, ".bst");
FileName const try_in_file(makeAbsPath(base + ".bst", buffer.filePath()));
- bool const not_from_texmf = isFileReadable(try_in_file);
+ bool const not_from_texmf = try_in_file.isFileReadable();
// If this style does not come from texmf and we are not
// exporting to .tex copy it to the tmp directory.
// This prevents problems with spaces and 8bit charcaters
DocFileName const in_file = DocFileName(try_in_file);
base = removeExtension(in_file.mangledFilename());
FileName const out_file(makeAbsPath(base + ".bst",
- buffer.getMasterBuffer()->temppath()));
+ buffer.masterBuffer()->temppath()));
bool const success = copy(in_file, out_file);
if (!success) {
lyxerr << "Failed to copy '" << in_file
}
// FIXME UNICODE
os << "\\bibliographystyle{"
- << from_utf8(latex_path(normalize_name(buffer, runparams, base, ".bst")))
+ << from_utf8(latex_path(normalizeName(buffer, runparams, base, ".bst")))
<< "}\n";
nlines += 1;
}