mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 06:44:57 +01:00
Changes to PlaylistSelector
Users should be able to see the playlist they're about to switch to while the dialog is up. Additionally, if the user cancels, the change should be nullified and the original playlist used.
This commit is contained in:
parent
bdebac8bec
commit
8e22c4811e
2 changed files with 29 additions and 5 deletions
|
|
@ -26,7 +26,6 @@
|
|||
#include "ardour/audioplaylist.h"
|
||||
#include "ardour/midi_playlist.h"
|
||||
|
||||
#include "ardour/playlist.h"
|
||||
#include "ardour/session_playlist.h"
|
||||
|
||||
#include <gtkmm2ext/gtk_ui.h>
|
||||
|
|
@ -65,8 +64,10 @@ PlaylistSelector::PlaylistSelector ()
|
|||
|
||||
get_vbox()->pack_start (scroller);
|
||||
|
||||
Button* b = add_button (_("Close"), RESPONSE_CANCEL);
|
||||
b->signal_clicked().connect (sigc::mem_fun(*this, &PlaylistSelector::close_button_click));
|
||||
Button* close_btn = add_button (_("Close"), RESPONSE_CANCEL);
|
||||
Button* ok_btn = add_button (_("OK"), RESPONSE_OK);
|
||||
close_btn->signal_clicked().connect (sigc::mem_fun(*this, &PlaylistSelector::close_button_click));
|
||||
ok_btn->signal_clicked().connect (sigc::mem_fun(*this, &PlaylistSelector::ok_button_click));
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -119,6 +120,10 @@ PlaylistSelector::show_for (RouteUI* ruix)
|
|||
boost::shared_ptr<Playlist> proxy = others[columns.playlist];
|
||||
proxy.reset ();
|
||||
|
||||
if (this_track->playlist()) {
|
||||
current_playlist = this_track->playlist();
|
||||
}
|
||||
|
||||
for (TrackPlaylistMap::iterator x = trpl_map.begin(); x != trpl_map.end(); ++x) {
|
||||
|
||||
boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (_session->route_by_id (x->first));
|
||||
|
|
@ -238,10 +243,26 @@ PlaylistSelector::add_playlist_to_map (boost::shared_ptr<Playlist> pl)
|
|||
void
|
||||
PlaylistSelector::close_button_click ()
|
||||
{
|
||||
if (rui && current_playlist) {
|
||||
rui->track ()->use_playlist (rui->is_audio_track () ? DataType::AUDIO : DataType::MIDI, current_playlist);
|
||||
}
|
||||
rui = 0;
|
||||
hide ();
|
||||
}
|
||||
|
||||
void
|
||||
PlaylistSelector::ok_button_click()
|
||||
{
|
||||
rui = 0;
|
||||
hide();
|
||||
}
|
||||
|
||||
bool PlaylistSelector::on_delete_event (GdkEventAny*)
|
||||
{
|
||||
close_button_click();
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
PlaylistSelector::selection_changed ()
|
||||
{
|
||||
|
|
@ -264,7 +285,5 @@ PlaylistSelector::selection_changed ()
|
|||
}
|
||||
|
||||
rui->track ()->use_playlist (rui->is_audio_track () ? DataType::AUDIO : DataType::MIDI, pl);
|
||||
|
||||
hide ();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue