diff options
-rw-r--r-- | gtk2_ardour/editor_regions.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/editor_regions.h | 3 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc index e2a97c791e..1b8e07a28b 100644 --- a/gtk2_ardour/editor_regions.cc +++ b/gtk2_ardour/editor_regions.cc @@ -105,18 +105,26 @@ EditorRegions::EditorRegions (Editor* e) CellRendererToggle* locked_cell = dynamic_cast<CellRendererToggle*> (_display.get_column_cell_renderer (7)); locked_cell->property_activatable() = true; locked_cell->signal_toggled().connect (sigc::mem_fun (*this, &EditorRegions::locked_changed)); + TreeViewColumn* locked_col = _display.get_column (7); + locked_col->add_attribute (locked_cell->property_visible(), _columns.property_toggles_visible); CellRendererToggle* glued_cell = dynamic_cast<CellRendererToggle*> (_display.get_column_cell_renderer (8)); glued_cell->property_activatable() = true; glued_cell->signal_toggled().connect (sigc::mem_fun (*this, &EditorRegions::glued_changed)); + TreeViewColumn* glued_col = _display.get_column (8); + glued_col->add_attribute (glued_cell->property_visible(), _columns.property_toggles_visible); CellRendererToggle* muted_cell = dynamic_cast<CellRendererToggle*> (_display.get_column_cell_renderer (9)); muted_cell->property_activatable() = true; muted_cell->signal_toggled().connect (sigc::mem_fun (*this, &EditorRegions::muted_changed)); + TreeViewColumn* muted_col = _display.get_column (9); + muted_col->add_attribute (muted_cell->property_visible(), _columns.property_toggles_visible); CellRendererToggle* opaque_cell = dynamic_cast<CellRendererToggle*> (_display.get_column_cell_renderer (10)); opaque_cell->property_activatable() = true; opaque_cell->signal_toggled().connect (sigc::mem_fun (*this, &EditorRegions::opaque_changed)); + TreeViewColumn* opaque_col = _display.get_column (10); + opaque_col->add_attribute (opaque_cell->property_visible(), _columns.property_toggles_visible); _display.get_selection()->set_mode (SELECTION_MULTIPLE); _display.add_object_drag (_columns.region.index(), "regions"); @@ -259,6 +267,7 @@ EditorRegions::add_region (boost::shared_ptr<Region> region) row[_columns.name] = str; row[_columns.region] = region; + row[_columns.property_toggles_visible] = false; if (missing_source) { row[_columns.path] = _("(MISSING) ") + region->source()->name(); @@ -309,6 +318,8 @@ EditorRegions::add_region (boost::shared_ptr<Region> region) if (!found_parent) { row = *(_model->append()); } + + row[_columns.property_toggles_visible] = true; } row[_columns.region] = region; diff --git a/gtk2_ardour/editor_regions.h b/gtk2_ardour/editor_regions.h index d7f5d7490b..b17699e9e6 100644 --- a/gtk2_ardour/editor_regions.h +++ b/gtk2_ardour/editor_regions.h @@ -82,6 +82,7 @@ private: add (opaque); add (used); add (path); + add (property_toggles_visible); } Gtk::TreeModelColumn<Glib::ustring> name; @@ -99,6 +100,8 @@ private: Gtk::TreeModelColumn<bool> opaque; Gtk::TreeModelColumn<Glib::ustring> used; Gtk::TreeModelColumn<Glib::ustring> path; + /** used to indicate whether the locked/glued/muted/opaque should be visible or not */ + Gtk::TreeModelColumn<bool> property_toggles_visible; }; Columns _columns; |