+/**
+ * \file textcursor.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
#include "textcursor.h"
-bool TextCursor::setSelection()
+void TextCursor::setSelection()
{
- bool const lsel = selection.set();
-
if (!selection.set()) {
- last_sel_cursor = selection.cursor;
selection.start = selection.cursor;
selection.end = selection.cursor;
}
selection.set(true);
- // first the toggling area
- if (cursor.y() < last_sel_cursor.y()
- || (cursor.y() == last_sel_cursor.y()
- && cursor.x() < last_sel_cursor.x())) {
- toggle_end_cursor = last_sel_cursor;
- toggle_cursor = cursor;
- } else {
- toggle_end_cursor = cursor;
- toggle_cursor = last_sel_cursor;
- }
-
- last_sel_cursor = cursor;
-
// and now the whole selection
-
if (selection.cursor.par() == cursor.par())
if (selection.cursor.pos() < cursor.pos()) {
selection.end = cursor;
// a selection with no contents is not a selection
if (selection.start.par() == selection.end.par() &&
selection.start.pos() == selection.end.pos())
+ {
selection.set(false);
-
- return lsel;
+ }
}
{
selection.set(false);
selection.mark(false);
- last_sel_cursor = selection.end = selection.start = selection.cursor = cursor;
+ selection.end = cursor;
+ selection.start = cursor;
+ selection.cursor = cursor;
}
-string const TextCursor::selectionAsString(Buffer const * buffer,
+string const TextCursor::selectionAsString(Buffer const & buffer,
bool label) const
{
if (!selection.set())