summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_edit_groups.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-03-09 23:44:39 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-03-09 23:44:39 +0000
commit8ca43d57fea4e10e20b331f13132dfd9721911a1 (patch)
tree5c1c47ccceda129734a9409679add60c59ce7ac9 /gtk2_ardour/editor_edit_groups.cc
parent1511423e4ec34a56d1e22d6379f08847dcd25e84 (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.cc21
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;
}