When selecting a region tracks header selection must not change

This commit is contained in:
GZharun 2014-12-08 12:10:37 +02:00
parent 275f260761
commit ecc4a9b47c
2 changed files with 13 additions and 10 deletions

View file

@ -465,7 +465,6 @@ void
Selection::add (vector<RegionView*>& v)
{
clear_time(); //enforce object/range exclusivity
clear_tracks(); //enforce object/track exclusivity
/* XXX This method or the add (const RegionSelection&) needs to go
*/
@ -487,7 +486,6 @@ void
Selection::add (const RegionSelection& rs)
{
clear_time(); //enforce object/range exclusivity
clear_tracks(); //enforce object/track exclusivity
/* XXX This method or the add (const vector<RegionView*>&) needs to go
*/
@ -509,7 +507,6 @@ void
Selection::add (RegionView* r)
{
clear_time(); //enforce object/range exclusivity
clear_tracks(); //enforce object/track exclusivity
if (find (regions.begin(), regions.end(), r) == regions.end()) {
bool changed = regions.add (r);
@ -820,7 +817,6 @@ void
Selection::set (const RegionSelection& rs)
{
clear_time(); //enforce region/object exclusivity
clear_tracks(); //enforce object/track exclusivity
clear_objects();
regions = rs;
RegionsChanged(); /* EMIT SIGNAL */
@ -836,21 +832,28 @@ Selection::set (MidiRegionView* mrv)
}
void
Selection::set (RegionView* r, bool /*also_clear_tracks*/)
Selection::set (RegionView* r, bool also_clear_tracks/*=false*/)
{
clear_time(); //enforce region/object exclusivity
clear_tracks(); //enforce object/track exclusivity
clear_objects ();
if (also_clear_tracks) {
clear_tracks();
}
add (r);
}
void
Selection::set (vector<RegionView*>& v)
Selection::set (vector<RegionView*>& v, bool also_clear_tracks/*=false*/)
{
clear_time(); //enforce region/object exclusivity
clear_tracks(); //enforce object/track exclusivity
clear_objects();
if (also_clear_tracks) {
clear_tracks();
}
add (v);
}

View file

@ -123,9 +123,9 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList
void set (TimeAxisView*);
void set (const TrackViewList&);
void set (const MidiNoteSelection&);
void set (RegionView*, bool also_clear_tracks = true);
void set (RegionView*, bool also_clear_tracks = false);
void set (MidiRegionView*);
void set (std::vector<RegionView*>&);
void set (std::vector<RegionView*>&, bool also_clear_tracks = false);
long set (framepos_t, framepos_t);
void set_preserving_all_ranges (framepos_t, framepos_t);
void set (boost::shared_ptr<Evoral::ControlList>);