X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fadd_route_dialog.cc;h=29ae5cb3f399d85c60d8080117428f7776a2ea18;hb=63cf87beb79270a55485f9b3ff344b234fb78545;hp=95ee556ebe6eb4aeef081c9cffad2ad351dc2d58;hpb=d22a0c4f5a1d843bbaa351e761bd79d2091d109a;p=ardour.git diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 95ee556ebe..29ae5cb3f3 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -130,27 +130,37 @@ AddRouteDialog::AddRouteDialog (Session* s) l->set_padding (8, 0); table2->attach (*l, 0, 1, 0, 3, Gtk::FILL, Gtk::FILL, 0, 0); + int n = 0; + + l = manage (new Label (_("Name:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false)); + table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (name_template_entry, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); + ++n; + /* Route configuration */ l = manage (new Label (_("Configuration:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false)); - table2->attach (*l, 1, 2, 0, 1, Gtk::FILL, Gtk::EXPAND, 0, 0); - table2->attach (channel_combo, 2, 3, 0, 1, Gtk::FILL, Gtk::EXPAND & Gtk::FILL, 0, 0); + table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (channel_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); + ++n; if (!ARDOUR::Profile->get_sae ()) { /* Track mode */ mode_label.set_alignment (Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER); - table2->attach (mode_label, 1, 2, 1, 2, Gtk::FILL, Gtk::EXPAND, 0, 0); - table2->attach (mode_combo, 2, 3, 1, 2, Gtk::FILL, Gtk::EXPAND & Gtk::FILL, 0, 0); + table2->attach (mode_label, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (mode_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); + ++n; } /* Group choice */ l = manage (new Label (_("Group:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false)); - table2->attach (*l, 1, 2, 2, 3, Gtk::FILL, Gtk::EXPAND, 0, 0); - table2->attach (route_group_combo, 2, 3, 2, 3, Gtk::FILL, Gtk::EXPAND & Gtk::FILL, 0, 0); + table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (route_group_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); @@ -158,6 +168,7 @@ AddRouteDialog::AddRouteDialog (Session* s) get_vbox()->pack_start (*vbox, false, false); track_bus_combo.signal_changed().connect (sigc::mem_fun (*this, &AddRouteDialog::track_type_chosen)); + channel_combo.signal_changed().connect (sigc::mem_fun (*this, &AddRouteDialog::maybe_update_name_template_entry)); channel_combo.set_row_separator_func (sigc::mem_fun (*this, &AddRouteDialog::channel_separator)); route_group_combo.set_row_separator_func (sigc::mem_fun (*this, &AddRouteDialog::route_separator)); route_group_combo.signal_changed ().connect (sigc::mem_fun (*this, &AddRouteDialog::group_changed)); @@ -179,18 +190,34 @@ AddRouteDialog::~AddRouteDialog () } void -AddRouteDialog::track_type_chosen () +AddRouteDialog::maybe_update_name_template_entry () { - if (track()) { - mode_label.set_text (_("Track mode:")); - set_popdown_strings (mode_combo, track_mode_strings); - mode_combo.set_sensitive (true); - mode_combo.set_active_text (track_mode_strings.front()); + if ( + name_template_entry.get_text() != "" && + name_template_entry.get_text() != _("Audio") && + name_template_entry.get_text() != _("MIDI") && + name_template_entry.get_text() != _("Bus")) { + return; + } + + if (track ()) { + if (type () == DataType::MIDI) { + name_template_entry.set_text (_("MIDI")); + } else { + name_template_entry.set_text (_("Audio")); + } } else { - mode_combo.set_sensitive (false); + name_template_entry.set_text (_("Bus")); } } +void +AddRouteDialog::track_type_chosen () +{ + mode_combo.set_sensitive (track ()); + maybe_update_name_template_entry (); +} + bool AddRouteDialog::track () { @@ -378,11 +405,11 @@ void AddRouteDialog::refill_route_groups () { route_group_combo.clear (); - route_group_combo.append_text (_("New group...")); + route_group_combo.append_text (_("New Group...")); route_group_combo.append_text ("separator"); - route_group_combo.append_text (_("No group")); + route_group_combo.append_text (_("No Group")); _session->foreach_route_group (sigc::mem_fun (*this, &AddRouteDialog::add_route_group)); @@ -392,7 +419,7 @@ AddRouteDialog::refill_route_groups () void AddRouteDialog::group_changed () { - if (_session && route_group_combo.get_active_text () == _("New group...")) { + if (_session && route_group_combo.get_active_text () == _("New Group...")) { RouteGroup* g = new RouteGroup (*_session, ""); PropertyList plist;