#include "insets/InsetGraphics.h"
#include "insets/InsetInclude.h"
#include "insets/InsetNote.h"
+#include "insets/InsetSpace.h"
#include "insets/InsetTabular.h"
#include "insets/InsetVSpace.h"
#include "insets/InsetWrap.h"
// This function runs "configure" and then rereads lyx.defaults to
// reconfigure the automatic settings.
-void reconfigure(LyXView & lv, string const & option)
+void reconfigure(LyXView * lv, string const & option)
{
// emit message signal.
- lv.message(_("Running configure..."));
+ if (lv)
+ lv->message(_("Running configure..."));
// Run configure in user lyx directory
PathChanger p(package().user_support());
int ret = one.startscript(Systemcall::Wait, configure_command);
p.pop();
// emit message signal.
- lv.message(_("Reloading configuration..."));
+ if (lv)
+ lv->message(_("Reloading configuration..."));
lyxrc.read(libFileSearch(string(), "lyxrc.defaults"));
// Re-read packages.lst
LaTeXFeatures::getAvailable();
}
-void LyXFunc::handleKeyFunc(kb_action action)
+void LyXFunc::handleKeyFunc(FuncCode action)
{
char_type c = encoded_last_key;
if (keysym.isModifier()) {
LYXERR(Debug::KEY, "isModifier true");
- lyx_view_->restartCursor();
+ if (lyx_view_)
+ lyx_view_->restartCursor();
return;
}
//lyxerr << "LyXFunc::getStatus: cmd: " << cmd << endl;
FuncStatus flag;
- Buffer * buf = lyx_view_? lyx_view_->buffer() : 0;
+ Buffer * buf = lyx_view_ ? lyx_view_->buffer() : 0;
if (cmd.action == LFUN_NOACTION) {
flag.message(from_utf8(N_("Nothing to do")));
// FIXME: these cases should be hidden in GuiView::getStatus().
case LFUN_DIALOG_TOGGLE:
case LFUN_DIALOG_SHOW:
+ case LFUN_UI_TOGGLE:
case LFUN_DIALOG_UPDATE:
- if (cmd.argument() == "prefs"
- || cmd.argument() == "aboutlyx")
- enable = true;
- else if (lyx_view_)
+ // FIXME: add special handling for about and prefs dialogs here
+ // which do not depend on GuiView.
+ if (lyx_view_)
return lyx_view_->getStatus(cmd);
else
enable = false;
case LFUN_DIALOG_HIDE:
case LFUN_DIALOG_DISCONNECT_INSET:
case LFUN_BUFFER_CHILD_OPEN:
- case LFUN_UI_TOGGLE:
case LFUN_CURSOR_FOLLOWS_SCROLLBAR_TOGGLE:
case LFUN_KEYMAP_OFF:
case LFUN_KEYMAP_PRIMARY:
LayoutFile & tc = LayoutFileList::get()[name];
if (!tc.load(buf_path)) {
- docstring s = bformat(_("The document class %1$s."
+ docstring s = bformat(_("The document class %1$s "
"could not be loaded."), from_utf8(name));
Alert::error(_("Could not load class"), s);
return false;
void LyXFunc::dispatch(FuncRequest const & cmd)
{
string const argument = to_utf8(cmd.argument());
- kb_action const action = cmd.action;
+ FuncCode const action = cmd.action;
LYXERR(Debug::ACTION, "\nLyXFunc::dispatch: cmd: " << cmd);
//lyxerr << "LyXFunc::dispatch: cmd: " << cmd << endl;
}
// --- Menus -----------------------------------------------
- case LFUN_BUFFER_NEW:
- lyx_view_->newDocument(argument, false);
- updateFlags = Update::None;
- break;
-
- case LFUN_BUFFER_NEW_TEMPLATE:
- lyx_view_->newDocument(argument, true);
- updateFlags = Update::None;
- break;
-
case LFUN_BUFFER_CLOSE:
lyx_view_->closeBuffer();
updateFlags = Update::None;
break;
case LFUN_RECONFIGURE:
- BOOST_ASSERT(lyx_view_);
// argument is any additional parameter to the configure.py command
- reconfigure(*lyx_view_, argument);
+ reconfigure(lyx_view_, argument);
break;
case LFUN_HELP_OPEN: {
data = InsetNoteMailer::params2string(p);
break;
}
+ case SPACE_CODE: {
+ InsetSpaceParams p;
+ data = InsetSpaceMailer::params2string(p);
+ break;
+ }
case VSPACE_CODE: {
VSpace space;
data = InsetVSpaceMailer::params2string(space);
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
- if (!loadLayoutFile(argument, buffer->filePath()))
+ if (!loadLayoutFile(argument, buffer->temppath()) &&
+ !loadLayoutFile(argument, buffer->filePath()))
break;
LayoutFile const * old_layout = buffer->params().baseClass();
DocumentClass * oldClass = buffer->params().documentClassPtr();
LayoutFileIndex bc = buffer->params().baseClassID();
LayoutFileList::get().reset(bc);
+ buffer->params().setBaseClass(bc);
buffer->params().makeDocumentClass();
updateLayout(oldClass, buffer);
updateFlags = Update::Force | Update::FitCursor;
}
case LFUN_TEXTCLASS_LOAD:
+ loadLayoutFile(argument, lyx_view_->buffer()->temppath()) ||
loadLayoutFile(argument, lyx_view_->buffer()->filePath());
break;
// Nothing more to do.
return;
+ // Everything below is only for active lyx_view_
+ if (lyx_view_ == 0)
+ break;
+
// Let the current LyXView dispatch its own actions.
- BOOST_ASSERT(lyx_view_);
if (lyx_view_->dispatch(cmd)) {
if (lyx_view_->view())
updateFlags = lyx_view_->view()->cursor().result().update();
}
-docstring const LyXFunc::viewStatusMessage()
+docstring LyXFunc::viewStatusMessage()
{
// When meta-fake key is pressed, show the key sequence so far + "M-".
if (wasMetaKey())
case LyXRC::RC_BIBTEX_COMMAND:
case LyXRC::RC_BINDFILE:
case LyXRC::RC_CHECKLASTFILES:
+ case LyXRC::RC_COMPLETION_CURSOR_TEXT:
case LyXRC::RC_COMPLETION_INLINE_DELAY:
case LyXRC::RC_COMPLETION_INLINE_DOTS:
case LyXRC::RC_COMPLETION_INLINE_MATH:
case LyXRC::RC_EXAMPLEPATH:
case LyXRC::RC_FONT_ENCODING:
case LyXRC::RC_FORMAT:
+ case LyXRC::RC_GROUP_LAYOUTS:
case LyXRC::RC_INDEX_COMMAND:
case LyXRC::RC_INPUT:
case LyXRC::RC_KBMAP:
case LyXRC::RC_SERVERPIPE:
case LyXRC::RC_SET_COLOR:
case LyXRC::RC_SHOW_BANNER:
+ case LyXRC::RC_OPEN_BUFFERS_IN_TABS:
case LyXRC::RC_SPELL_COMMAND:
case LyXRC::RC_TEMPDIRPATH:
case LyXRC::RC_TEMPLATEPATH: