#include "LayoutFile.h"
#include "Lexer.h"
#include "LyX.h"
+#include "LyXAction.h"
#include "lyxfind.h"
#include "LyXFunc.h"
#include "Layout.h"
string const argument = to_utf8(cmd.argument());
Cursor & cur = d->cursor_;
+ // Don't dispatch function that does not apply to internal buffers.
+ if (buffer_.isInternal() && lyxaction.funcHasFlag(cmd.action, LyXAction::NoInternal))
+ return false;
+
switch (cmd.action) {
case LFUN_BUFFER_PARAMS_APPLY: {
- if (buffer_.isInternal())
- return false;
DocumentClass const * const oldClass = buffer_.params().documentClassPtr();
cur.recordUndoFullDocument();
istringstream ss(to_utf8(cmd.argument()));
}
case LFUN_LAYOUT_MODULES_CLEAR: {
- if (buffer_.isInternal())
- return false;
DocumentClass const * const oldClass =
buffer_.params().documentClassPtr();
cur.recordUndoFullDocument();
}
case LFUN_LAYOUT_MODULE_ADD: {
- if (buffer_.isInternal())
- return false;
BufferParams const & params = buffer_.params();
if (!params.moduleCanBeAdded(argument)) {
LYXERR0("Module `" << argument <<
}
case LFUN_TEXTCLASS_APPLY: {
- if (buffer_.isInternal())
- return false;
if (!LayoutFileList::get().load(argument, buffer_.temppath()) &&
!LayoutFileList::get().load(argument, buffer_.filePath()))
break;
}
case LFUN_TEXTCLASS_LOAD:
- if (buffer_.isInternal())
- return false;
LayoutFileList::get().load(argument, buffer_.temppath()) ||
LayoutFileList::get().load(argument, buffer_.filePath());
break;
case LFUN_LAYOUT_RELOAD: {
- if (buffer_.isInternal())
- return false;
DocumentClass const * const oldClass = buffer_.params().documentClassPtr();
LayoutFileIndex bc = buffer_.params().baseClassID();
LayoutFileList::get().reset(bc);
}
case LFUN_PARAGRAPH_GOTO: {
- if (buffer_.isInternal())
- return false;
int const id = convert<int>(cmd.getArg(0));
int const pos = convert<int>(cmd.getArg(1));
int i = 0;
* \li Origin: rgh, 25 August 2007
* \endvar
*/
- { LFUN_LAYOUT_MODULES_CLEAR, "layout-modules-clear", Noop, Layout },
+ { LFUN_LAYOUT_MODULES_CLEAR, "layout-modules-clear", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_LAYOUT_MODULE_ADD
* \li Action: Adds a module.
* \li Origin: rgh, 25 August 2007
* \endvar
*/
- { LFUN_LAYOUT_MODULE_ADD, "layout-module-add", Noop, Layout },
+ { LFUN_LAYOUT_MODULE_ADD, "layout-module-add", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_LAYOUT_RELOAD
* \li Action: Reloads layout information.
* \li Origin: rgh, 3 September 2007
* \endvar
*/
- { LFUN_LAYOUT_RELOAD, "layout-reload", Noop, Layout },
+ { LFUN_LAYOUT_RELOAD, "layout-reload", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_TEXTCLASS_APPLY
* \li Action: Sets the text class for the current buffer.
the filename, minus the ".layout" extension.
* \endvar
*/
- { LFUN_TEXTCLASS_APPLY, "textclass-apply", Noop, Layout },
+ { LFUN_TEXTCLASS_APPLY, "textclass-apply", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_TEXTCLASS_LOAD
* \li Action: Loads information for a textclass from disk.
the filename, minus the ".layout" extension.
* \endvar
*/
- { LFUN_TEXTCLASS_LOAD, "textclass-load", Noop, Layout },
+ { LFUN_TEXTCLASS_LOAD, "textclass-load", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_MARK_OFF
* \li Origin: Dekel, 26 Aug 2000
* \endvar
*/
- { LFUN_PARAGRAPH_GOTO, "paragraph-goto", ReadOnly, Edit },
+ { LFUN_PARAGRAPH_GOTO, "paragraph-goto", ReadOnly | NoInternal, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_BREAK_PARAGRAPH
* \li Action: Breaks the current paragraph at the current location.
* \li Origin: leeming, 30 Mar 2004
* \endvar
*/
- { LFUN_BUFFER_PARAMS_APPLY, "buffer-params-apply", Noop, Buffer },
+ { LFUN_BUFFER_PARAMS_APPLY, "buffer-params-apply", NoInternal, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_FILE_INSERT