X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.C;h=8774312f1c59444c13782e051a3068d88e34b925;hb=00d24ec87650e4ac7db77ad54cb4aa2f688100f3;hp=2bfadf470c924862d127f111dbc4234e9980e0ae;hpb=54e7ddb5d9a348ae9cfc60f399e9c0c2658ab4c5;p=lyx.git diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 2bfadf470c..8774312f1c 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -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 { + 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 { //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: @@ -1393,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(); @@ -1861,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()); } } @@ -2025,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())