diff options
author | nick_m <mainsbridge@gmail.com> | 2015-03-12 03:46:11 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-03-12 03:46:11 +1100 |
commit | 73d2d44652c5a39e1f213bdda7872b78d61648d3 (patch) | |
tree | 1bea009f06459a1bf7f62b1ba2b16772acb56302 /gtk2_ardour/add_route_dialog.cc | |
parent | 1644fc1068a5c28b78ba70078de3b9b5c7570f72 (diff) |
Add route dialog is never a transient window.
Fixes a hack where it's transient parent was used to give an order hint
(for the order key of any new tracks).
This commit adds a new combobox "insert_at" to let the user tell us
where they want new tracks to go.
Diffstat (limited to 'gtk2_ardour/add_route_dialog.cc')
-rw-r--r-- | gtk2_ardour/add_route_dialog.cc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 3b1cd47bfc..24e9ca81df 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -80,6 +80,12 @@ AddRouteDialog::AddRouteDialog () track_bus_combo.append_text (_("Busses")); track_bus_combo.set_active (0); + insert_at_combo.append_text (_("Editor Selection")); + insert_at_combo.append_text (_("Mixer Selection")); + insert_at_combo.append_text (_("End")); + + insert_at_combo.set_active (0); + VBox* vbox = manage (new VBox); Gtk::Label* l; @@ -151,6 +157,12 @@ AddRouteDialog::AddRouteDialog () table2->attach (route_group_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); ++n; + /* New route will be inserted at.. */ + l = manage (new Label (_("Insert at:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false)); + table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (insert_at_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); + ++n; + options_box->pack_start (*table2, false, true); vbox->pack_start (*options_box, false, true); @@ -538,6 +550,20 @@ AddRouteDialog::group_changed () } } +AddRouteDialog::InsertAt +AddRouteDialog::insert_at () +{ + std::string str = insert_at_combo.get_active_text(); + + if (str == _("Editor Selection")) { + return EditorSelection; + } else if (str == _("Mixer Selection")){ + return MixerSelection; + } + + return End; +} + bool AddRouteDialog::channel_separator (const Glib::RefPtr<Gtk::TreeModel> &, const Gtk::TreeModel::iterator &i) { |