]> git.lyx.org Git - lyx.git/blobdiff - src/Text3.cpp
Further to r26743, add CustomPars and ForcePlain layout tags to InsetLayout,
[lyx.git] / src / Text3.cpp
index 15b68b8dfb5d05c5b62640596c1d94d6ac717c17..b965198547ab6ee79c1eab4db9f9b37b2422ccbb 100644 (file)
@@ -56,7 +56,6 @@
 #include "insets/InsetQuotes.h"
 #include "insets/InsetSpecialChar.h"
 #include "insets/InsetText.h"
-#include "insets/InsetInfo.h"
 #include "insets/InsetGraphics.h"
 #include "insets/InsetGraphicsParams.h"
 
@@ -864,7 +863,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                if (!ins)
                        break;
 
-               cur.recordUndoFullDocument();
+               cur.recordUndo();
 
                string id = to_utf8(cmd.argument());
                string grp = graphics::getGroupParams(bv->buffer(), id);
@@ -1149,7 +1148,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        // Single-click on work area
        case LFUN_MOUSE_PRESS:
                // We are not marking a selection with the keyboard in any case.
-               cur.bv().cursor().mark() = false;
+               cur.bv().cursor().setMark(false);
                switch (cmd.button()) {
                case mouse_button::button1:
                        // Set the cursor
@@ -1231,7 +1230,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                // We continue with our existing selection or start a new one, so don't
                // reset the anchor.
                bvcur.setCursor(cur);
-               bvcur.selection() = true;
+               bvcur.setSelection(true);
                if (cur.top() == old) {
                        // We didn't move one iota, so no need to update the screen.
                        cur.updateFlags(Update::SinglePar | Update::FitCursor);
@@ -1254,9 +1253,12 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                // selectWord but bvcur is current
                                // mouse position.
                                cur.bv().cursor().setSelection();
-                       }
+                               // We might have removed an empty but drawn selection
+                               // (probably a margin)
+                               cur.updateFlags(Update::SinglePar | Update::FitCursor);
+                       } else
+                               cur.noUpdate();
                        // FIXME: We could try to handle drag and drop of selection here.
-                       cur.noUpdate();
                        return;
 
                case mouse_button::button2:
@@ -1489,7 +1491,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                        cur.push(*inset);
                        cur.top().pos() = cur.top().lastpos();
                        cur.resetAnchor();
-                       cur.selection() = true;
+                       cur.setSelection(true);
                        cur.top().pos() = 0;
                }
                break;
@@ -1522,7 +1524,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
 
-       case LFUN_FONT_BOLD: {
+       case LFUN_FONT_BOLD:
+       case LFUN_FONT_BOLDSYMBOL: {
                Font font(ignore_font, ignore_language);
                font.fontInfo().setSeries(BOLD_SERIES);
                toggleAndShow(cur, this, font);
@@ -1765,7 +1768,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
 
        case LFUN_ESCAPE:
                if (cur.selection()) {
-                       cur.selection() = false;
+                       cur.setSelection(false);
                } else {
                        cur.undispatched();
                        // This used to be LFUN_FINISHED_RIGHT, I think FORWARD is more
@@ -2038,6 +2041,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                break;
 
        case LFUN_FONT_BOLD:
+       case LFUN_FONT_BOLDSYMBOL:
                flag.setOnOff(fontinfo.series() == BOLD_SERIES);
                break;