summaryrefslogtreecommitdiff
path: root/gtk2_ardour/playlist_selector.cc
diff options
context:
space:
mode:
authorSakari Bergen <sakari.bergen@beatwaves.net>2008-09-26 08:29:30 +0000
committerSakari Bergen <sakari.bergen@beatwaves.net>2008-09-26 08:29:30 +0000
commit572fa80aa713e723f63e1e1822db614307eea6af (patch)
tree6d8e8ed27d6192790f54482f14e93dda73d3a485 /gtk2_ardour/playlist_selector.cc
parent10d57b266cbec7054399f20f8e8c76cdff7e1592 (diff)
Add Import from session -functionality
git-svn-id: svn://localhost/ardour2/branches/3.0@3805 d708f5d6-7413-0410-9779-e7cbd77b26cf
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));
}