]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
GuiWrap: make the optional options really optional by checkboxes in the dialog
[lyx.git] / src / Text3.cpp
index 3d767bf106db5f1a38226af1f1c03bf544be7937..408405d7605b364cdbeb22929b450c90aaa225dd 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "Text.h"
 
+#include "Bidi.h"
 #include "BranchList.h"
 #include "FloatList.h"
 #include "FuncStatus.h"
@@ -440,9 +441,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                needsUpdate |= cursorDownParagraph(cur);
                break;
 
-       case LFUN_SCREEN_UP:
        case LFUN_SCREEN_UP_SELECT:
-               needsUpdate |= cur.selHandle(cmd.action == LFUN_SCREEN_UP_SELECT);
+               needsUpdate |= cur.selHandle(true);
                if (cur.pit() == 0 && cur.textRow().pos() == 0)
                        cur.undispatched();
                else {
@@ -450,9 +450,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                }
                break;
 
-       case LFUN_SCREEN_DOWN:
        case LFUN_SCREEN_DOWN_SELECT:
-               needsUpdate |= cur.selHandle(cmd.action == LFUN_SCREEN_DOWN_SELECT);
+               needsUpdate |= cur.selHandle(true);
                if (cur.pit() == cur.lastpit()
                          && cur.textRow().endpos() == cur.lastpos())
                        cur.undispatched();
@@ -574,13 +573,13 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
 
        case LFUN_BREAK_PARAGRAPH:
                cap::replaceSelection(cur);
-               breakParagraph(cur, 0);
+               breakParagraph(cur, false);
                cur.resetAnchor();
                break;
 
        case LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT:
                cap::replaceSelection(cur);
-               breakParagraph(cur, 1);
+               breakParagraph(cur, true);
                cur.resetAnchor();
                break;
 
@@ -591,7 +590,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                if (cur.pos() == 0)
                        cur.paragraph().params().labelWidthString(docstring());
                else
-                       breakParagraph(cur, 0);
+                       breakParagraph(cur, false);
                cur.resetAnchor();
                break;
        }
@@ -1304,7 +1303,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
 
-       case LFUN_FONT_CODE: {
+       case LFUN_FONT_TYPEWRITER: {
                Font font(Font::ALL_IGNORE);
                font.setFamily(Font::TYPEWRITER_FAMILY); // no good
                toggleAndShow(cur, this, font);
@@ -1376,14 +1375,18 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
 
        case LFUN_FINISHED_LEFT:
                LYXERR(Debug::DEBUG) << "handle LFUN_FINISHED_LEFT:\n" << cur << endl;
-               if (reverseDirectionNeeded(cur))
+               if (reverseDirectionNeeded(cur)) {
                        ++cur.pos();
+                       cur.setCurrentFont();
+               }
                break;
 
        case LFUN_FINISHED_RIGHT:
                LYXERR(Debug::DEBUG) << "handle LFUN_FINISHED_RIGHT:\n" << cur << endl;
-               if (!reverseDirectionNeeded(cur))
+               if (!reverseDirectionNeeded(cur)) {
                        ++cur.pos();
+                       cur.setCurrentFont();
+               }
                break;
 
        case LFUN_LAYOUT_PARAGRAPH: {
@@ -1772,7 +1775,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                flag.setOnOff(font.family() == Font::ROMAN_FAMILY);
                return true;
 
-       case LFUN_FONT_CODE:
+       case LFUN_FONT_TYPEWRITER:
                flag.setOnOff(font.family() == Font::TYPEWRITER_FAMILY);
                return true;
 
@@ -1853,8 +1856,6 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_WORD_SELECT:
        case LFUN_PARAGRAPH_UP:
        case LFUN_PARAGRAPH_DOWN:
-       case LFUN_SCREEN_UP:
-       case LFUN_SCREEN_DOWN:
        case LFUN_LINE_BEGIN:
        case LFUN_LINE_END:
        case LFUN_BREAK_LINE: