summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-01-18 04:34:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-01-18 04:34:00 +0000
commit013ec977324d98d7c4b243ddad86d84b94abdc62 (patch)
tree8ef847eaab6b6df2bf406eba96370c9fd4bd9301 /gtk2_ardour/editor_ops.cc
parent143983948ecbdc9e9e4c4f3fe2541b2bea22be87 (diff)
make ctrl-rubber-band-select do something closer to the right thing
git-svn-id: svn://localhost/ardour2/trunk@1354 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc20
1 files changed, 17 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index db94e44fe6..6e6d269f21 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -1394,16 +1394,30 @@ Editor::select_all_within (nframes_t start, nframes_t end, double top, double bo
}
if (!touched_tracks.empty()) {
- selection->clear_tracks();
- selection->set (touched_tracks);
+ switch (op) {
+ case Selection::Add:
+ selection->add (touched_tracks);
+ break;
+ case Selection::Toggle:
+ selection->toggle (touched_tracks);
+ break;
+ case Selection::Set:
+ selection->set (touched_tracks);
+ break;
+ case Selection::Extend:
+ /* not defined yet */
+ break;
+ }
}
begin_reversible_command (_("select all within"));
switch (op) {
case Selection::Add:
- case Selection::Toggle:
selection->add (touched);
break;
+ case Selection::Toggle:
+ selection->toggle (touched);
+ break;
case Selection::Set:
selection->set (touched);
break;