X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FConverter.cpp;h=e674fc9d484cef2d4ccafc013bdea806acf3dcca;hb=0362c6aae73c293d1c20277c12d362acfe0b2ef6;hp=b168cd1a240c4a715a9b647952a86f4a86ccabd4;hpb=93bd28f0404cfedfa912be4892878692775b8d9c;p=lyx.git diff --git a/src/Converter.cpp b/src/Converter.cpp index b168cd1a24..e674fc9d48 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -16,54 +16,30 @@ #include "Buffer.h" #include "buffer_funcs.h" #include "BufferParams.h" -#include "debug.h" #include "ErrorList.h" #include "Format.h" -#include "gettext.h" #include "Language.h" #include "LaTeX.h" #include "Mover.h" #include "frontends/alert.h" +#include "support/debug.h" +#include "support/FileNameList.h" #include "support/filetools.h" -#include "support/lyxlib.h" +#include "support/FileZipListDir.h" +#include "support/gettext.h" +#include "support/lstrings.h" #include "support/os.h" #include "support/Package.h" #include "support/Path.h" #include "support/Systemcall.h" -using std::endl; -using std::find_if; -using std::string; -using std::vector; -using std::distance; - +using namespace std; +using namespace lyx::support; namespace lyx { -using support::addName; -using support::bformat; -using support::changeExtension; -using support::compare_ascii_no_case; -using support::contains; -using support::dirList; -using support::FileName; -using support::getExtension; -using support::libFileSearch; -using support::libScriptSearch; -using support::makeAbsPath; -using support::makeRelPath; -using support::onlyFilename; -using support::onlyPath; -using support::package; -using support::prefixIs; -using support::quoteName; -using support::removeExtension; -using support::split; -using support::subst; -using support::Systemcall; - namespace Alert = lyx::frontend::Alert; @@ -89,8 +65,8 @@ string const dvipdfm_options(BufferParams const & bp) string result; if (bp.papersize != PAPER_CUSTOM) { - string const paper_size = bp.paperSizeName(); - if (paper_size != "b5" && paper_size != "foolscap") + string const paper_size = bp.paperSizeName(BufferParams::DVIPDFM); + if (!paper_size.empty()) result = "-p "+ paper_size; if (bp.orientation == ORIENTATION_LANDSCAPE) @@ -101,7 +77,7 @@ string const dvipdfm_options(BufferParams const & bp) } -class ConverterEqual : public std::binary_function { +class ConverterEqual { public: ConverterEqual(string const & from, string const & to) : from_(from), to_(to) {} @@ -310,19 +286,17 @@ bool Converters::convert(Buffer const * buffer, formats.extension(from_format); string const to_ext = formats.extension(to_format); string const command = - support::os::python() + ' ' + + os::python() + ' ' + quoteName(libFileSearch("scripts", "convertDefault.py").toFilesystemEncoding()) + ' ' + quoteName(from_ext + ':' + from_file.toFilesystemEncoding()) + ' ' + quoteName(to_ext + ':' + to_file.toFilesystemEncoding()); - LYXERR(Debug::FILES) - << "No converter defined! " - "I use convertDefault.py:\n\t" - << command << endl; + LYXERR(Debug::FILES, "No converter defined! " + "I use convertDefault.py:\n\t" << command); Systemcall one; one.startscript(Systemcall::Wait, command); - if (to_file.isFileReadable()) { + if (to_file.isReadableFile()) { if (conversionflags & try_cache) ConverterCache::get().add(orig_from, to_format, to_file); @@ -350,7 +324,7 @@ bool Converters::convert(Buffer const * buffer, string const path(onlyPath(from_file.absFilename())); // Prevent the compiler from optimizing away p FileName pp(path); - support::Path p(pp); + PathChanger p(pp); // empty the error list before any new conversion takes place. errorList.clear(); @@ -365,8 +339,8 @@ bool Converters::convert(Buffer const * buffer, Converter const & conv = converterlist_[*cit]; bool dummy = conv.To->dummy() && conv.to != "program"; if (!dummy) { - LYXERR(Debug::FILES) << "Converting from " - << conv.from << " to " << conv.to << endl; + LYXERR(Debug::FILES, "Converting from " + << conv.from << " to " << conv.to); } infile = outfile; outfile = FileName(conv.result_dir.empty() @@ -392,15 +366,14 @@ bool Converters::convert(Buffer const * buffer, if (conv.latex) { run_latex = true; string const command = subst(conv.command, token_from, ""); - LYXERR(Debug::FILES) << "Running " << command << endl; + LYXERR(Debug::FILES, "Running " << command); if (!runLaTeX(*buffer, command, runparams, errorList)) return false; } else { if (conv.need_aux && !run_latex && !latex_command_.empty()) { - LYXERR(Debug::FILES) - << "Running " << latex_command_ - << " to update aux file"<< endl; + LYXERR(Debug::FILES, "Running " << latex_command_ + << " to update aux file"); runLaTeX(*buffer, latex_command_, runparams, errorList); } @@ -426,7 +399,7 @@ bool Converters::convert(Buffer const * buffer, command = add_options(command, dvipdfm_options(buffer->params())); - LYXERR(Debug::FILES) << "Calling " << command << endl; + LYXERR(Debug::FILES, "Calling " << command); if (buffer) buffer->message(_("Executing command: ") + from_utf8(command)); @@ -446,10 +419,8 @@ bool Converters::convert(Buffer const * buffer, if (!mover.rename(outfile, real_outfile)) res = -1; else - LYXERR(Debug::FILES) - << "renaming file " << outfile - << " to " << real_outfile - << endl; + LYXERR(Debug::FILES, "renaming file " << outfile + << " to " << real_outfile); // Finally, don't forget to tell any future // converters to use the renamed file... outfile = real_outfile; @@ -525,9 +496,8 @@ bool Converters::move(string const & fmt, string const to_base = removeExtension(to.absFilename()); string const to_extension = getExtension(to.absFilename()); - vector const files = dirList(FileName(path), - getExtension(from.absFilename())); - for (vector::const_iterator it = files.begin(); + FileNameList const files = FileName(path).dirList(getExtension(from.absFilename())); + for (FileNameList::const_iterator it = files.begin(); it != files.end(); ++it) { string const from2 = it->absFilename(); string const file2 = onlyFilename(from2); @@ -535,8 +505,7 @@ bool Converters::move(string const & fmt, string const to2 = changeExtension( to_base + file2.substr(base.length()), to_extension); - LYXERR(Debug::FILES) << "moving " << from2 - << " to " << to2 << endl; + LYXERR(Debug::FILES, "moving " << from2 << " to " << to2); Mover const & mover = getMover(fmt); bool const moved = copy @@ -656,8 +625,8 @@ void Converters::buildGraph() } -std::vector const -Converters::intToFormat(std::vector const & input) +vector const +Converters::intToFormat(vector const & input) { vector result(input.size());