summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_selection.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-01-09 18:26:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-01-09 18:26:47 +0000
commit9c88023faf6d63806fa747eda541294f22a1e5f3 (patch)
tree0e7891587cf986aa9c2b4bd0de6587982a1c4c32 /gtk2_ardour/editor_selection.cc
parentb007f7fe621e8390b41df5a725fbb697d3d69fb9 (diff)
make separate work with/without selected tracks; make align-regions-*-relative work correctly; make waveform muted color show correctly
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2855 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r--gtk2_ardour/editor_selection.cc68
1 files changed, 60 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index 1ae304316b..f1248fb13a 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -840,7 +840,7 @@ void
Editor::select_all (Selection::Operation op)
{
list<Selectable *> touched;
-
+
for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
if ((*iter)->hidden()) {
continue;
@@ -1023,7 +1023,15 @@ Editor::select_all_selectables_using_time_selection ()
return;
}
- for (TrackViewList::iterator iter = selection->tracks.begin(); iter != selection->tracks.end(); ++iter) {
+ TrackSelection* ts;
+
+ if (selection->tracks.empty()) {
+ ts = &track_views;
+ } else {
+ ts = &selection->tracks;
+ }
+
+ for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}
@@ -1046,7 +1054,16 @@ Editor::select_all_selectables_using_punch()
return;
}
- for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+
+ TrackSelection* ts;
+
+ if (selection->tracks.empty()) {
+ ts = &track_views;
+ } else {
+ ts = &selection->tracks;
+ }
+
+ for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}
@@ -1068,7 +1085,16 @@ Editor::select_all_selectables_using_loop()
return;
}
- for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+
+ TrackSelection* ts;
+
+ if (selection->tracks.empty()) {
+ ts = &track_views;
+ } else {
+ ts = &selection->tracks;
+ }
+
+ for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}
@@ -1101,7 +1127,16 @@ Editor::select_all_selectables_using_cursor (Cursor *cursor, bool after)
}
}
- for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+
+ TrackSelection* ts;
+
+ if (selection->tracks.empty()) {
+ ts = &track_views;
+ } else {
+ ts = &selection->tracks;
+ }
+
+ for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}
@@ -1132,7 +1167,16 @@ Editor::select_all_selectables_using_edit (bool after)
}
}
- for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+
+ TrackSelection* ts;
+
+ if (selection->tracks.empty()) {
+ ts = &track_views;
+ } else {
+ ts = &selection->tracks;
+ }
+
+ for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}
@@ -1152,8 +1196,16 @@ Editor::select_all_selectables_between (bool within)
if (!get_edit_op_range (start, end)) {
return;
}
-
- for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
+
+ TrackSelection* ts;
+
+ if (selection->tracks.empty()) {
+ ts = &track_views;
+ } else {
+ ts = &selection->tracks;
+ }
+
+ for (TrackViewList::iterator iter = ts->begin(); iter != ts->end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}