diff options
author | nick_m <mainsbridge@gmail.com> | 2015-03-16 04:01:30 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-03-16 04:01:30 +1100 |
commit | 135e865302b5cd20a6cb0a0a4aaa682f839ffe67 (patch) | |
tree | 608cbb71aec4de5f6d2acc11f3fbec1a036de6c5 /gtk2_ardour/ardour_ui.cc | |
parent | a5db1d588e6bc61c26bd7d24530feeeb0283e95f (diff) |
Add route dialog order hint changes.
Add an option to insert new routes at the top of the list ("First").
Reorder/rename the entries in the dialog.
Session's _order_hint is now the signed int it always wanted to be.
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index f94a68d759..fee23d9d13 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -3458,6 +3458,8 @@ ARDOUR_UI::setup_order_hint (AddRouteDialog::InsertAt place) if (!mixer->selection().routes.empty()) { order_hint++; + } else { + return; } } else if (place == AddRouteDialog::EditorSelection){ @@ -3470,29 +3472,32 @@ ARDOUR_UI::setup_order_hint (AddRouteDialog::InsertAt place) if (!editor->get_selection().tracks.empty()) { order_hint++; + } else { + return; } + + } else if (place == AddRouteDialog::First) { + order_hint = 0; } else { - /** AddRouteDialog::End - * an order hint of '0' means place new routes at the end. - * do nothing + /** AddRouteDialog::Last + * not setting an order hint will place new routes last. */ + return; } _session->set_order_hint (order_hint); /* create a gap in the existing route order keys to accomodate new routes.*/ - if (order_hint != 0) { - boost::shared_ptr <RouteList> rd = _session->get_routes(); - for (RouteList::iterator ri = rd->begin(); ri != rd->end(); ++ri) { - boost::shared_ptr<Route> rt (*ri); + boost::shared_ptr <RouteList> rd = _session->get_routes(); + for (RouteList::iterator ri = rd->begin(); ri != rd->end(); ++ri) { + boost::shared_ptr<Route> rt (*ri); - if (rt->is_monitor()) { - continue; - } + if (rt->is_monitor()) { + continue; + } - if (rt->order_key () >= order_hint) { - rt->set_order_key (rt->order_key () + add_route_dialog->count()); - } + if (rt->order_key () >= order_hint) { + rt->set_order_key (rt->order_key () + add_route_dialog->count()); } } } |