diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-03-09 23:44:39 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-03-09 23:44:39 +0000 |
commit | 8ca43d57fea4e10e20b331f13132dfd9721911a1 (patch) | |
tree | 5c1c47ccceda129734a9409679add60c59ce7ac9 /gtk2_ardour/editor_edit_groups.cc | |
parent | 1511423e4ec34a56d1e22d6379f08847dcd25e84 (diff) |
new mix group interface, not yet finished and still to propagate to edit_group
git-svn-id: svn://localhost/trunk/ardour2@366 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_edit_groups.cc')
-rw-r--r-- | gtk2_ardour/editor_edit_groups.cc | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_edit_groups.cc b/gtk2_ardour/editor_edit_groups.cc index 49d6b13a0f..2e7179d940 100644 --- a/gtk2_ardour/editor_edit_groups.cc +++ b/gtk2_ardour/editor_edit_groups.cc @@ -192,6 +192,10 @@ Editor::edit_group_row_change (const Gtk::TreeModel::Path& path,const Gtk::TreeM { RouteGroup* group; + if (in_edit_group_row_change) { + return; + } + if ((group = (*iter)[group_columns.routegroup]) == 0) { return; } @@ -212,6 +216,15 @@ Editor::edit_group_row_change (const Gtk::TreeModel::Path& path,const Gtk::TreeM bool active = (*iter)[group_columns.is_active]; group->set_active (active, this); + + + string name = (*iter)[group_columns.text]; + + cerr << "Row change, name = " << name << endl; + + if (name != group->name()) { + group->set_name (name); + } } void @@ -221,7 +234,7 @@ Editor::add_edit_group (RouteGroup* group) TreeModel::Row row = *(group_model->append()); row[group_columns.is_active] = group->is_active(); - row[group_columns.is_visible] = true; + row[group_columns.is_visible] = !group->is_hidden(); row[group_columns.text] = group->name(); row[group_columns.routegroup] = group; @@ -256,12 +269,18 @@ Editor::group_flags_changed (void* src, RouteGroup* group) { ENSURE_GUI_THREAD(bind (mem_fun(*this, &Editor::group_flags_changed), src, group)); + in_edit_group_row_change = true; + Gtk::TreeModel::Children children = group_model->children(); for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) { if (group == (*iter)[group_columns.routegroup]) { (*iter)[group_columns.is_active] = group->is_active(); + (*iter)[group_columns.is_visible] = !group->is_hidden(); + (*iter)[group_columns.text] = group->name(); } } + + in_edit_group_row_change = false; } |