Add submenus for route group, playlist and automation to route context menu. Fixes #618.
git-svn-id: svn://localhost/ardour2/branches/3.0@7594 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
12aa01660a
commit
3d3d6feaa4
@ -148,7 +148,7 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, boost::sh
|
||||
playlist_button.unset_flags (Gtk::CAN_FOCUS);
|
||||
automation_button.unset_flags (Gtk::CAN_FOCUS);
|
||||
|
||||
route_group_button.signal_button_release_event().connect (sigc::mem_fun(*this, &RouteTimeAxisView::edit_click), false);
|
||||
route_group_button.signal_button_release_event().connect (sigc::mem_fun(*this, &RouteTimeAxisView::route_group_click), false);
|
||||
playlist_button.signal_clicked().connect (sigc::mem_fun(*this, &RouteTimeAxisView::playlist_click));
|
||||
automation_button.signal_clicked().connect (sigc::mem_fun(*this, &RouteTimeAxisView::automation_click));
|
||||
|
||||
@ -277,7 +277,7 @@ RouteTimeAxisView::post_construct ()
|
||||
}
|
||||
|
||||
gint
|
||||
RouteTimeAxisView::edit_click (GdkEventButton *ev)
|
||||
RouteTimeAxisView::route_group_click (GdkEventButton *ev)
|
||||
{
|
||||
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
|
||||
if (_route->route_group()) {
|
||||
@ -342,15 +342,7 @@ RouteTimeAxisView::take_name_changed (void *src)
|
||||
void
|
||||
RouteTimeAxisView::playlist_click ()
|
||||
{
|
||||
// always build a new action menu
|
||||
|
||||
delete playlist_action_menu;
|
||||
|
||||
playlist_action_menu = new Menu;
|
||||
playlist_action_menu->set_name ("ArdourContextMenu");
|
||||
|
||||
build_playlist_menu (playlist_action_menu);
|
||||
|
||||
build_playlist_menu ();
|
||||
conditionally_add_to_selection ();
|
||||
playlist_action_menu->popup (1, gtk_get_current_event_time());
|
||||
}
|
||||
@ -546,6 +538,17 @@ RouteTimeAxisView::build_display_menu ()
|
||||
}
|
||||
|
||||
items.push_back (SeparatorElem());
|
||||
|
||||
build_playlist_menu ();
|
||||
items.push_back (MenuElem (_("Playlist"), *playlist_action_menu));
|
||||
|
||||
route_group_menu->rebuild (_route->route_group ());
|
||||
items.push_back (MenuElem (_("Route Group"), *route_group_menu));
|
||||
|
||||
build_automation_action_menu ();
|
||||
items.push_back (MenuElem (_("Automation"), *automation_action_menu));
|
||||
|
||||
items.push_back (SeparatorElem());
|
||||
}
|
||||
|
||||
items.push_back (CheckMenuElem (_("Active"), sigc::mem_fun(*this, &RouteUI::toggle_route_active)));
|
||||
@ -1402,21 +1405,24 @@ struct PlaylistSorter {
|
||||
};
|
||||
|
||||
void
|
||||
RouteTimeAxisView::build_playlist_menu (Gtk::Menu * menu)
|
||||
RouteTimeAxisView::build_playlist_menu ()
|
||||
{
|
||||
using namespace Menu_Helpers;
|
||||
|
||||
if (!menu || !is_track()) {
|
||||
if (!is_track()) {
|
||||
return;
|
||||
}
|
||||
|
||||
MenuList& playlist_items = menu->items();
|
||||
menu->set_name ("ArdourContextMenu");
|
||||
delete playlist_action_menu;
|
||||
playlist_action_menu = new Menu;
|
||||
playlist_action_menu->set_name ("ArdourContextMenu");
|
||||
|
||||
MenuList& playlist_items = playlist_action_menu->items();
|
||||
playlist_action_menu->set_name ("ArdourContextMenu");
|
||||
playlist_items.clear();
|
||||
|
||||
delete playlist_menu;
|
||||
|
||||
|
||||
vector<boost::shared_ptr<Playlist> > playlists, playlists_tr;
|
||||
boost::shared_ptr<Track> tr = track();
|
||||
RadioMenuItem::Group playlist_group;
|
||||
|
@ -105,8 +105,7 @@ public:
|
||||
/* group playlist name resolving */
|
||||
std::string resolve_new_group_playlist_name(std::string &, std::vector<boost::shared_ptr<ARDOUR::Playlist> > const &);
|
||||
|
||||
|
||||
void build_playlist_menu (Gtk::Menu *);
|
||||
void build_playlist_menu ();
|
||||
|
||||
void add_underlay (StreamView*, bool update_xml = true);
|
||||
void remove_underlay (StreamView*);
|
||||
@ -172,7 +171,7 @@ protected:
|
||||
|
||||
void update_diskstream_display ();
|
||||
|
||||
gint edit_click (GdkEventButton *);
|
||||
gint route_group_click (GdkEventButton *);
|
||||
|
||||
void processors_changed (ARDOUR::RouteProcessorChange);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user