diff options
author | Carl Hetherington <carl@carlh.net> | 2011-04-06 00:36:36 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-04-06 00:36:36 +0000 |
commit | 72f85f6cec86ff30de85103c11c11fcfa62f48b5 (patch) | |
tree | 29d860467cbdad5ea12ed7f810706feb10940e56 /gtk2_ardour/mixer_ui.cc | |
parent | eaf2c28d99e9af95a4aabfde2201a6a9596280a1 (diff) |
Fix show checkbuttons for mixer groups on startup (#3919). Also synchronise visible status between editor and mixer.
git-svn-id: svn://localhost/ardour2/branches/3.0@9297 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/mixer_ui.cc')
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index dc3aced978..b7fa89cfe2 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -1188,6 +1188,16 @@ Mixer_UI::route_group_property_changed (RouteGroup* group, const PropertyChange& if (change.contains (Properties::name)) { _group_tabs->set_dirty (); } + + for (list<MixerStrip*>::iterator j = strips.begin(); j != strips.end(); ++j) { + if ((*j)->route_group() == group) { + if (group->is_hidden ()) { + hide_strip (*j); + } else { + show_strip (*j); + } + } + } } void @@ -1221,26 +1231,17 @@ Mixer_UI::route_group_row_change (const Gtk::TreeModel::Path&, const Gtk::TreeMo return; } - if ((*iter)[group_columns.visible]) { - for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) { - if ((*i)->route_group() == group) { - show_strip (*i); - } - } - } else { - for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) { - if ((*i)->route_group() == group) { - hide_strip (*i); - } - } - } - std::string name = (*iter)[group_columns.text]; if (name != group->name()) { group->set_name (name); } + bool hidden = !(*iter)[group_columns.visible]; + + if (hidden != group->is_hidden ()) { + group->set_hidden (hidden, this); + } } void @@ -1252,7 +1253,7 @@ Mixer_UI::add_route_group (RouteGroup* group) in_group_row_change = true; TreeModel::Row row = *(group_model->append()); - row[group_columns.visible] = true; + row[group_columns.visible] = !group->is_hidden (); row[group_columns.group] = group; if (!group->name().empty()) { row[group_columns.text] = group->name(); |