more improvements for range drag/track selection logic etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@7714 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
a8e86b8f09
commit
6e8a5fa135
@ -487,10 +487,20 @@ EditorRouteGroups::set_session (Session* s)
|
|||||||
SessionHandlePtr::set_session (s);
|
SessionHandlePtr::set_session (s);
|
||||||
|
|
||||||
if (_session) {
|
if (_session) {
|
||||||
|
|
||||||
|
RouteGroup& arg (_session->all_route_group());
|
||||||
|
|
||||||
|
arg.PropertyChanged.connect (property_changed_connection, MISSING_INVALIDATOR, ui_bind (&EditorRouteGroups::all_group_changed, this, _1), gui_context());
|
||||||
|
|
||||||
_session->route_group_added.connect (_session_connections, MISSING_INVALIDATOR, ui_bind (&EditorRouteGroups::add, this, _1), gui_context());
|
_session->route_group_added.connect (_session_connections, MISSING_INVALIDATOR, ui_bind (&EditorRouteGroups::add, this, _1), gui_context());
|
||||||
_session->route_group_removed.connect (_session_connections, MISSING_INVALIDATOR, boost::bind (&EditorRouteGroups::groups_changed, this), gui_context());
|
_session->route_group_removed.connect (_session_connections, MISSING_INVALIDATOR, boost::bind (&EditorRouteGroups::groups_changed, this), gui_context());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PBD::PropertyChange pc;
|
||||||
|
pc.add (Properties::select);
|
||||||
|
pc.add (Properties::active);
|
||||||
|
all_group_changed (pc);
|
||||||
|
|
||||||
groups_changed ();
|
groups_changed ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,3 +520,15 @@ EditorRouteGroups::all_group_toggled ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
EditorRouteGroups::all_group_changed (const PropertyChange&)
|
||||||
|
{
|
||||||
|
if (_session) {
|
||||||
|
RouteGroup& arg (_session->all_route_group());
|
||||||
|
_all_group_active_button.set_active (arg.is_active() && arg.is_select());
|
||||||
|
} else {
|
||||||
|
_all_group_active_button.set_active (false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -72,6 +72,7 @@ private:
|
|||||||
void remove_selected ();
|
void remove_selected ();
|
||||||
void run_new_group_dialog ();
|
void run_new_group_dialog ();
|
||||||
void all_group_toggled();
|
void all_group_toggled();
|
||||||
|
void all_group_changed (const PBD::PropertyChange&);
|
||||||
|
|
||||||
Glib::RefPtr<Gtk::ListStore> _model;
|
Glib::RefPtr<Gtk::ListStore> _model;
|
||||||
Glib::RefPtr<Gtk::TreeSelection> _selection;
|
Glib::RefPtr<Gtk::TreeSelection> _selection;
|
||||||
|
Loading…
Reference in New Issue
Block a user