}
} else if (group && group->is_active()) {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end (); ++i) {
- if ((*i)->route_group() == group)
+ if ((*i)->route_group() == group) {
selection->remove(*i);
+ }
}
} else {
selection->remove (clicked_axisview);
}
} else if (group && group->is_active()) {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end (); ++i) {
- if ( (*i)->route_group() == group)
+ if ((*i)->route_group() == group) {
selection->add(*i);
+ }
}
} else {
selection->add (clicked_axisview);
}
} else if (group && group->is_active()) {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end (); ++i) {
- if ((*i)->route_group() == group)
+ if ((*i)->route_group() == group) {
selection->add(*i);
+ }
}
} else {
selection->add (clicked_axisview);
}
} else if (group && group->is_active()) {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end (); ++i) {
- if ((*i)->route_group() == group)
+ if ((*i)->route_group() == group) {
selection->add(*i);
+ }
}
} else {
selection->set (clicked_axisview);
void
Editor::set_selected_track (TimeAxisView& view, Selection::Operation op, bool no_remove)
{
- begin_reversible_selection_op(_("Set Selected Track"));
+ begin_reversible_selection_op (X_("Set Selected Track"));
switch (op) {
case Selection::Toggle:
return;
}
- begin_reversible_selection_op (_("set selected regions"));
+ begin_reversible_selection_op (X_("set selected regions"));
switch (op) {
case Selection::Toggle:
return true;
}
- begin_reversible_selection_op (_("set selected regions"));
+ begin_reversible_selection_op (X_("set selected regions"));
selection->set (rv);
return;
}
- begin_reversible_selection_op(_("Select All in Track"));
+ begin_reversible_selection_op (X_("Select All in Track"));
clicked_routeview->get_selectables (0, max_framepos, 0, DBL_MAX, touched);
}
- begin_reversible_selection_op (_("select all"));
+ begin_reversible_selection_op (X_("select all"));
switch (op) {
case Selection::Add:
selection->add (touched);
return;
}
- begin_reversible_selection_op(_("Invert Selection in Track"));
+ begin_reversible_selection_op (X_("Invert Selection in Track"));
clicked_routeview->get_inverted_selectables (*selection, touched);
selection->set (touched);
commit_reversible_selection_op ();
(*iter)->get_inverted_selectables (*selection, touched);
}
- begin_reversible_selection_op(_("Invert Selection"));
+ begin_reversible_selection_op (X_("Invert Selection"));
selection->set (touched);
commit_reversible_selection_op ();
}
}
}
- begin_reversible_selection_op (_("select all within"));
+ begin_reversible_selection_op (X_("select all within"));
switch (op) {
case Selection::Add:
selection->add (found);
return;
}
+ /* find all the tracks that have selected regions */
+
+ set<TimeAxisView*> tracks;
+
+ for (RegionSelection::const_iterator r = selection->regions.begin(); r != selection->regions.end(); ++r) {
+ tracks.insert (&(*r)->get_time_axis_view());
+ }
+
+ TrackViewList tvl;
+ tvl.insert (tvl.end(), tracks.begin(), tracks.end());
+
+ /* select range (this will clear the region selection) */
+
selection->set (selection->regions.start(), selection->regions.end_frame());
+
+ /* and select the tracks */
- //we must now select tracks, because otherwise set_selection_from_region would appear to do nothing
- //perhaps too drastic; perhaps the user really only wants the region's track selected
- //but I can't think of any use-case for that (why wouldn't you just select the region?)
- select_all_tracks();
+ selection->set (tvl);
if (!Profile->get_sae()) {
set_mouse_mode (Editing::MouseRange, false);
void
Editor::set_selection_from_range (Location& loc)
{
- begin_reversible_selection_op (_("set selection from range"));
+ begin_reversible_selection_op (X_("set selection from range"));
selection->set (loc.start(), loc.end());
commit_reversible_selection_op ();
(*iter)->get_selectables (start, end - 1, 0, DBL_MAX, touched);
}
- begin_reversible_selection_op (_("select all from range"));
+ begin_reversible_selection_op (X_("select all from range"));
selection->set (touched);
commit_reversible_selection_op ();
}
}
(*iter)->get_selectables (location->start(), location->end() - 1, 0, DBL_MAX, touched);
}
- begin_reversible_selection_op (_("select all from punch"));
+ begin_reversible_selection_op (X_("select all from punch"));
selection->set (touched);
commit_reversible_selection_op ();
}
(*iter)->get_selectables (location->start(), location->end() - 1, 0, DBL_MAX, touched);
}
- begin_reversible_selection_op (_("select all from loop"));
+ begin_reversible_selection_op (X_("select all from loop"));
selection->set (touched);
commit_reversible_selection_op ();
}
if (after) {
- begin_reversible_selection_op (_("select all after cursor"));
+ begin_reversible_selection_op (X_("select all after cursor"));
} else {
- begin_reversible_selection_op (_("select all before cursor"));
+ begin_reversible_selection_op (X_("select all before cursor"));
}
TrackViewList* ts;
list<Selectable *> touched;
if (after) {
- start = get_preferred_edit_position(false, true);
+ start = get_preferred_edit_position(EDIT_IGNORE_NONE, true);
end = _session->current_end_frame();
} else {
- if ((end = get_preferred_edit_position(false, true)) > 1) {
+ if ((end = get_preferred_edit_position(EDIT_IGNORE_NONE, true)) > 1) {
start = 0;
end -= 1;
} else {
}
if (after) {
- begin_reversible_selection_op (_("select all after edit"));
+ begin_reversible_selection_op (X_("select all after edit"));
} else {
- begin_reversible_selection_op (_("select all before edit"));
+ begin_reversible_selection_op (X_("select all before edit"));
}
TrackViewList* ts;
}
void
-Editor::select_all_selectables_between (bool /*within*/)
+Editor::select_all_selectables_between (bool within)
{
framepos_t start;
framepos_t end;
if ((*iter)->hidden()) {
continue;
}
- (*iter)->get_selectables (start, end, 0, DBL_MAX, touched);
+ (*iter)->get_selectables (start, end, 0, DBL_MAX, touched, within);
}
- begin_reversible_selection_op(_("Select all Selectables Between"));
+ begin_reversible_selection_op (X_("Select all Selectables Between"));
selection->set (touched);
commit_reversible_selection_op ();
}
return;
}
- begin_reversible_selection_op(_("Select Range Between"));
+ begin_reversible_selection_op (X_("Select Range Between"));
set_mouse_mode (MouseRange);
selection->set (start, end);
commit_reversible_selection_op ();
void
Editor::deselect_all ()
{
- begin_reversible_selection_op(_("Clear Selection"));
+ begin_reversible_selection_op (X_("Deselect All"));
selection->clear ();
commit_reversible_selection_op ();
}
long
Editor::select_range (framepos_t s, framepos_t e)
{
- begin_reversible_selection_op(_("Select Range"));
+ begin_reversible_selection_op (X_("Select Range"));
selection->add (clicked_axisview);
selection->time.clear ();
long ret = selection->set (s, e);