mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-10 15:36:24 +01:00
make rubber band select act across all tracks, not the current selection
git-svn-id: svn://localhost/ardour2/trunk@1728 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
3675945248
commit
107426f354
4 changed files with 8 additions and 8 deletions
|
|
@ -1435,7 +1435,7 @@ class Editor : public PublicEditor
|
|||
void drag_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event);
|
||||
void end_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event);
|
||||
|
||||
bool select_all_within (nframes_t start, nframes_t end, gdouble topy, gdouble boty, Selection::Operation op);
|
||||
bool select_all_within (nframes_t start, nframes_t end, gdouble topy, gdouble boty, const TrackViewList&, Selection::Operation op);
|
||||
|
||||
ArdourCanvas::SimpleRect *rubberband_rect;
|
||||
|
||||
|
|
|
|||
|
|
@ -594,7 +594,7 @@ Editor::marker_menu_select_all_selectables_using_range ()
|
|||
bool is_start;
|
||||
|
||||
if (((l = find_location_from_marker (marker, is_start)) != 0) && (l->end() > l->start())) {
|
||||
select_all_within (l->start(), l->end() - 1, 0, DBL_MAX, Selection::Set);
|
||||
select_all_within (l->start(), l->end() - 1, 0, DBL_MAX, track_views, Selection::Set);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4521,7 +4521,7 @@ Editor::end_range_markerbar_op (ArdourCanvas::Item* item, GdkEvent* event)
|
|||
switch (mouse_mode) {
|
||||
case MouseObject:
|
||||
/* find the two markers on either side and then make the selection from it */
|
||||
select_all_within (start, end, 0.0f, FLT_MAX, Selection::Set);
|
||||
select_all_within (start, end, 0.0f, FLT_MAX, track_views, Selection::Set);
|
||||
break;
|
||||
|
||||
case MouseRange:
|
||||
|
|
@ -4724,9 +4724,9 @@ Editor::end_rubberband_select (ArdourCanvas::Item* item, GdkEvent* event)
|
|||
begin_reversible_command (_("rubberband selection"));
|
||||
|
||||
if (drag_info.grab_frame < drag_info.last_pointer_frame) {
|
||||
commit = select_all_within (drag_info.grab_frame, drag_info.last_pointer_frame, y1, y2, op);
|
||||
commit = select_all_within (drag_info.grab_frame, drag_info.last_pointer_frame, y1, y2, track_views, op);
|
||||
} else {
|
||||
commit = select_all_within (drag_info.last_pointer_frame, drag_info.grab_frame, y1, y2, op);
|
||||
commit = select_all_within (drag_info.last_pointer_frame, drag_info.grab_frame, y1, y2, track_views, op);
|
||||
}
|
||||
|
||||
if (commit) {
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ Editor::set_selected_control_point_from_click (Selection::Operation op, bool no_
|
|||
y1 = clicked_control_point->get_x() - 10;
|
||||
y2 = clicked_control_point->get_y() + 10;
|
||||
|
||||
return select_all_within (x1, x2, y1, y2, op);
|
||||
return select_all_within (x1, x2, y1, y2, selection->tracks, op);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -770,13 +770,13 @@ Editor::invert_selection ()
|
|||
}
|
||||
|
||||
bool
|
||||
Editor::select_all_within (nframes_t start, nframes_t end, double top, double bot, Selection::Operation op)
|
||||
Editor::select_all_within (nframes_t start, nframes_t end, double top, double bot, const TrackViewList& tracklist, Selection::Operation op)
|
||||
{
|
||||
list<Selectable*> touched;
|
||||
list<Selectable*>::size_type n = 0;
|
||||
TrackViewList touched_tracks;
|
||||
|
||||
for (TrackViewList::iterator iter = selection->tracks.begin(); iter != selection->tracks.end(); ++iter) {
|
||||
for (TrackViewList::const_iterator iter = tracklist.begin(); iter != tracklist.end(); ++iter) {
|
||||
if ((*iter)->hidden()) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue