Cut and paste solution to get export working. The issue is that the old

exportAndDestroy was calling:
  buffer->doExport(format, true, update_unincluded);
where "true" means: Leave it in the tempdir. We need false, which means
we need another parameter, if we're not doing it as cut and paste.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35715 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2010-10-19 15:10:13 +00:00
parent 4968c32293
commit a773428fce
2 changed files with 30 additions and 3 deletions

View File

@ -70,6 +70,7 @@
#include "insets/InsetBibtex.h" #include "insets/InsetBibtex.h"
#include "insets/InsetBranch.h" #include "insets/InsetBranch.h"
#include "insets/InsetInclude.h" #include "insets/InsetInclude.h"
#include "insets/InsetTabular.h"
#include "insets/InsetText.h" #include "insets/InsetText.h"
#include "mathed/InsetMathHull.h" #include "mathed/InsetMathHull.h"
@ -2733,6 +2734,17 @@ void Buffer::Impl::updateMacros(DocIterator & it, DocIterator & scope)
continue; continue;
} }
if (iit->inset->asInsetTabular()) {
CursorSlice slice(*iit->inset);
size_t const numcells = slice.nargs();
for (; slice.idx() < numcells; slice.forwardIdx()) {
it.push_back(slice);
updateMacros(it, scope);
it.pop_back();
}
continue;
}
// is it an external file? // is it an external file?
if (iit->inset->lyxCode() == INCLUDE_CODE) { if (iit->inset->lyxCode() == INCLUDE_CODE) {
// get buffer of external file // get buffer of external file

View File

@ -367,6 +367,7 @@ public:
static QSet<Buffer const *> busyBuffers; static QSet<Buffer const *> busyBuffers;
static docstring previewAndDestroy(Buffer const * orig, Buffer * buffer, string const & format); static docstring previewAndDestroy(Buffer const * orig, Buffer * buffer, string const & format);
static docstring exportAndDestroy(Buffer const * orig, Buffer * buffer, string const & format); static docstring exportAndDestroy(Buffer const * orig, Buffer * buffer, string const & format);
static docstring compileAndDestroy(Buffer const * orig, Buffer * buffer, string const & format);
static docstring saveAndDestroy(Buffer const * orig, Buffer * buffer, FileName const & fname); static docstring saveAndDestroy(Buffer const * orig, Buffer * buffer, FileName const & fname);
// TODO syncFunc/previewFunc: use bind // TODO syncFunc/previewFunc: use bind
@ -2814,7 +2815,7 @@ bool GuiView::goToFileRow(string const & argument)
#if (QT_VERSION >= 0x040400) #if (QT_VERSION >= 0x040400)
docstring GuiView::GuiViewPrivate::exportAndDestroy(Buffer const * orig, Buffer * buffer, string const & format) docstring GuiView::GuiViewPrivate::compileAndDestroy(Buffer const * orig, Buffer * buffer, string const & format)
{ {
bool const update_unincluded = bool const update_unincluded =
buffer->params().maintain_unincluded_children buffer->params().maintain_unincluded_children
@ -2822,6 +2823,20 @@ docstring GuiView::GuiViewPrivate::exportAndDestroy(Buffer const * orig, Buffer
bool const success = buffer->doExport(format, true, update_unincluded); bool const success = buffer->doExport(format, true, update_unincluded);
delete buffer; delete buffer;
busyBuffers.remove(orig); busyBuffers.remove(orig);
return success
? bformat(_("Successful compilation to format: %1$s"), from_utf8(format))
: bformat(_("Error compiling format: %1$s"), from_utf8(format));
}
docstring GuiView::GuiViewPrivate::exportAndDestroy(Buffer const * orig, Buffer * buffer, string const & format)
{
bool const update_unincluded =
buffer->params().maintain_unincluded_children
&& !buffer->params().getIncludedChildren().empty();
bool const success = buffer->doExport(format, false, update_unincluded);
delete buffer;
busyBuffers.remove(orig);
return success return success
? bformat(_("Successful export to format: %1$s"), from_utf8(format)) ? bformat(_("Successful export to format: %1$s"), from_utf8(format))
: bformat(_("Error exporting to format: %1$s"), from_utf8(format)); : bformat(_("Error exporting to format: %1$s"), from_utf8(format));
@ -2951,7 +2966,7 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
d.asyncBufferProcessing(argument, d.asyncBufferProcessing(argument,
doc_buffer, doc_buffer,
_("Exporting ..."), _("Exporting ..."),
&GuiViewPrivate::exportAndDestroy, &GuiViewPrivate::compileAndDestroy,
&Buffer::doExport, &Buffer::doExport,
0); 0);
break; break;
@ -2969,7 +2984,7 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
d.asyncBufferProcessing(argument, d.asyncBufferProcessing(argument,
(doc_buffer ? doc_buffer->masterBuffer() : 0), (doc_buffer ? doc_buffer->masterBuffer() : 0),
docstring(), docstring(),
&GuiViewPrivate::exportAndDestroy, &GuiViewPrivate::compileAndDestroy,
&Buffer::doExport, &Buffer::doExport,
0); 0);
break; break;