false);
UpdateCounters(bview, cursor.row());
ClearSelection();
- SetSelection();
+ SetSelection(bview);
SetCursor(bview, tmpcursor.par(), tmpcursor.pos(), true);
}
SetCursor(bview, sel_end_cursor.par(), sel_end_cursor.pos());
UpdateCounters(bview, cursor.row());
ClearSelection();
- SetSelection();
+ SetSelection(bview);
SetCursor(bview, tmpcursor.par(), tmpcursor.pos());
}
SetCursor(bview, sel_end_cursor.par(), sel_end_cursor.pos());
UpdateCounters(bview, cursor.row());
ClearSelection();
- SetSelection();
+ SetSelection(bview);
SetCursor(bview, tmpcursor.par(), tmpcursor.pos());
}
sel_cursor = cursor;
SetCursor(bview, sel_end_cursor.par(), sel_end_cursor.pos());
ClearSelection();
- SetSelection();
+ SetSelection(bview);
SetCursor(bview, tmpcursor.par(), tmpcursor.pos(), true,
tmpcursor.boundary());
}
* They also delete the corresponding row */
// need the selection cursor:
-void LyXText::SetSelection()
+void LyXText::SetSelection(BufferView * bview)
{
+ const bool lsel = selection;
+
if (!selection) {
last_sel_cursor = sel_cursor;
sel_start_cursor = sel_cursor;
if (sel_start_cursor.par() == sel_end_cursor.par() &&
sel_start_cursor.pos() == sel_end_cursor.pos())
selection = false;
+
+ if (inset_owner && (selection || lsel))
+ inset_owner->SetUpdateStatus(bview, InsetText::SELECTION);
}
SetCursor(bview, cursor.par(), cursor.pos());
sel_cursor = cursor;
}
+ if (inset_owner)
+ inset_owner->SetUpdateStatus(bview, InsetText::CURSOR_PAR);
}
SetCursor(bview, sel_start_cursor.par(), sel_start_cursor.pos());
sel_cursor = cursor;
SetCursor(bview, sel_end_cursor.par(), sel_end_cursor.pos());
- SetSelection();
+ SetSelection(bview);
SetCursor(bview, tmpcursor.par(), tmpcursor.pos());
if (inset_owner)
bview->updateInset(inset_owner, true);
SetCursor(bview, sel_start_cursor.par(), sel_start_cursor.pos());
sel_cursor = cursor;
SetCursor(bview, sel_end_cursor.par(), sel_end_cursor.pos());
- SetSelection();
+ SetSelection(bview);
SetCursor(bview, tmpcursor.par(), tmpcursor.pos());
}
sel_cursor = cursor;
SetCursor(bview, actpar, pos);
- SetSelection();
+ SetSelection(bview);
UpdateCounters(bview, cursor.row());
}
sel_cursor = cursor;
for (int i = 0; str[i]; ++i)
CursorRight(bview);
- SetSelection();
+ SetSelection(bview);
}
SetCursor(bview, cursor.par(), cursor.pos());
sel_cursor = cursor;
SetCursor(bview, par, pos);
- SetSelection();
+ SetSelection(bview);
}