From 2c28a053b48dc912c80fcc527787cf2d26cdfd5e Mon Sep 17 00:00:00 2001 From: nick_m Date: Sat, 4 Apr 2015 23:20:15 +1100 Subject: [PATCH] Sort stem and port export dialogs by route order key. Also use separate column for checkbox and track name to improve layout. --- gtk2_ardour/export_channel_selector.cc | 14 +++++++++++--- gtk2_ardour/export_channel_selector.h | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gtk2_ardour/export_channel_selector.cc b/gtk2_ardour/export_channel_selector.cc index 20155471af..e28a4e158b 100644 --- a/gtk2_ardour/export_channel_selector.cc +++ b/gtk2_ardour/export_channel_selector.cc @@ -551,18 +551,25 @@ TrackExportChannelSelector::TrackExportChannelSelector (ARDOUR::Session * sessio // Track list track_list = Gtk::ListStore::create (track_cols); + track_list->set_sort_column_id (3, Gtk::SORT_ASCENDING); track_view.set_model (track_list); track_view.set_headers_visible (true); - track_view.append_column_editable (_("Track"), track_cols.selected); + track_view.append_column_editable (_("Export"), track_cols.selected); Gtk::CellRendererToggle *toggle = dynamic_cast(track_view.get_column_cell_renderer (0)); + toggle->set_alignment (0.0, 0.5); + toggle->signal_toggled().connect (sigc::hide (sigc::mem_fun (*this, &TrackExportChannelSelector::update_config))); Gtk::CellRendererText* text_renderer = Gtk::manage (new Gtk::CellRendererText); text_renderer->property_editable() = false; + text_renderer->set_alignment (0.0, 0.5); - Gtk::TreeView::Column* column = track_view.get_column (0); - column->pack_start (*text_renderer); + Gtk::TreeView::Column* column = Gtk::manage (new Gtk::TreeView::Column); + column->set_title (_("Track name")); + + track_view.append_column (*column); + column->pack_start (*text_renderer, false); column->add_attribute (text_renderer->property_text(), track_cols.label); fill_list(); @@ -609,6 +616,7 @@ TrackExportChannelSelector::add_track (boost::shared_ptr route) row[track_cols.selected] = true; row[track_cols.label] = route->name(); row[track_cols.route] = route; + row[track_cols.order_key] = route->order_key(); } void diff --git a/gtk2_ardour/export_channel_selector.h b/gtk2_ardour/export_channel_selector.h index 3dbb9b8265..2ed47b59d8 100644 --- a/gtk2_ardour/export_channel_selector.h +++ b/gtk2_ardour/export_channel_selector.h @@ -241,7 +241,6 @@ class TrackExportChannelSelector : public ExportChannelSelector void fill_list(); void add_track (boost::shared_ptr route); void update_config(); - ChannelConfigList configs; Gtk::VBox main_layout; @@ -252,8 +251,9 @@ class TrackExportChannelSelector : public ExportChannelSelector Gtk::TreeModelColumn > route; Gtk::TreeModelColumn label; Gtk::TreeModelColumn selected; + Gtk::TreeModelColumn order_key; - TrackCols () { add (route); add(label); add(selected); } + TrackCols () { add (route); add(label); add(selected); add(order_key); } }; TrackCols track_cols;