summaryrefslogtreecommitdiff
path: root/gtk2_ardour/add_route_dialog.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-03-12 03:46:11 +1100
committernick_m <mainsbridge@gmail.com>2015-03-12 03:46:11 +1100
commit73d2d44652c5a39e1f213bdda7872b78d61648d3 (patch)
tree1bea009f06459a1bf7f62b1ba2b16772acb56302 /gtk2_ardour/add_route_dialog.cc
parent1644fc1068a5c28b78ba70078de3b9b5c7570f72 (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.cc26
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)
{