diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-09-26 08:29:30 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2008-09-26 08:29:30 +0000 |
commit | 572fa80aa713e723f63e1e1822db614307eea6af (patch) | |
tree | 6d8e8ed27d6192790f54482f14e93dda73d3a485 /gtk2_ardour/playlist_selector.cc | |
parent | 10d57b266cbec7054399f20f8e8c76cdff7e1592 (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.cc | 29 |
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)); } |