#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: {
case TOC_CODE:
case HYPERLINK_CODE: {
InsetCommandParams p(code);
- data = InsetCommandMailer::params2string(name, p);
+ data = InsetCommand::params2string(name, p);
break;
}
case INCLUDE_CODE: {
// default type is requested
data = "include";
InsetCommandParams p(INCLUDE_CODE, data);
- data = InsetCommandMailer::params2string("include", p);
+ data = InsetCommand::params2string("include", p);
break;
}
case BOX_CODE: {
// \c data == "Boxed" || "Frameless" etc
InsetBoxParams p(data);
- data = InsetBoxMailer::params2string(p);
+ data = InsetBox::params2string(p);
break;
}
case BRANCH_CODE: {
InsetBranchParams p;
- data = InsetBranchMailer::params2string(p);
+ data = InsetBranch::params2string(p);
break;
}
case CITE_CODE: {
InsetCommandParams p(CITE_CODE);
- data = InsetCommandMailer::params2string(name, p);
+ data = InsetCommand::params2string(name, p);
break;
}
case ERT_CODE: {
- data = InsetERTMailer::params2string(InsetCollapsable::Open);
+ data = InsetERT::params2string(InsetCollapsable::Open);
break;
}
case EXTERNAL_CODE: {
InsetExternalParams p;
Buffer const & buffer = *lyx_view_->buffer();
- data = InsetExternalMailer::params2string(p, buffer);
+ data = InsetExternal::params2string(p, buffer);
break;
}
case FLOAT_CODE: {
InsetFloatParams p;
- data = InsetFloatMailer::params2string(p);
+ data = InsetFloat::params2string(p);
break;
}
case LISTINGS_CODE: {
InsetListingsParams p;
- data = InsetListingsMailer::params2string(p);
+ data = InsetListings::params2string(p);
break;
}
case GRAPHICS_CODE: {
InsetGraphicsParams p;
Buffer const & buffer = *lyx_view_->buffer();
- data = InsetGraphicsMailer::params2string(p, buffer);
+ data = InsetGraphics::params2string(p, buffer);
break;
}
case NOTE_CODE: {
InsetNoteParams p;
- data = InsetNoteMailer::params2string(p);
+ data = InsetNote::params2string(p);
+ break;
+ }
+ case SPACE_CODE: {
+ InsetSpaceParams p;
+ data = InsetSpace::params2string(p);
break;
}
case VSPACE_CODE: {
VSpace space;
- data = InsetVSpaceMailer::params2string(space);
+ data = InsetVSpace::params2string(space);
break;
}
case WRAP_CODE: {
InsetWrapParams p;
- data = InsetWrapMailer::params2string(p);
+ data = InsetWrap::params2string(p);
break;
}
default:
icp["key"] = from_utf8(arg);
if (!opt1.empty())
icp["before"] = from_utf8(opt1);
- string icstr = InsetCommandMailer::params2string("citation", icp);
+ string icstr = InsetCommand::params2string("citation", icp);
FuncRequest fr(LFUN_INSET_INSERT, icstr);
dispatch(fr);
} else
lyx_view_->message(from_utf8(argument));
break;
- case LFUN_EXTERNAL_EDIT: {
- BOOST_ASSERT(lyx_view_);
- FuncRequest fr(action, argument);
- InsetExternal().dispatch(view()->cursor(), fr);
- break;
- }
-
- case LFUN_GRAPHICS_EDIT: {
- FuncRequest fr(action, argument);
- InsetGraphics().dispatch(view()->cursor(), fr);
- break;
- }
case LFUN_ALL_INSETS_TOGGLE: {
BOOST_ASSERT(lyx_view_);
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();
&& !lyxaction.funcHasFlag(action, LyXAction::ReadOnly))
lyx_view_->buffer()->markDirty();
- //Do we have a selection?
+ // Do we have a selection?
theSelection().haveSelection(view()->cursor().selection());
+
+ // update gui
+ lyx_view_->restartCursor();
}
}
if (lyx_view_) {
}
-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: