From 9fa594e3ebde4d884afe9626be086143cf0adaf8 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 17 Dec 2013 14:16:29 +1100 Subject: Added DropSelectionN API. --- src/Selection.cxx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/Selection.cxx') diff --git a/src/Selection.cxx b/src/Selection.cxx index 0c02c198b..ae4d8bfc7 100644 --- a/src/Selection.cxx +++ b/src/Selection.cxx @@ -305,6 +305,21 @@ void Selection::AddSelectionWithoutTrim(SelectionRange range) { mainRange = ranges.size() - 1; } +void Selection::DropSelection(size_t r) { + if ((ranges.size() > 1) && (r < ranges.size())) { + size_t mainNew = mainRange; + if (mainNew >= r) { + if (mainNew == 0) { + mainNew = ranges.size() - 2; + } else { + mainNew--; + } + } + ranges.erase(ranges.begin() + r); + mainRange = mainNew; + } +} + void Selection::TentativeSelection(SelectionRange range) { if (!tentativeMain) { rangesSaved = ranges; -- cgit v1.2.3