summaryrefslogtreecommitdiff
path: root/gtk2_ardour/playlist_selector.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/playlist_selector.cc')
-rw-r--r--gtk2_ardour/playlist_selector.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/gtk2_ardour/playlist_selector.cc b/gtk2_ardour/playlist_selector.cc
index 39abfe3dc1..0ca9432fcb 100644
--- a/gtk2_ardour/playlist_selector.cc
+++ b/gtk2_ardour/playlist_selector.cc
@@ -183,6 +183,35 @@ PlaylistSelector::show_for (RouteUI* ruix)
}
}
+ // Add unassigned (imported) playlists to the list
+ list<boost::shared_ptr<Playlist> > unassigned;
+ session->unassigned_playlists (unassigned);
+
+ TreeModel::Row row;
+ TreeModel::Row* selected_row = 0;
+ TreePath this_path;
+
+ row = *(model->append (others.children()));
+ row[columns.text] = _("Imported");
+ proxy = row[columns.playlist];
+ proxy.reset ();
+
+ for (list<boost::shared_ptr<Playlist> >::iterator p = unassigned.begin(); p != unassigned.end(); ++p) {
+ TreeModel::Row child_row;
+
+ child_row = *(model->append (row.children()));
+ child_row[columns.text] = (*p)->name();
+ child_row[columns.playlist] = *p;
+
+ if (*p == this_ds->playlist()) {
+ selected_row = &child_row;
+ }
+
+ if (selected_row != 0) {
+ tree.get_selection()->select (*selected_row);
+ }
+ }
+
show_all ();
select_connection = tree.get_selection()->signal_changed().connect (mem_fun(*this, &PlaylistSelector::selection_changed));
}