summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-08-30 18:08:41 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-08-30 18:08:41 +0000
commit6e8a5fa13598bfb2b76a673b431b98fa94cbdebe (patch)
tree9d3f901da2509f03458fdd4242eb0b36b1ec5b98
parenta8e86b8f09e603e7b6cb2eb73471b80b89781ef2 (diff)
more improvements for range drag/track selection logic etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@7714 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor_route_groups.cc22
-rw-r--r--gtk2_ardour/editor_route_groups.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_route_groups.cc b/gtk2_ardour/editor_route_groups.cc
index 31ab21c2bf..88c74182f8 100644
--- a/gtk2_ardour/editor_route_groups.cc
+++ b/gtk2_ardour/editor_route_groups.cc
@@ -487,10 +487,20 @@ EditorRouteGroups::set_session (Session* s)
SessionHandlePtr::set_session (s);
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_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 ();
}
@@ -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);
+ }
+
+}
+
diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h
index 127eedd0e2..e5d583cfba 100644
--- a/gtk2_ardour/editor_route_groups.h
+++ b/gtk2_ardour/editor_route_groups.h
@@ -72,6 +72,7 @@ private:
void remove_selected ();
void run_new_group_dialog ();
void all_group_toggled();
+ void all_group_changed (const PBD::PropertyChange&);
Glib::RefPtr<Gtk::ListStore> _model;
Glib::RefPtr<Gtk::TreeSelection> _selection;