Adds LFUN_MASTER_BUFFER_EXPORT.

(cherry picked from commit c4c7053d1d)
This commit is contained in:
Richard Heck 2018-04-19 00:09:41 -04:00
parent 9e52c7693e
commit 12c196755b
4 changed files with 40 additions and 0 deletions

View File

@ -478,6 +478,7 @@ enum FuncCode
LFUN_EXPORT_CANCEL, // rgh, 20171227
LFUN_BUFFER_ANONYMIZE, // sanda, 20180201
LFUN_GRAPHICS_UNIFY, // sanda, 20180207
LFUN_MASTER_BUFFER_EXPORT, // rkh, 20180417
LFUN_LASTACTION // end of the table
};

View File

@ -2493,6 +2493,25 @@ void LyXAction::init()
{ LFUN_MARK_TOGGLE, "mark-toggle", ReadOnly, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_MASTER_BUFFER_EXPORT
* \li Action: Exports the master buffer (document) to the given format.
* \li Syntax: master-buffer-export [<FORMAT>] [<DEST>]
* \li Params: <FORMAT> is one of the formats which you can find in
Tools->Preferences->File formats->Format.
Usual format you will enter is "pdf2" (pdflatex),
"pdflatex" (plain tex for pdflatex) or "ps" for postscript.\n
Note that "custom" is not allowed in this case.\n
If absent or "default", then the default output format of the
document is used.\n
<DEST> If present, this argument provides the export destination
filename. Its containing folder will also be the destination
folder, where all the needed external files will be copied.
* \li Origin: rkh, 18 April 2018
* \endvar
*/
{ LFUN_MASTER_BUFFER_EXPORT, "master-buffer-export", ReadOnly, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_MASTER_BUFFER_UPDATE
* \li Action: Update (export) the document built from the master buffer,

View File

@ -1859,6 +1859,15 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
case LFUN_BUFFER_IMPORT:
break;
case LFUN_MASTER_BUFFER_EXPORT:
enable = doc_buffer
&& (doc_buffer->parent() != 0
|| doc_buffer->hasChildren())
&& !d.processing_thread_watcher_.isRunning()
// this launches a dialog, which would be in the wrong Buffer
&& !(::lyx::operator==(cmd.argument(), "custom"));
break;
case LFUN_MASTER_BUFFER_UPDATE:
case LFUN_MASTER_BUFFER_VIEW:
enable = doc_buffer
@ -3684,11 +3693,19 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
importDocument(to_utf8(cmd.argument()));
break;
case LFUN_MASTER_BUFFER_EXPORT:
if (doc_buffer)
doc_buffer = const_cast<Buffer *>(doc_buffer->masterBuffer());
// fall through
case LFUN_BUFFER_EXPORT: {
if (!doc_buffer)
break;
// GCC only sees strfwd.h when building merged
if (::lyx::operator==(cmd.argument(), "custom")) {
// LFUN_MASTER_BUFFER_EXPORT is not enabled for this case,
// so the following test should not be needed.
// In principle, we could try to switch to such a view...
// if (cmd.action() == LFUN_BUFFER_EXPORT)
dispatch(FuncRequest(LFUN_DIALOG_SHOW, "sendto"), dr);
break;
}

View File

@ -22,6 +22,9 @@ What's new
- Support rotation of multi-page tables via (pdf)lscape (bug 9194).
- Added LFUN_MASTER_BUFFER_EXPORT, which exports the master buffer, along
the lines of LFUN_MASTER_BUFFER_VIEW (bug 11118).
* TEX2LYX IMPROVEMENTS