+
+ if (focus) {
+ TreeViewColumn* col = edit_group_display.get_column (0);
+ CellRendererText* name_cell = dynamic_cast<CellRendererText*>(edit_group_display.get_column_cell_renderer (0));
+ edit_group_display.set_cursor (group_model->get_path (row), *col, *name_cell, true);
+ }
+
+ in_edit_group_row_change = false;
+}
+
+void
+Editor::edit_groups_changed ()
+{
+ ENSURE_GUI_THREAD (mem_fun (*this, &Editor::edit_groups_changed));
+
+ /* just rebuild the while thing */
+
+ group_model->clear ();
+
+ {
+ TreeModel::Row row;
+ row = *(group_model->append());
+ row[group_columns.is_active] = false;
+ row[group_columns.is_visible] = true;
+ row[group_columns.text] = (_("-all-"));
+ row[group_columns.routegroup] = 0;
+ }
+
+ session->foreach_edit_group (mem_fun (*this, &Editor::add_edit_group));