void LyXFunc::moveCursorUpdate(bool flag, bool selecting)
{
if (selecting || TEXT(flag)->selection.mark()) {
- TEXT(flag)->setSelection(view());
- if (TEXT(flag)->isTopLevel())
+ TEXT(flag)->setSelection();
+ if (!TEXT(flag)->isInInset())
view()->toggleToggle();
}
- view()->update(TEXT(flag), BufferView::SELECT|BufferView::FITCUR);
+ view()->update(TEXT(flag), BufferView::SELECT);
view()->showCursor();
view()->switchKeyMap();
// actions
keyseq.clear();
// copied verbatim from do_accent_char
- view()->update(TEXT(false),
- BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
+ view()->update(TEXT(false), BufferView::SELECT);
TEXT(false)->selection.cursor = TEXT(false)->cursor;
}
case LFUN_INSET_OPTARG:
code = Inset::OPTARG_CODE;
break;
+ case LFUN_ENVIRONMENT_INSERT:
+ code = Inset::MINIPAGE_CODE;
+ break;
case LFUN_INDEX_INSERT:
code = Inset::INDEX_CODE;
break;
if (TEXT()->cursor.irow()->previous()) {
#if 1
TEXT()->setCursorFromCoordinates(
- view(), TEXT()->cursor.ix() + inset_x,
+ TEXT()->cursor.ix() + inset_x,
TEXT()->cursor.iy() -
TEXT()->cursor.irow()->baseline() - 1);
TEXT()->cursor.x_fix(TEXT()->cursor.x());
moveCursorUpdate(true, false);
owner->view_state_changed();
} else {
- view()->update(TEXT(), BufferView::SELECT|BufferView::FITCUR);
+ view()->update(TEXT(), BufferView::SELECT);
}
goto exit_with_message;
} else if (result == FINISHED_DOWN) {
if (TEXT()->cursor.irow()->next()) {
#if 1
TEXT()->setCursorFromCoordinates(
- view(), TEXT()->cursor.ix() + inset_x,
+ TEXT()->cursor.ix() + inset_x,
TEXT()->cursor.iy() -
TEXT()->cursor.irow()->baseline() +
TEXT()->cursor.irow()->height() + 1);
}
finishUndo();
// Tell the paragraph dialog that we changed paragraph
- owner->getDialogs().updateParagraph();
+ dispatch(FuncRequest(LFUN_PARAGRAPH_UPDATE));
}
}
break;
case LFUN_PREFIX:
{
if (view()->available() && !view()->theLockingInset()) {
- view()->update(TEXT(),
- BufferView::SELECT|BufferView::FITCUR);
+ view()->update(TEXT(), BufferView::SELECT);
}
owner->message(keyseq.printOptions());
}
changeDepth(view(), TEXT(false), 1);
break;
- case LFUN_FREE:
- owner->getDialogs().setUserFreeFont();
+ case LFUN_FREEFONT_APPLY:
+ apply_freefont(view());
+ break;
+
+ case LFUN_FREEFONT_UPDATE:
+ update_and_apply_freefont(view(), argument);
break;
case LFUN_RECONFIGURE:
#endif
#endif
case LFUN_HELP_ABOUTLYX:
- owner->getDialogs().showAboutlyx();
+ owner->getDialogs().show("about");
break;
case LFUN_HELP_TEXINFO:
case LFUN_VC_HISTORY:
{
- owner->getDialogs().showVCLogFile();
+ owner->getDialogs().show("vclog");
break;
}
break;
case LFUN_LATEX_LOG:
- owner->getDialogs().showLogFile();
+ owner->getDialogs().show("log");
break;
case LFUN_LAYOUT_DOCUMENT:
owner->getDialogs().showDocument();
break;
- case LFUN_LAYOUT_PARAGRAPH:
- owner->getDialogs().showParagraph();
- break;
-
- case LFUN_LAYOUT_CHARACTER:
- owner->getDialogs().showCharacter();
+ case LFUN_LAYOUT_CHARACTER: {
+ string data = freefont2string();
+ if (!data.empty())
+ owner->getDialogs().show("character", data);
break;
+ }
case LFUN_LAYOUT_TABULAR:
if (view()->theLockingInset()) {
par->inInset()->edit(view());
}
// Set the cursor
- view()->getLyXText()->setCursor(view(), par, 0);
+ view()->getLyXText()->setCursor(par, 0);
view()->switchKeyMap();
owner->view_state_changed();
FuncRequest fr(view(), LFUN_INSET_DIALOG_UPDATE,
ev.argument);
inset->localDispatch(fr);
+ } else if (name == "paragraph") {
+ dispatch(FuncRequest(LFUN_PARAGRAPH_UPDATE));
}
}
break;
case LFUN_DIALOG_HIDE:
- owner ->getDialogs().hide(argument);
+ Dialogs::hide(argument, 0);
break;
case LFUN_DIALOG_DISCONNECT_INSET:
} // end of switch
exit_with_message:
+
+ view()->owner()->updateLayoutChoice();
+
+ if (view()->available()) {
+ view()->fitCursor();
+
+ // If we executed a mutating lfun, mark the buffer as dirty
+ if (!lyxaction.funcHasFlag(ev.action, LyXAction::NoBuffer)
+ && !lyxaction.funcHasFlag(ev.action, LyXAction::ReadOnly))
+ view()->buffer()->markDirty();
+ }
+
sendDispatchMessage(getMessage(), ev, verbose);
}