diff --git a/gtk2_ardour/editor_sources.cc b/gtk2_ardour/editor_sources.cc index eecc26f53f..0237e65952 100644 --- a/gtk2_ardour/editor_sources.cc +++ b/gtk2_ardour/editor_sources.cc @@ -96,7 +96,7 @@ EditorSources::EditorSources (Editor* e) _model->set_sort_column (0, SORT_ASCENDING); /* column widths */ - int bbt_width, date_width, height; + int bbt_width, date_width, chan_width, height; Glib::RefPtr layout = _display.create_pango_layout (X_("000|000|000")); Gtkmm2ext::get_pixel_size (layout, bbt_width, height); @@ -104,31 +104,41 @@ EditorSources::EditorSources (Editor* e) Glib::RefPtr layout2 = _display.create_pango_layout (X_("2018-10-14 12:12:30")); Gtkmm2ext::get_pixel_size (layout2, date_width, height); + Glib::RefPtr layout3 = _display.create_pango_layout (X_("Chans ")); + Gtkmm2ext::get_pixel_size (layout3, chan_width, height); + TreeViewColumn* col_name = manage (new TreeViewColumn ("", _columns.name)); col_name->set_fixed_width (bbt_width*2); col_name->set_sizing (TREE_VIEW_COLUMN_FIXED); col_name->set_sort_column(0); + TreeViewColumn* col_chans = manage (new TreeViewColumn ("", _columns.channels)); + col_chans->set_fixed_width (chan_width); + col_chans->set_sizing (TREE_VIEW_COLUMN_FIXED); + col_chans->set_sort_column(1); + TreeViewColumn* col_tags = manage (new TreeViewColumn ("", _columns.tags)); col_tags->set_fixed_width (bbt_width*2); col_tags->set_sizing (TREE_VIEW_COLUMN_FIXED); + col_tags->set_sort_column(2); TreeViewColumn* col_take_id = manage (new TreeViewColumn ("", _columns.take_id)); col_take_id->set_fixed_width (date_width); col_take_id->set_sizing (TREE_VIEW_COLUMN_FIXED); - col_take_id->set_sort_column(1); + col_take_id->set_sort_column(3); TreeViewColumn* col_nat_pos = manage (new TreeViewColumn ("", _columns.natural_pos)); col_nat_pos->set_fixed_width (bbt_width); col_nat_pos->set_sizing (TREE_VIEW_COLUMN_FIXED); - col_nat_pos->set_sort_column(6); + col_nat_pos->set_sort_column(8); TreeViewColumn* col_path = manage (new TreeViewColumn ("", _columns.path)); col_path->set_fixed_width (bbt_width); col_path->set_sizing (TREE_VIEW_COLUMN_FIXED); - col_path->set_sort_column(3); + col_path->set_sort_column(5); _display.append_column (*col_name); + _display.append_column (*col_chans); _display.append_column (*col_tags); _display.append_column (*col_take_id); _display.append_column (*col_nat_pos); @@ -138,11 +148,12 @@ EditorSources::EditorSources (Editor* e) Gtk::Label* l; ColumnInfo ci[] = { - { 0, _("Source"), _("Source name, with number of channels in []'s") }, - { 1, _("Tags"), _("Tags") }, - { 2, _("Take ID"), _("Take ID") }, - { 3, _("Orig Pos"), _("Original Position of the file on timeline, when it was recorded") }, - { 4, _("Path"), _("Path (folder) of the file location") }, + { 0, _("Name"), _("Region name") }, + { 1, _("Chans"), _("Channels") }, + { 2, _("Tags"), _("Tags") }, + { 3, _("Take ID"), _("Take ID") }, + { 4, _("Orig Pos"), _("Original Position of the file on timeline, when it was recorded") }, + { 5, _("Path"), _("Path (folder) of the file location") }, { -1, 0, 0 } }; @@ -170,22 +181,22 @@ EditorSources::EditorSources (Editor* e) tv_col->add_attribute(renderer->property_foreground_gdk(), _columns.color_); /* Tags cell: make editable */ - CellRendererText* region_tags_cell = dynamic_cast(_display.get_column_cell_renderer (1)); + CellRendererText* region_tags_cell = dynamic_cast(_display.get_column_cell_renderer (2)); region_tags_cell->property_editable() = true; region_tags_cell->signal_edited().connect (sigc::mem_fun (*this, &EditorSources::tag_edit)); region_tags_cell->signal_editing_started().connect (sigc::mem_fun (*this, &EditorSources::tag_editing_started)); /* right-align the Natural Pos column */ - TreeViewColumn* nat_col = _display.get_column(3); + TreeViewColumn* nat_col = _display.get_column(4); nat_col->set_alignment (ALIGN_RIGHT); - renderer = dynamic_cast(_display.get_column_cell_renderer (3)); + renderer = dynamic_cast(_display.get_column_cell_renderer (4)); if (renderer) { renderer->property_xalign() = ( 1.0 ); } /* the PATH field should expand when the pane is opened wider */ tv_col = _display.get_column(4); - renderer = dynamic_cast(_display.get_column_cell_renderer (4)); + renderer = dynamic_cast(_display.get_column_cell_renderer (5)); tv_col->add_attribute(renderer->property_text(), _columns.path); tv_col->set_expand (true); @@ -357,14 +368,9 @@ EditorSources::populate_row (TreeModel::Row row, boost::shared_ptrname(); - /* if a multichannel region, show the number of channels - * ToDo: make a sortable column for this? - */ - if ( region->n_channels() > 1 ) { - str += string_compose("[%1]", region->n_channels()); - } - row[_columns.name] = str; + row[_columns.name] = region->name(); + + row[_columns.channels] = region->n_channels(); /* TAGS */ row[_columns.tags] = region->tags(); diff --git a/gtk2_ardour/editor_sources.h b/gtk2_ardour/editor_sources.h index 59647d8f36..3117431622 100644 --- a/gtk2_ardour/editor_sources.h +++ b/gtk2_ardour/editor_sources.h @@ -61,6 +61,7 @@ private: struct Columns : public Gtk::TreeModel::ColumnRecord { Columns () { add (name); + add (channels); add (tags); add (take_id); add (natural_pos); @@ -71,6 +72,7 @@ private: } Gtk::TreeModelColumn name; + Gtk::TreeModelColumn channels; Gtk::TreeModelColumn tags; Gtk::TreeModelColumn > region; Gtk::TreeModelColumn color_;