]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.cpp
PrefShortcuts: list all shortcuts (bound and unbound), using a better implementation
[lyx.git] / src / Cursor.cpp
index 40d7c37e8331305f2312e92793098089ab00d50a..5eea06c7bb2d26765c3e879bbe40a97a75980a4c 100644 (file)
@@ -33,6 +33,7 @@
 #include "Paragraph.h"
 #include "paragraph_funcs.h"
 #include "ParIterator.h"
+#include "TextMetrics.h"
 
 #include "insets/InsetTabular.h"
 #include "insets/InsetText.h"
@@ -254,8 +255,8 @@ namespace {
                odocstringstream ods;
                ods << '\n';
                // only add blank line if we're not in an ERT or Listings inset
-               if (par.ownerCode() != Inset::ERT_CODE
-                   && par.ownerCode() != Inset::LISTINGS_CODE)
+               if (par.ownerCode() != ERT_CODE
+                   && par.ownerCode() != LISTINGS_CODE)
                        ods << '\n';
                return ods.str();
        }
@@ -1551,4 +1552,78 @@ void Cursor::setCurrentFont()
        }
 }
 
+
+bool Cursor::textUndo()
+{
+       DocIterator dit = *this;
+       // Undo::textUndo() will modify dit.
+       if (!bv_->buffer().undo().textUndo(dit))
+               return false;
+       // Set cursor
+       setCursor(dit);
+       selection() = false;
+       resetAnchor();
+       fixIfBroken();
+       return true;
+}
+
+
+bool Cursor::textRedo()
+{
+       DocIterator dit = *this;
+       // Undo::textRedo() will modify dit.
+       if (!bv_->buffer().undo().textRedo(dit))
+               return false;
+       // Set cursor
+       setCursor(dit);
+       selection() = false;
+       resetAnchor();
+       fixIfBroken();
+       return true;
+}
+
+
+void Cursor::finishUndo()
+{
+       bv_->buffer().undo().finishUndo();
+}
+
+
+void Cursor::recordUndo(UndoKind kind, pit_type from, pit_type to)
+{
+       bv_->buffer().undo().recordUndo(*this, kind, from, to);
+}
+
+
+void Cursor::recordUndo(UndoKind kind, pit_type from)
+{
+       bv_->buffer().undo().recordUndo(*this, kind, from);
+}
+
+
+void Cursor::recordUndo(UndoKind kind)
+{
+       bv_->buffer().undo().recordUndo(*this, kind);
+}
+
+
+void Cursor::recordUndoInset(UndoKind kind)
+{
+       bv_->buffer().undo().recordUndoInset(*this, kind);
+}
+
+
+void Cursor::recordUndoFullDocument()
+{
+       bv_->buffer().undo().recordUndoFullDocument(*this);
+}
+
+
+void Cursor::recordUndoSelection()
+{
+       bv_->buffer().undo().recordUndo(*this, ATOMIC_UNDO,
+               selBegin().pit(), selEnd().pit());
+}
+
+
 } // namespace lyx