diff options
Diffstat (limited to 'src/Selection.cxx')
| -rw-r--r-- | src/Selection.cxx | 15 | 
1 files changed, 15 insertions, 0 deletions
| 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; | 
