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/InsetBranch.h"
#include "insets/InsetInclude.h"
#include "insets/InsetTabular.h"
#include "insets/InsetText.h"
#include "mathed/InsetMathHull.h"
@ -2732,6 +2733,17 @@ void Buffer::Impl::updateMacros(DocIterator & it, DocIterator & scope)
it.pop_back();
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?
if (iit->inset->lyxCode() == INCLUDE_CODE) {

View File

@ -367,6 +367,7 @@ public:
static QSet<Buffer const *> busyBuffers;
static docstring previewAndDestroy(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);
// TODO syncFunc/previewFunc: use bind
@ -2814,7 +2815,7 @@ bool GuiView::goToFileRow(string const & argument)
#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 =
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);
delete buffer;
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
? bformat(_("Successful export 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,
doc_buffer,
_("Exporting ..."),
&GuiViewPrivate::exportAndDestroy,
&GuiViewPrivate::compileAndDestroy,
&Buffer::doExport,
0);
break;
@ -2969,7 +2984,7 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
d.asyncBufferProcessing(argument,
(doc_buffer ? doc_buffer->masterBuffer() : 0),
docstring(),
&GuiViewPrivate::exportAndDestroy,
&GuiViewPrivate::compileAndDestroy,
&Buffer::doExport,
0);
break;