X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.C;h=8774312f1c59444c13782e051a3068d88e34b925;hb=00d24ec87650e4ac7db77ad54cb4aa2f688100f3;hp=6411a80b6e0547affb39de4ab71554f22351d5d6;hpb=aae301e9cd06d517457a8dff3102162ef08220bb;p=lyx.git diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 6411a80b6e..8774312f1c 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -94,6 +94,8 @@ #include "TextCache.h" #include "lyxfind.h" #include "undo_funcs.h" +#include "ParagraphParameters.h" +#include "figureForm.h" using std::pair; using std::make_pair; @@ -706,7 +708,7 @@ func_status::value_type LyXFunc::getStatus(int ac, if (disable) flag |= func_status::Disabled; - // the font related functions + // the font related functions (and a few others) func_status::value_type box = func_status::ToggleOff; LyXFont const & font = TEXT(false)->real_current_font; @@ -723,16 +725,14 @@ func_status::value_type LyXFunc::getStatus(int ac, if (font.series() == LyXFont::BOLD_SERIES) box = func_status::ToggleOn; break; -#ifndef NO_LATEX - case LFUN_TEX: - if (font.latex() == LyXFont::ON) - box = func_status::ToggleOn; - break; -#endif case LFUN_READ_ONLY_TOGGLE: if (buf->isReadonly()) box = func_status::ToggleOn; break; + case LFUN_APPENDIX: + if (TEXT(false)->cursor.par()->params().startOfAppendix()) + box = func_status::ToggleOn; + break; default: box = func_status::OK; break; @@ -866,12 +866,40 @@ string const LyXFunc::dispatch(int ac, inset->edit(owner->view(),slx,sly,0); return string(); } else if (((result=owner->view()->theLockingInset()-> - localDispatch(owner->view(), action, - argument)) == - UpdatableInset::DISPATCHED) || - (result == UpdatableInset::DISPATCHED_NOUPDATE)) + localDispatch(owner->view(), action, argument)) == + UpdatableInset::DISPATCHED) || + (result == UpdatableInset::DISPATCHED_NOUPDATE)) + return string(); + else if (result == UpdatableInset::FINISHED) { + if (TEXT()->cursor.par()->isRightToLeftPar(owner->buffer()->params)) { + TEXT()->cursorRight(owner->view()); + moveCursorUpdate(true, false); + owner->showState(); + } + return string(); + } else if (result == UpdatableInset::FINISHED_RIGHT) { + if (!TEXT()->cursor.par()->isRightToLeftPar(owner->buffer()->params)) { + TEXT()->cursorRight(owner->view()); + moveCursorUpdate(true, false); + owner->showState(); + } + return string(); + } else if (result == UpdatableInset::FINISHED_UP) { + if (TEXT()->cursor.row()->previous()) { + TEXT()->cursorUp(owner->view()); + moveCursorUpdate(true, false); + owner->showState(); + } + return string(); + } else if (result == UpdatableInset::FINISHED_DOWN) { + if (TEXT()->cursor.row()->next()) + TEXT()->cursorDown(owner->view()); + else + TEXT()->cursorRight(owner->view()); + moveCursorUpdate(true, false); + owner->showState(); return string(); - else { + } else { //setMessage(N_("Text mode")); switch (action) { case LFUN_UNKNOWN_ACTION: @@ -910,8 +938,6 @@ string const LyXFunc::dispatch(int ac, } } - lyx::Assert(action != LFUN_SELECT_FILE_SYNC); - switch (action) { case LFUN_ESCAPE: @@ -1152,14 +1178,6 @@ string const LyXFunc::dispatch(int ac, owner->getDialogs()->setUserFreeFont(); break; -#ifndef NO_LATEX - case LFUN_TEX: - Tex(owner->view()); - owner->view()->setState(); - owner->showState(); - break; -#endif - case LFUN_RECONFIGURE: Reconfigure(owner->view()); break; @@ -1401,10 +1419,13 @@ string const LyXFunc::dispatch(int ac, lyxerr[Debug::INFO] << "No matching paragraph found! [" << id << "]" << std::endl; break; + } else { + lyxerr << "Paragraph " << par->id() + << " found." << endl; } // Set the cursor - TEXT()->setCursor(owner->view(), par, 0); + owner->view()->text->setCursor(owner->view(), par, 0); owner->view()->setState(); owner->showState(); @@ -1454,30 +1475,6 @@ string const LyXFunc::dispatch(int ac, // --- insert characters ---------------------------------------- // --- Mathed stuff. If we are here, there is no locked inset yet. - - // Greek mode - case LFUN_GREEK: - { - if (!greek_kb_flag) { - greek_kb_flag = 1; - setMessage(N_("Math greek mode on")); - } else - greek_kb_flag = 0; - } - break; - - // Greek keyboard - case LFUN_GREEK_TOGGLE: - { - greek_kb_flag = greek_kb_flag ? 0 : 2; - if (greek_kb_flag) { - setMessage(N_("Math greek keyboard on")); - } else { - setMessage(N_("Math greek keyboard off")); - } - } - break; - case LFUN_MATH_EXTERN: case LFUN_MATH_NUMBER: case LFUN_MATH_NONUMBER: @@ -1893,7 +1890,7 @@ void LyXFunc::open(string const & fname) owner->message(str.str().c_str()); } else { ostringstream str; - str << _("Could not open docuent") << ' ' << disp_fn; + str << _("Could not open document") << ' ' << disp_fn; owner->message(str.str().c_str()); } } @@ -2057,7 +2054,7 @@ void LyXFunc::initMiniBuffer() text += nicename; if (tmpbuf->lyxvc.inUse()) { text += " ["; - text += tmpbuf->lyxvc.version(); + text += tmpbuf->lyxvc.versionString(); text += ' '; text += tmpbuf->lyxvc.locker(); if (tmpbuf->isReadonly())