]> git.lyx.org Git - lyx.git/blobdiff - src/converter.C
fix reading the author field.
[lyx.git] / src / converter.C
index 32f03719d75cf4e5a1a732e1378267d7ea60c674..40b31e27357cb230f296c44f4b23b3a72d7aea3e 100644 (file)
@@ -50,6 +50,7 @@ using std::endl;
 using std::find_if;
 using std::string;
 using std::vector;
+using std::distance;
 
 
 namespace {
@@ -103,7 +104,7 @@ private:
 
 Converter::Converter(string const & f, string const & t, string const & c,
          string const & l): from(f), to(t), command(c), flags(l),
-                            From(0), To(0), latex(false),
+                            From(0), To(0), latex(false), xml(false),
                             original_dir(false), need_aux(false)
 {}
 
@@ -117,6 +118,8 @@ void Converter::readFlags()
                flag_value = split(flag_value, flag_name, '=');
                if (flag_name == "latex")
                        latex = true;
+               else if (flag_name == "xml")
+                       xml = true;
                else if (flag_name == "originaldir")
                        original_dir = true;
                else if (flag_name == "needaux")
@@ -263,6 +266,8 @@ OutputParams::FLAVOR Converters::getFlavor(Graph::EdgePath const & path)
                if (conv.latex)
                        if (contains(conv.to, "pdf"))
                                return OutputParams::PDFLATEX;
+               if (conv.xml)
+                       return OutputParams::XML;
        }
        return OutputParams::LATEX;
 }
@@ -507,10 +512,10 @@ bool Converters::scanLog(Buffer const & buffer, string const & /*command*/,
 
 namespace {
 
-class showMessage : public boost::signals::trackable {
+class showMessage : public std::unary_function<string, void>, public boost::signals::trackable {
 public:
        showMessage(Buffer const & b) : buffer_(b) {};
-       void operator()(string const & m)
+       void operator()(string const & m) const
        {
                buffer_.message(m);
        }