void LyXFunc::processKeySym(LyXKeySymPtr keysym, key_modifier::state state)
{
- string argument;
-
- if (lyxerr.debugging(Debug::KEY)) {
- lyxerr << "KeySym is "
- << keysym->getSymbolName()
- << endl;
- }
+ lyxerr[Debug::KEY] << "KeySym is " << keysym->getSymbolName() << endl;
// Do nothing if we have nothing (JMarc)
if (!keysym->isOK()) {
if (encoded_last_key != 0) {
string arg;
arg += encoded_last_key;
+ lyxerr << "SelfInsert arg[`"
+ << arg << "']" << endl;
dispatch(FuncRequest(LFUN_SELFINSERT, arg));
- lyxerr[Debug::KEY] << "SelfInsert arg[`"
- << argument << "']" << endl;
+ lyxerr[Debug::KEY]
+ << "SelfInsert arg[`" << arg << "']" << endl;
}
} else {
dispatch(func);
code = InsetOld::SPACE_CODE;
break;
case LFUN_INSET_DIALOG_SHOW: {
- InsetBase * inset = view()->getLyXText()->getInset();
+ InsetBase * inset = view()->cursor().nextInset();
disable = !inset;
if (inset) {
code = inset->lyxCode();
// we have not done anything wrong yet.
errorstat = false;
dispatch_buffer.erase();
-
-#ifdef NEW_DISPATCHER
- // We try do call the most specific dispatcher first:
- // 1. the lockinginset's dispatch
- // 2. the bufferview's dispatch
- // 3. the lyxview's dispatch
-#endif
-
selection_possible = false;
// We cannot use this function here
<< " found." << endl;
}
- par.lockPath(view());
- LyXText * lt = par.text(*view()->buffer());
-
// Set the cursor
- lt->setCursor(par.pit(), 0);
+ view()->setCursor(par, 0);
+
view()->switchKeyMap();
owner->view_state_changed();
break;
case LFUN_INSET_DIALOG_SHOW: {
- InsetBase * inset = view()->getLyXText()->getInset();
+ InsetBase * inset = view()->cursor().nextInset();
if (inset)
inset->dispatch(view()->cursor(), FuncRequest(LFUN_INSET_DIALOG_SHOW));
break;
break;
default:
- view()->cursor().dispatch(cmd);
+ DispatchResult res = view()->cursor().dispatch(cmd);
+ if (!res.dispatched());
+ view()->dispatch(cmd);
break;
}
}
- view()->owner()->updateLayoutChoice();
+ if (!view()->cursor().inMathed())
+ view()->owner()->updateLayoutChoice();
if (view()->available()) {
view()->fitCursor();
view()->buffer()->markDirty();
}
- sendDispatchMessage(getMessage(), cmd, verbose);
+ if (!view()->cursor().inMathed())
+ sendDispatchMessage(getMessage(), cmd, verbose);
}