more ongoing SAE-driven changes (too many too list here)
[ardour.git] / gtk2_ardour / add_route_dialog.cc
index 85408ca692f38eeb0253571bdc9cf672e0c74b7b..f28acb4e1bf5829a7dcef58a5534e373f195f2f9 100644 (file)
@@ -15,7 +15,6 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
 #include <cstdio>
@@ -24,7 +23,9 @@
 #include <sigc++/bind.h>
 #include <gtkmm/stock.h>
 #include <pbd/error.h>
+#include <pbd/convert.h>
 #include <gtkmm2ext/utils.h>
+#include <ardour/profile.h>
 
 #include "utils.h"
 #include "add_route_dialog.h"
@@ -34,21 +35,22 @@ using namespace Gtk;
 using namespace Gtkmm2ext;
 using namespace sigc;
 using namespace std;
+using namespace PBD;
 
 static const char* channel_setup_names[] = {
-       "mono",
-       "stereo",
-       "3 channels",
-       "4 channels",
-       "5 channels",
-       "8 channels",
-       "manual setup",
+       N_("Mono"),
+       N_("Stereo"),
+       N_("3 Channels"),
+       N_("4 Channels"),
+       N_("6 Channels"),
+       N_("8 Channels"),
+       N_("Manual Setup"),
        0
 };
 
 static const char* track_mode_names[] = {
-       "normal",
-       "tape",
+       N_("Normal"),
+       N_("Tape"),
        0
 };
 
@@ -60,17 +62,24 @@ AddRouteDialog::AddRouteDialog ()
        : Dialog (_("ardour: add track/bus")),
          track_button (_("Tracks")),
          bus_button (_("Busses")),
-         routes_adjustment (1, 1, 32, 1, 4),
+         routes_adjustment (1, 1, 128, 1, 4),
          routes_spinner (routes_adjustment)
 {
        if (channel_combo_strings.empty()) {
-               channel_combo_strings = internationalize (channel_setup_names);
+               channel_combo_strings = I18N (channel_setup_names);
        }
 
        if (track_mode_strings.empty()) {
-               track_mode_strings = internationalize (track_mode_names);
-       }
+               track_mode_strings = I18N (track_mode_names);
+
+               if (ARDOUR::Profile->get_sae()) {
+                       /* remove all but the first track mode (Normal) */
 
+                       while (track_mode_strings.size() > 1) {
+                               track_mode_strings.pop_back();
+                       }
+               }
+       }
 
        set_name ("AddRouteDialog");
        set_wmclass (X_("ardour_add_track_bus"), "Ardour");
@@ -88,10 +97,13 @@ AddRouteDialog::AddRouteDialog ()
        HBox *hbrb = manage (new HBox);
 
        hbrb->set_spacing (6);
-       hbrb->pack_start (*(manage (new Label (_("Add")))), false, false);
-       hbrb->pack_start (routes_spinner, false, false);
-       hbrb->pack_start (track_button, false, false);
-       hbrb->pack_start (bus_button, false, false);
+       hbrb->pack_start (routes_spinner, true, false, 5);
+       hbrb->pack_start (track_button, true, false, 5);
+       hbrb->pack_start (bus_button, true, false, 5);
+
+       aframe.set_label (_("Add"));
+       aframe.set_shadow_type (SHADOW_IN);
+       aframe.add (*hbrb);
 
        set_popdown_strings (channel_combo, channel_combo_strings);
        set_popdown_strings (track_mode_combo, track_mode_strings);
@@ -110,19 +122,28 @@ AddRouteDialog::AddRouteDialog ()
        hbnt->pack_start (*(manage (new Label (_("Name (template)")))), false, false);
        hbnt->pack_start (name_template_entry, true, true);
 #endif
+       VBox *dvbox = manage (new VBox);
+       HBox *dhbox = manage (new HBox);
+
+        ccframe.set_label (_("Channel Configuration"));
+       ccframe.set_shadow_type (SHADOW_IN);
+
+       dvbox->pack_start (channel_combo, true, false, 5);
+       dvbox->pack_start (track_mode_combo, true, false, 5);
+       dhbox->pack_start (*dvbox, true, false, 5);
 
-       get_vbox()->pack_start (*hbrb, false, false);
-       get_vbox()->pack_start (*(manage (new Label ("Channel configuration"))), false, false);
-       get_vbox()->pack_start (channel_combo, false, false);
-       get_vbox()->pack_start (track_mode_combo, false, false, 10);
+       ccframe.add (*dhbox);
+
+       get_vbox()->pack_start (aframe, true, false, 10);
+       get_vbox()->pack_start (ccframe, true, false);
 #if NOT_USEFUL_YET
        get_vbox()->pack_start (*hbnt, false, false);
 #endif
 
        get_vbox()->show_all ();
 
-       add_button (Stock::OK, RESPONSE_ACCEPT);
        add_button (Stock::CANCEL, RESPONSE_CANCEL);
+       add_button (Stock::ADD, RESPONSE_ACCEPT);
 }
 
 AddRouteDialog::~AddRouteDialog ()
@@ -135,7 +156,7 @@ AddRouteDialog::track_type_chosen ()
        if (track_button.get_active()) {
                track_mode_combo.set_sensitive (true);
        } else {
-               track_mode_combo.set_sensitive (true);
+               track_mode_combo.set_sensitive (false);
        }
 }
 
@@ -161,9 +182,9 @@ ARDOUR::TrackMode
 AddRouteDialog::mode ()
 {
        Glib::ustring str = track_mode_combo.get_active_text();
-       if (str == _("normal")) {
+       if (str == _("Normal")) {
                return ARDOUR::Normal;
-       } else if (str == _("tape")) {
+       } else if (str == _("Tape")) {
                return ARDOUR::Destructive;
        } else {
                fatal << string_compose (X_("programming error: unknown track mode in add route dialog combo = %1"), str)
@@ -180,14 +201,14 @@ AddRouteDialog::channels ()
        string str = channel_combo.get_active_text();
        int chns;
 
-       if (str == _("mono")) {
+       if (str == _("Mono")) {
                return 1;
-       } else if (str == _("stereo")) {
+       } else if (str == _("Stereo")) {
                return 2;
-       } else if ((chns = atoi (str)) != 0) {
+       } else if ((chns = PBD::atoi (str)) != 0) {
                return chns;
-       } else {
-               return 0;
-       }
+       } 
+
+       return 0;
 }