]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.cpp
Return ExportStatus from Buffer to GuiView
[lyx.git] / src / Buffer.cpp
index ad00008b886003ea9de179d5e05ccde7aba68644..6e6fe18463cf938e9fa1999b0bf38746d0cef56c 100644 (file)
@@ -3483,14 +3483,15 @@ bool Buffer::isExporting() const
 }
 
 
-bool Buffer::doExport(string const & target, bool put_in_tempdir) const
+Buffer::ExportStatus Buffer::doExport(string const & target, bool put_in_tempdir) const
 {
        bool const update_unincluded =
                        params().maintain_unincluded_children
                        && !params().getIncludedChildren().empty();
-       return (doExport(target, put_in_tempdir, update_unincluded) == ExportSuccess);
+       return doExport(target, put_in_tempdir, update_unincluded);
 }
 
+
 Buffer::ExportStatus Buffer::doExport(string const & target, bool put_in_tempdir,
        bool includeall, string & result_file) const
 {
@@ -3739,7 +3740,7 @@ Buffer::ExportStatus Buffer::doExport(string const & target, bool put_in_tempdir
 }
 
 
-bool Buffer::preview(string const & format) const
+Buffer::ExportStatus Buffer::preview(string const & format) const
 {
        bool const update_unincluded =
                        params().maintain_unincluded_children
@@ -3747,17 +3748,23 @@ bool Buffer::preview(string const & format) const
        return preview(format, update_unincluded);
 }
 
-bool Buffer::preview(string const & format, bool includeall) const
+Buffer::ExportStatus Buffer::preview(string const & format, bool includeall) const
 {
        MarkAsExporting exporting(this);
        string result_file;
        // (1) export with all included children (omit \includeonly)
-       if (includeall && (doExport(format, true, true) != ExportSuccess))
-               return false;
+       if (includeall) { 
+               ExportStatus const status = doExport(format, true, true);
+               if (status != ExportSuccess)
+                       return status;
+       }
        // (2) export with included children only
-       if (doExport(format, true, false, result_file) != ExportSuccess)
-               return false;
-       return formats.view(*this, FileName(result_file), format);
+       ExportStatus const status = doExport(format, true, false, result_file);
+       if (status != ExportSuccess)
+               return status;
+       if (!formats.view(*this, FileName(result_file), format))
+               return PreviewError;
+       return PreviewSuccess;
 }